blob: b05afe9d473ac1d24342204e2bee7967e9c07d70 [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 }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080031 .entry_cont { background-color: #f0f0f0 }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070032 .entries_header { background-color: #dddddd; text-align: center}
33
34 /* toc style */
35 .toc_section_header { font-size:1.3em; }
36 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080037
38 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070039 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
40 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080041 .th_name { width: 20% }
42 .th_units { width: 10% }
43 .th_tags { width: 5% }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080044 .th_details { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080045 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070046 .th_description { width: 20% }
47 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080048 td { font-size: 0.9em; }
49
50 /* hide the first thead, we need it there only to enforce column sizes */
51 .thead_dummy { visibility: hidden; }
52
53 /* Entry flair */
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080054 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; vertical-align:top; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080055
56 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070057 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
58 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
59 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080060 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
61 .entry_type_enum_notes:before { content:" - " }
Igor Murashkina10351a2014-01-15 17:05:22 -080062 .entry_type_enum_notes>p:first-child { display:inline; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080063 .entry_type_enum_value:before { content:" = " }
64 .entry_type_enum_value { font-family: monospace; }
65 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
66 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
67
68 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080071 /* Entry details (full docs) flair */
72 .entry_details_header { font-weight: bold; background-color: #dddddd;
73 text-align: center; font-size: 1.1em; margin-left: 0em; margin-right: 0em; }
74
75 /* Entry spacer flair */
76 .entry_spacer { background-color: transparent; border-style: none; height: 0.5em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080077
78 /* TODO: generate abbr element for each tag link? */
79 /* TODO for each x.y.z try to link it to the entry */
80
81 </style>
82
83 <style>
84
85 {
86 /* broken...
87 supposedly there is a bug in chrome that it lays out tables before
88 it knows its being printed, so the page-break-* styles are ignored
89 */
90 tr { page-break-after: always; page-break-inside: avoid; }
91 }
92
93 </style>
94</head>
95
96
97
Igor Murashkin08b8aad2012-11-29 15:23:03 -080098<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070099 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700101
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800102 <h2>Table of Contents</h2>
103 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700104 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
105 <li>
106 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
107 <ul class="toc_section">
108 <li>
109 <span class="toc_kind_header">controls</span>
110 <ul class="toc_section">
111 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
112 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700114 </ul>
115 </li>
116 <li>
117 <span class="toc_kind_header">dynamic</span>
118 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700119 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
120 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700121 </ul>
122 </li>
123 </ul> <!-- toc_section -->
124 </li>
125 <li>
126 <span class="toc_section_header"><a href="#section_control">control</a></span>
127 <ul class="toc_section">
128 <li>
129 <span class="toc_kind_header">controls</span>
130 <ul class="toc_section">
131 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
132 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
133 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
134 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
135 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
136 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
137 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
138 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
139 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
140 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
141 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
142 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
143 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
144 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
145 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
146 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
147 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
148 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
149 </ul>
150 </li>
151 <li>
152 <span class="toc_kind_header">static</span>
153 <ul class="toc_section">
154 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
155 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
156 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
157 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
158 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
159 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
160 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
161 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
162 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
163 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
164 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
165 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
166 </ul>
167 </li>
168 <li>
169 <span class="toc_kind_header">dynamic</span>
170 <ul class="toc_section">
171 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -0800172 <li><a href="#dynamic_android.control.aeMode">android.control.aeMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700173 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
174 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
175 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
176 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
177 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
178 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
179 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
180 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
181 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
182 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
183 </ul>
184 </li>
185 </ul> <!-- toc_section -->
186 </li>
187 <li>
188 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
189 <ul class="toc_section">
190 <li>
191 <span class="toc_kind_header">controls</span>
192 <ul class="toc_section">
193 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
194 </ul>
195 </li>
196 </ul> <!-- toc_section -->
197 </li>
198 <li>
199 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
200 <ul class="toc_section">
201 <li>
202 <span class="toc_kind_header">controls</span>
203 <ul class="toc_section">
204 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
205 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
206 </ul>
207 </li>
208 <li>
209 <span class="toc_kind_header">dynamic</span>
210 <ul class="toc_section">
211 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
212 </ul>
213 </li>
214 </ul> <!-- toc_section -->
215 </li>
216 <li>
217 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
218 <ul class="toc_section">
219 <li>
220 <span class="toc_kind_header">controls</span>
221 <ul class="toc_section">
222 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
223 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
224 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
225 </ul>
226 </li>
227 <li>
228 <span class="toc_kind_header">static</span>
229 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700231 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
232 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700234 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
235 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
236 </ul>
237 </li>
238 <li>
239 <span class="toc_kind_header">dynamic</span>
240 <ul class="toc_section">
241 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
242 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
243 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
244 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
245 </ul>
246 </li>
247 </ul> <!-- toc_section -->
248 </li>
249 <li>
250 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
251 <ul class="toc_section">
252 <li>
253 <span class="toc_kind_header">controls</span>
254 <ul class="toc_section">
255 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
256 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
257 </ul>
258 </li>
259 </ul> <!-- toc_section -->
260 </li>
261 <li>
262 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
263 <ul class="toc_section">
264 <li>
265 <span class="toc_kind_header">controls</span>
266 <ul class="toc_section">
267 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
268 </ul>
269 </li>
270 <li>
271 <span class="toc_kind_header">static</span>
272 <ul class="toc_section">
273
274 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
275
276 </ul>
277 </li>
278 <li>
279 <span class="toc_kind_header">dynamic</span>
280 <ul class="toc_section">
281 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
282 </ul>
283 </li>
284 </ul> <!-- toc_section -->
285 </li>
286 <li>
287 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
288 <ul class="toc_section">
289 <li>
290 <span class="toc_kind_header">controls</span>
291 <ul class="toc_section">
292 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
293 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
294 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
295 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
296 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
297 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
298 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">static</span>
303 <ul class="toc_section">
304 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
305 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
306 </ul>
307 </li>
308 <li>
309 <span class="toc_kind_header">dynamic</span>
310 <ul class="toc_section">
311 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
312 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
313 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
314 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
315 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
316 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
317 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
318 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
319 </ul>
320 </li>
321 </ul> <!-- toc_section -->
322 </li>
323 <li>
324 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
325 <ul class="toc_section">
326 <li>
327 <span class="toc_kind_header">controls</span>
328 <ul class="toc_section">
329 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
330 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
331 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
332 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
333 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
334 </ul>
335 </li>
336 <li>
337 <span class="toc_kind_header">static</span>
338 <ul class="toc_section">
339
340 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
341 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
342 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
343 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
344 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
345 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
346 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
347 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700348 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
349
350 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
351 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
352 <li><a href="#static_android.lens.position">android.lens.position</a></li>
353 </ul>
354 </li>
355 <li>
356 <span class="toc_kind_header">dynamic</span>
357 <ul class="toc_section">
358 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
359 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
360 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
361 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
362 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
363 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
364 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
365 </ul>
366 </li>
367 </ul> <!-- toc_section -->
368 </li>
369 <li>
370 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
371 <ul class="toc_section">
372 <li>
373 <span class="toc_kind_header">controls</span>
374 <ul class="toc_section">
375 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
377 </ul>
378 </li>
379 <li>
380 <span class="toc_kind_header">dynamic</span>
381 <ul class="toc_section">
382 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
383 </ul>
384 </li>
385 </ul> <!-- toc_section -->
386 </li>
387 <li>
388 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
389 <ul class="toc_section">
390 <li>
391 <span class="toc_kind_header">static</span>
392 <ul class="toc_section">
393 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
394 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
395 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700396 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
397 </ul>
398 </li>
399 <li>
400 <span class="toc_kind_header">dynamic</span>
401 <ul class="toc_section">
402 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700403 </ul>
404 </li>
405 </ul> <!-- toc_section -->
406 </li>
407 <li>
408 <span class="toc_section_header"><a href="#section_request">request</a></span>
409 <ul class="toc_section">
410 <li>
411 <span class="toc_kind_header">controls</span>
412 <ul class="toc_section">
413 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
414 <li><a href="#controls_android.request.id">android.request.id</a></li>
415 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
416 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
417 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
418 <li><a href="#controls_android.request.type">android.request.type</a></li>
419 </ul>
420 </li>
421 <li>
422 <span class="toc_kind_header">static</span>
423 <ul class="toc_section">
424 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
425 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
426 </ul>
427 </li>
428 <li>
429 <span class="toc_kind_header">dynamic</span>
430 <ul class="toc_section">
431 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
432 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
433 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
434 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
435 </ul>
436 </li>
437 </ul> <!-- toc_section -->
438 </li>
439 <li>
440 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
441 <ul class="toc_section">
442 <li>
443 <span class="toc_kind_header">controls</span>
444 <ul class="toc_section">
445 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
446 </ul>
447 </li>
448 <li>
449 <span class="toc_kind_header">static</span>
450 <ul class="toc_section">
451 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
452 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
453 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
454 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
455 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
456 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
457 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
458 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
459 </ul>
460 </li>
461 <li>
462 <span class="toc_kind_header">dynamic</span>
463 <ul class="toc_section">
464 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
465 </ul>
466 </li>
467 </ul> <!-- toc_section -->
468 </li>
469 <li>
470 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
471 <ul class="toc_section">
472 <li>
473 <span class="toc_kind_header">controls</span>
474 <ul class="toc_section">
475 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
476 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
477 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
478 </ul>
479 </li>
480 <li>
481 <span class="toc_kind_header">static</span>
482 <ul class="toc_section">
483
484 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700485 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700486 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
487 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
488 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
489 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
490 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
491 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
492
493 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
494 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
495 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
496 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
497 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
498 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
499 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
500 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
501 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
502 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
503 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
504 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
505 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
506 </ul>
507 </li>
508 <li>
509 <span class="toc_kind_header">dynamic</span>
510 <ul class="toc_section">
511 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
512 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
513 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
514 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700515 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700516 </ul>
517 </li>
518 </ul> <!-- toc_section -->
519 </li>
520 <li>
521 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
522 <ul class="toc_section">
523 <li>
524 <span class="toc_kind_header">controls</span>
525 <ul class="toc_section">
526 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
527 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
528 </ul>
529 </li>
530 <li>
531 <span class="toc_kind_header">dynamic</span>
532 <ul class="toc_section">
533 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
534 </ul>
535 </li>
536 </ul> <!-- toc_section -->
537 </li>
538 <li>
539 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
540 <ul class="toc_section">
541 <li>
542 <span class="toc_kind_header">controls</span>
543 <ul class="toc_section">
544 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
545 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
546 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700547 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700548 </ul>
549 </li>
550 <li>
551 <span class="toc_kind_header">static</span>
552 <ul class="toc_section">
553
554 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
555 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
556 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
557 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
558 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
559 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
560
561 </ul>
562 </li>
563 <li>
564 <span class="toc_kind_header">dynamic</span>
565 <ul class="toc_section">
566 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
567 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
568 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
569 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
570 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
571 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
572 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
573 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
574 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700575 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
576 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
577 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
578 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700579 </ul>
580 </li>
581 </ul> <!-- toc_section -->
582 </li>
583 <li>
584 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
585 <ul class="toc_section">
586 <li>
587 <span class="toc_kind_header">controls</span>
588 <ul class="toc_section">
589 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
590 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
591 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
592 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
593 </ul>
594 </li>
595 <li>
596 <span class="toc_kind_header">static</span>
597 <ul class="toc_section">
598 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
599 </ul>
600 </li>
601 <li>
602 <span class="toc_kind_header">dynamic</span>
603 <ul class="toc_section">
604 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
605 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
606 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
607 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
608 </ul>
609 </li>
610 </ul> <!-- toc_section -->
611 </li>
612 <li>
613 <span class="toc_section_header"><a href="#section_led">led</a></span>
614 <ul class="toc_section">
615 <li>
616 <span class="toc_kind_header">controls</span>
617 <ul class="toc_section">
618 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
619 </ul>
620 </li>
621 <li>
622 <span class="toc_kind_header">dynamic</span>
623 <ul class="toc_section">
624 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
625 </ul>
626 </li>
627 <li>
628 <span class="toc_kind_header">static</span>
629 <ul class="toc_section">
630 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
631 </ul>
632 </li>
633 </ul> <!-- toc_section -->
634 </li>
635 <li>
636 <span class="toc_section_header"><a href="#section_info">info</a></span>
637 <ul class="toc_section">
638 <li>
639 <span class="toc_kind_header">static</span>
640 <ul class="toc_section">
641 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
642 </ul>
643 </li>
644 </ul> <!-- toc_section -->
645 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700646 <li>
647 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
648 <ul class="toc_section">
649 <li>
650 <span class="toc_kind_header">controls</span>
651 <ul class="toc_section">
652 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
653 </ul>
654 </li>
655 <li>
656 <span class="toc_kind_header">dynamic</span>
657 <ul class="toc_section">
658 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
659 </ul>
660 </li>
661 </ul> <!-- toc_section -->
662 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800663 </ul>
664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700665
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800666 <h1>Properties</h1>
667 <table class="properties">
668
669 <thead class="thead_dummy">
670 <tr>
671 <th class="th_name">Property Name</th>
672 <th class="th_type">Type</th>
673 <th class="th_description">Description</th>
674 <th class="th_units">Units</th>
675 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800676 <th class="th_tags">Tags</th>
677 </tr>
678 </thead> <!-- so that the first occurrence of thead is not
679 above the first occurrence of tr -->
680<!-- <namespace name="android"> -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800681 <tr><td colspan="6" id="section_colorCorrection" class="section">colorCorrection</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800682
683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800684 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700686 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800687 <tr>
688 <th class="th_name">Property Name</th>
689 <th class="th_type">Type</th>
690 <th class="th_description">Description</th>
691 <th class="th_units">Units</th>
692 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800693 <th class="th_tags">Tags</th>
694 </tr>
695 </thead>
696
697 <tbody>
698
699
700
701
702
703
704
705
706
707
708 <tr class="entry" id="controls_android.colorCorrection.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800709 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800710 android.<wbr/>color<wbr/>Correction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800711 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800712 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800713 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800714
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700715 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800716
717 <ul class="entry_type_enum">
718 <li>
719 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800720 <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
Igor Murashkin43817ad2014-01-10 15:58:35 -0800721and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
722<p>All advanced white balance adjustments (not specified
723by our white balance pipeline) must be disabled.<wbr/></p>
724<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
725TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
726this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800727 </li>
728 <li>
729 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800730 <span class="entry_type_enum_notes"><p>Must not slow down capture rate relative to sensor raw
731output.<wbr/></p>
732<p>Advanced white balance adjustments above and beyond
733the specified white balance pipeline may be applied.<wbr/></p>
734<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
735the camera device uses the last frame's AWB values
736(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800737 </li>
738 <li>
739 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800740 <span class="entry_type_enum_notes"><p>Capture rate (relative to sensor raw output)
741may be reduced by high quality.<wbr/></p>
742<p>Advanced white balance adjustments above and beyond
743the specified white balance pipeline may be applied.<wbr/></p>
744<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
745the camera device uses the last frame's AWB values
746(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 </li>
748 </ul>
749
750 </td> <!-- entry_type -->
751
752 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800753 <p>The mode control selects how the image data is converted from the
754sensor's native color into linear sRGB color.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800755 </td>
756
757 <td class="entry_units">
758 </td>
759
760 <td class="entry_range">
761 </td>
762
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800763 <td class="entry_tags">
764 </td>
765
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800766 </tr>
767 <tr class="entries_header">
768 <th class="th_details" colspan="5">Details</th>
769 </tr>
770 <tr class="entry_cont">
771 <td class="entry_details" colspan="5">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800772 <p>When auto-white balance is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
773control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
774application controls how the color mapping is performed.<wbr/></p>
775<p>We define the expected processing pipeline below.<wbr/> For consistency
776across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
777<p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
778do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
779<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
780camera device (in the results) and be roughly correct.<wbr/></p>
781<p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
782FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
783as what was produced by the camera device in the earlier frame.<wbr/></p>
784<p>The expected processing pipeline is as follows:</p>
785<p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
786<p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
787gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
788matrix (applied after demosaic).<wbr/></p>
789<p>The 4-channel white-balance gains are defined as:</p>
790<pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
791</code></pre>
792<p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
793output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
794These may be identical for a given camera device implementation; if
795the camera device does not support a separate gain for even/<wbr/>odd green
796channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
797<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
798<p>The matrices for color transforms are defined as a 9-entry vector:</p>
799<pre><code><a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> = [ I0 I1 I2 I3 I4 I5 I6 I7 I8 ]
800</code></pre>
801<p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
802to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
803<p>with colors as follows:</p>
804<pre><code>r' = I0r + I1g + I2b
805g' = I3r + I4g + I5b
806b' = I6r + I7g + I8b
807</code></pre>
808<p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
809values are clipped to fit within the range.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800810 </td>
811 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800812
813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800814 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
815 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800816
817
818 <tr class="entry" id="controls_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800819 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800820 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800821 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800822 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700823 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800824 <span class="entry_type_container">x</span>
825
826 <span class="entry_type_array">
827 3 x 3
828 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700829 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800830 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831
832
833 </td> <!-- entry_type -->
834
835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800836 <p>A color transform matrix to use to transform
837from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800838 </td>
839
840 <td class="entry_units">
841 </td>
842
843 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800844 <p>Output values are expected to be in the range
845(0,<wbr/>1)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800846 </td>
847
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800848 <td class="entry_tags">
849 </td>
850
851 </tr>
852 <tr class="entries_header">
853 <th class="th_details" colspan="5">Details</th>
854 </tr>
855 <tr class="entry_cont">
856 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800857 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800858<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800859directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800860<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -0800861<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800862for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800863reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700864 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800865 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800866
867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800868 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
869 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870
871
872 <tr class="entry" id="controls_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800874 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800875 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700876 <td class="entry_type">
877 <span class="entry_type_name">float</span>
878 <span class="entry_type_container">x</span>
879
880 <span class="entry_type_array">
881 4
882 </span>
883 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800884 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700885
886
887 </td> <!-- entry_type -->
888
889 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800890 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -0800891white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700892 </td>
893
894 <td class="entry_units">
895 </td>
896
897 <td class="entry_range">
898 </td>
899
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800900 <td class="entry_tags">
901 </td>
902
903 </tr>
904 <tr class="entries_header">
905 <th class="th_details" colspan="5">Details</th>
906 </tr>
907 <tr class="entry_cont">
908 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800909 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -0800910the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
911for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
912is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -0800913does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800914it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
915<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800916<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800917<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800918directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800919<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800920<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -0800921the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800922 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800923 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800924
925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800926 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
927 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800928
929
930
931 <!-- end of kind -->
932 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800933 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700935 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800936 <tr>
937 <th class="th_name">Property Name</th>
938 <th class="th_type">Type</th>
939 <th class="th_description">Description</th>
940 <th class="th_units">Units</th>
941 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800942 <th class="th_tags">Tags</th>
943 </tr>
944 </thead>
945
946 <tbody>
947
948
949
950
951
952
953
954
955
956
Zhijun He69fc0ea2013-07-17 09:42:58 -0700957 <tr class="entry" id="dynamic_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800958 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800959 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800961 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700962 <span class="entry_type_name">rational</span>
963 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800964
Zhijun He69fc0ea2013-07-17 09:42:58 -0700965 <span class="entry_type_array">
966 3 x 3
967 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700968 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800969 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800970
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800971
972 </td> <!-- entry_type -->
973
974 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800975 <p>A color transform matrix to use to transform
976from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700977 </td>
978
979 <td class="entry_units">
980 </td>
981
982 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800983 <p>Output values are expected to be in the range
984(0,<wbr/>1)</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700985 </td>
986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800987 <td class="entry_tags">
988 </td>
989
990 </tr>
991 <tr class="entries_header">
992 <th class="th_details" colspan="5">Details</th>
993 </tr>
994 <tr class="entry_cont">
995 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800996 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800997<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800998directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800999<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08001000<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001001for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -08001002reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001003 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001004 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001005
1006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001007 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1008 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -07001009
1010
1011 <tr class="entry" id="dynamic_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001012 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001013 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001014 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001015 <td class="entry_type">
1016 <span class="entry_type_name">float</span>
1017 <span class="entry_type_container">x</span>
1018
1019 <span class="entry_type_array">
1020 4
1021 </span>
1022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08001023 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001024
1025
1026 </td> <!-- entry_type -->
1027
1028 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -08001029 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -08001030white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001031 </td>
1032
1033 <td class="entry_units">
1034 </td>
1035
1036 <td class="entry_range">
1037 </td>
1038
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001039 <td class="entry_tags">
1040 </td>
1041
1042 </tr>
1043 <tr class="entries_header">
1044 <th class="th_details" colspan="5">Details</th>
1045 </tr>
1046 <tr class="entry_cont">
1047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001048 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -08001049the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
1050for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
1051is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -08001052does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001053it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
1054<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001055<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001056<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001057directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001058<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001059<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -08001060the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001061 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001062 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001063
1064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001065 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1066 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067
1068
1069
1070 <!-- end of kind -->
1071 </tbody>
1072
1073 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001074 <tr><td colspan="6" id="section_control" class="section">control</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001075
1076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001077 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001079 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001080 <tr>
1081 <th class="th_name">Property Name</th>
1082 <th class="th_type">Type</th>
1083 <th class="th_description">Description</th>
1084 <th class="th_units">Units</th>
1085 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001086 <th class="th_tags">Tags</th>
1087 </tr>
1088 </thead>
1089
1090 <tbody>
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101 <tr class="entry" id="controls_android.control.aeAntibandingMode">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001102 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001103 android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001104 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001105 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001106 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001108 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001109
1110 <ul class="entry_type_enum">
1111 <li>
1112 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001113 <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
1114avoid banding problems.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001115 </li>
1116 <li>
1117 <span class="entry_type_enum_name">50HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001118 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1119avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001120 </li>
1121 <li>
1122 <span class="entry_type_enum_name">60HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001123 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1124avoid banding problems with 60Hz illumination
1125sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001126 </li>
1127 <li>
1128 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001129 <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
1130antibanding routine to the current illumination
1131conditions.<wbr/> This is the default.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132 </li>
1133 </ul>
1134
1135 </td> <!-- entry_type -->
1136
1137 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001138 <p>The desired setting for the camera device's auto-exposure
1139algorithm's antibanding compensation.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </td>
1141
1142 <td class="entry_units">
1143 </td>
1144
1145 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001146 <p><a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001147 </td>
1148
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001149 <td class="entry_tags">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001150 <ul class="entry_tags">
1151 <li><a href="#tag_BC">BC</a></li>
1152 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001153 </td>
1154
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001155 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001156 <tr class="entries_header">
1157 <th class="th_details" colspan="5">Details</th>
1158 </tr>
1159 <tr class="entry_cont">
1160 <td class="entry_details" colspan="5">
1161 <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
1162lights,<wbr/> flicker at the rate of the power supply frequency
1163(60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
1164typically not noticeable to a person,<wbr/> it can be visible to
1165a camera device.<wbr/> If a camera sets its exposure time to the
1166wrong value,<wbr/> the flicker may become visible in the
1167viewfinder as flicker or in a final captured image,<wbr/> as a
1168set of variable-brightness bands across the image.<wbr/></p>
1169<p>Therefore,<wbr/> the auto-exposure routines of camera devices
1170include antibanding routines that ensure that the chosen
1171exposure value will not cause such banding.<wbr/> The choice of
1172exposure time depends on the rate of flicker,<wbr/> which the
1173camera device can detect automatically,<wbr/> or the expected
1174rate can be selected by the application using this
1175control.<wbr/></p>
1176<p>A given camera device may not support all of the possible
1177options for the antibanding mode.<wbr/> The
1178<a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
1179the available modes for a given camera device.<wbr/></p>
1180<p>The default mode is AUTO,<wbr/> which must be supported by all
1181camera devices.<wbr/></p>
1182<p>If manual exposure control is enabled (by setting
1183<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1184then this setting has no effect,<wbr/> and the application must
1185ensure it selects exposure times that do not cause banding
1186issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
1187the application in this.<wbr/></p>
1188 </td>
1189 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001190
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001191 <tr class="entries_header">
1192 <th class="th_details" colspan="5">HAL Implementation Details</th>
1193 </tr>
1194 <tr class="entry_cont">
1195 <td class="entry_details" colspan="5">
1196 <p>For all capture request templates,<wbr/> this field must be set
1197to AUTO.<wbr/> AUTO is the only mode that must supported;
1198OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
1199<p>If manual exposure control is enabled (by setting
1200<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1201then the exposure values provided by the application must not be
1202adjusted for antibanding.<wbr/></p>
1203 </td>
1204 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001205
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001206 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1207 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001208
1209
1210 <tr class="entry" id="controls_android.control.aeExposureCompensation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001211 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001212 android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001213 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001214 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001215 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001216
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001217 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001218
1219
1220 </td> <!-- entry_type -->
1221
1222 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001223 <p>Adjustment to AE target image
1224brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001225 </td>
1226
1227 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08001228 count of positive/<wbr/>negative EV steps
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001229 </td>
1230
1231 <td class="entry_range">
1232 </td>
1233
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001234 <td class="entry_tags">
1235 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001236 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001237 </ul>
1238 </td>
1239
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001240 </tr>
1241 <tr class="entries_header">
1242 <th class="th_details" colspan="5">Details</th>
1243 </tr>
1244 <tr class="entry_cont">
1245 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001246 <p>For example,<wbr/> if EV step is 0.<wbr/>333,<wbr/> '6' will mean an
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001247exposure compensation of +2 EV; -3 will mean an exposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001248compensation of -1</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001249 </td>
1250 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001251
1252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001253 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1254 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001255
1256
1257 <tr class="entry" id="controls_android.control.aeLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001258 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001259 android.<wbr/>control.<wbr/>ae<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001260 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001262 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001263
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001264 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001265
1266 <ul class="entry_type_enum">
1267 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001268 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001269 <span class="entry_type_enum_notes"><p>Autoexposure lock is disabled; the AE algorithm
1270is free to update its parameters.<wbr/></p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001271 </li>
1272 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001273 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001274 <span class="entry_type_enum_notes"><p>Autoexposure lock is enabled; the AE algorithm
1275must not update the exposure and sensitivity parameters
1276while the lock is active</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001277 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001278 </ul>
1279
1280 </td> <!-- entry_type -->
1281
1282 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001283 <p>Whether AE is currently locked to its latest
1284calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001285 </td>
1286
1287 <td class="entry_units">
1288 </td>
1289
1290 <td class="entry_range">
1291 </td>
1292
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001293 <td class="entry_tags">
1294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001295 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001296 </ul>
1297 </td>
1298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001299 </tr>
1300 <tr class="entries_header">
1301 <th class="th_details" colspan="5">Details</th>
1302 </tr>
1303 <tr class="entry_cont">
1304 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001305 <p>Note that even when AE is locked,<wbr/> the flash may be
1306fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
1307ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001308 </td>
1309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001310
1311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001314
1315
1316 <tr class="entry" id="controls_android.control.aeMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001317 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001318 android.<wbr/>control.<wbr/>ae<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001324
1325 <ul class="entry_type_enum">
1326 <li>
1327 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001328 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
1329the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1330<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
1331<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
1332device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
1333a flash unit for this camera device.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001334 </li>
1335 <li>
1336 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001337 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
1338with no flash control.<wbr/> The application's values for
1339<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1340<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1341<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
1342application has control over the various
1343android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 </li>
1345 <li>
1346 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001347 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1348the camera's flash unit,<wbr/> firing it in low-light
1349conditions.<wbr/> The flash may be fired during a
1350precapture sequence (triggered by
1351<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
1352for captures for which the
1353<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1354STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001355 </li>
1356 <li>
1357 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001358 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1359the camera's flash unit,<wbr/> always firing it for still
1360captures.<wbr/> The flash may be fired during a precapture
1361sequence (triggered by
1362<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
1363be fired for captures for which the
1364<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1365STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001366 </li>
1367 <li>
1368 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001369 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
1370reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
1371a red eye reduction flash will fire during the
1372precapture sequence.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001373 </li>
1374 </ul>
1375
1376 </td> <!-- entry_type -->
1377
1378 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001379 <p>The desired mode for the camera device's
1380auto-exposure routine.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 </td>
1382
1383 <td class="entry_units">
1384 </td>
1385
1386 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001387 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001388 </td>
1389
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001390 <td class="entry_tags">
1391 <ul class="entry_tags">
1392 <li><a href="#tag_BC">BC</a></li>
1393 </ul>
1394 </td>
1395
1396 </tr>
1397 <tr class="entries_header">
1398 <th class="th_details" colspan="5">Details</th>
1399 </tr>
1400 <tr class="entry_cont">
1401 <td class="entry_details" colspan="5">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001402 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
1403AUTO.<wbr/></p>
1404<p>When set to any of the ON modes,<wbr/> the camera device's
1405auto-exposure routine is enabled,<wbr/> overriding the
1406application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
1407and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1408<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1409<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
1410is selected,<wbr/> the camera device's flash unit controls are
1411also overridden.<wbr/></p>
1412<p>The FLASH modes are only available if the camera device
1413has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
1414<p>If flash TORCH mode is desired,<wbr/> this field must be set to
1415ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
1416<p>When set to any of the ON modes,<wbr/> the values chosen by the
1417camera device auto-exposure routine for the overridden
1418fields for a given capture will be available in its
1419CaptureResult.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001420 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001421 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001422
1423
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001424 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1425 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001426
1427
1428 <tr class="entry" id="controls_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001429 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001430 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001431 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001432 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001433 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001434 <span class="entry_type_container">x</span>
1435
1436 <span class="entry_type_array">
1437 5 x area_count
1438 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001439 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001440
1441
1442 </td> <!-- entry_type -->
1443
1444 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001445 <p>List of areas to use for
1446metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001447 </td>
1448
1449 <td class="entry_units">
1450 </td>
1451
1452 <td class="entry_range">
1453 </td>
1454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001455 <td class="entry_tags">
1456 <ul class="entry_tags">
1457 <li><a href="#tag_BC">BC</a></li>
1458 </ul>
1459 </td>
1460
1461 </tr>
1462 <tr class="entries_header">
1463 <th class="th_details" colspan="5">Details</th>
1464 </tr>
1465 <tr class="entry_cont">
1466 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001467 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1468xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1469specified coordinates.<wbr/></p>
1470<p>The coordinate system is based on the active pixel array,<wbr/>
1471with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001472(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1473<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001474bottom-right pixel in the active pixel array.<wbr/> The weight
1475should be nonnegative.<wbr/></p>
1476<p>If all regions have 0 weight,<wbr/> then no specific metering area
1477needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001478outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001479should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001480used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001481 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001482 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001483
1484
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001485 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1486 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001487
1488
1489 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001490 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001491 android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001492 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001493 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001494 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001495 <span class="entry_type_container">x</span>
1496
1497 <span class="entry_type_array">
1498 2
1499 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001500 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501
1502
1503 </td> <!-- entry_type -->
1504
1505 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001506 <p>Range over which fps can be adjusted to
1507maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001508 </td>
1509
1510 <td class="entry_units">
1511 </td>
1512
1513 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001514 <p><a href="#static_android.control.aeAvailableTargetFpsRanges">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001515 </td>
1516
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001517 <td class="entry_tags">
1518 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001519 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001520 </ul>
1521 </td>
1522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001523 </tr>
1524 <tr class="entries_header">
1525 <th class="th_details" colspan="5">Details</th>
1526 </tr>
1527 <tr class="entry_cont">
1528 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001529 <p>Only constrains AE algorithm,<wbr/> not manual control
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001530of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001531 </td>
1532 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001533
1534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001535 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1536 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001537
1538
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001539 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001540 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001541 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001542 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001543 <td class="entry_type">
1544 <span class="entry_type_name entry_type_name_enum">byte</span>
1545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001546 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001547
1548 <ul class="entry_type_enum">
1549 <li>
1550 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001551 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001552 </li>
1553 <li>
1554 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001555 <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
1556by the camera device.<wbr/> The exact effect of the precapture
1557trigger depends on the current AE mode and state.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001558 </li>
1559 </ul>
1560
1561 </td> <!-- entry_type -->
1562
1563 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001564 <p>Whether the camera device will trigger a precapture
1565metering sequence when it processes this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001566 </td>
1567
1568 <td class="entry_units">
1569 </td>
1570
1571 <td class="entry_range">
1572 </td>
1573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001574 <td class="entry_tags">
1575 <ul class="entry_tags">
1576 <li><a href="#tag_BC">BC</a></li>
1577 </ul>
1578 </td>
1579
1580 </tr>
1581 <tr class="entries_header">
1582 <th class="th_details" colspan="5">Details</th>
1583 </tr>
1584 <tr class="entry_cont">
1585 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001586 <p>This entry is normally set to IDLE,<wbr/> or is not
1587included at all in the request settings.<wbr/> When included and
Zhijun He92e698d2014-01-13 16:24:31 -08001588set to START,<wbr/> the camera device will trigger the autoexposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001589precapture metering sequence.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001590<p>The effect of AE precapture trigger depends on the current
Zhijun He92e698d2014-01-13 16:24:31 -08001591AE mode and state; see <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture
1592state transition details.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001593 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001595
1596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1598 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001599
1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001601 <tr class="entry" id="controls_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001602 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001603 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001604 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001605 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001606 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001608 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001609
1610 <ul class="entry_type_enum">
1611 <li>
1612 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001613 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
1614<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
1615application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001616 </li>
1617 <li>
1618 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001619 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
1620<p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
1621is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
1622the autofocus trigger action is called.<wbr/> When that trigger
1623is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
1624the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
1625<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
1626and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001630 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
1631autofocus trigger action is called.<wbr/></p>
1632<p>When that trigger is activated,<wbr/> AF must transition to
1633ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
1634NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
1635position to default,<wbr/> and sets the AF state to
1636INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001640 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1641position continually to attempt to provide a
1642constantly-in-focus image stream.<wbr/></p>
1643<p>The focusing behavior should be suitable for good quality
1644video recording; typically this means slower focus
1645movement and no overshoots.<wbr/> When the AF trigger is not
1646involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
1647and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
1648states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
1649the algorithm should immediately transition into
1650AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1651lens position until a cancel AF trigger is received.<wbr/></p>
1652<p>Once cancel is received,<wbr/> the algorithm should transition
1653back to INACTIVE and resume passive scan.<wbr/> Note that this
1654behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
1655ongoing PASSIVE_<wbr/>SCAN must immediately be
1656canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001657 </li>
1658 <li>
1659 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001660 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1661position continually to attempt to provide a
1662constantly-in-focus image stream.<wbr/></p>
1663<p>The focusing behavior should be suitable for still image
1664capture; typically this means focusing as fast as
1665possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
1666algorithm should start in INACTIVE state,<wbr/> and then
1667transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
1668appropriate as it attempts to maintain focus.<wbr/> When the AF
1669trigger is activated,<wbr/> the algorithm should finish its
1670PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
1671AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1672lens position until a cancel AF trigger is received.<wbr/></p>
1673<p>When the AF cancel trigger is activated,<wbr/> the algorithm
1674should transition back to INACTIVE and then act as if it
1675has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </li>
1677 <li>
1678 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001679 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
1680trigger is ignored,<wbr/> AF state should always be
1681INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682 </li>
1683 </ul>
1684
1685 </td> <!-- entry_type -->
1686
1687 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001688 <p>Whether AF is currently enabled,<wbr/> and what
1689mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001690 </td>
1691
1692 <td class="entry_units">
1693 </td>
1694
1695 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001696 <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001697 </td>
1698
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001699 <td class="entry_tags">
1700 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001701 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001702 </ul>
1703 </td>
1704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001705 </tr>
1706 <tr class="entries_header">
1707 <th class="th_details" colspan="5">Details</th>
1708 </tr>
1709 <tr class="entry_cont">
1710 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001711 <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
Zhijun Hef163fa92014-01-14 09:59:04 -08001712<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
1713the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
1714in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001715 </td>
1716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001717
1718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001719 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1720 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001721
1722
1723 <tr class="entry" id="controls_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001724 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001725 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001726 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001728 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001729 <span class="entry_type_container">x</span>
1730
1731 <span class="entry_type_array">
1732 5 x area_count
1733 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001735
1736
1737 </td> <!-- entry_type -->
1738
1739 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001740 <p>List of areas to use for focus
1741estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001742 </td>
1743
1744 <td class="entry_units">
1745 </td>
1746
1747 <td class="entry_range">
1748 </td>
1749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001750 <td class="entry_tags">
1751 <ul class="entry_tags">
1752 <li><a href="#tag_BC">BC</a></li>
1753 </ul>
1754 </td>
1755
1756 </tr>
1757 <tr class="entries_header">
1758 <th class="th_details" colspan="5">Details</th>
1759 </tr>
1760 <tr class="entry_cont">
1761 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001762 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1763xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1764specified coordinates.<wbr/></p>
1765<p>The coordinate system is based on the active pixel array,<wbr/>
1766with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001767(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1768<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001769bottom-right pixel in the active pixel array.<wbr/> The weight
1770should be nonnegative.<wbr/></p>
1771<p>If all regions have 0 weight,<wbr/> then no specific focus area
1772needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001773outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001774should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001775used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001776 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001778
1779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001782
1783
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001784 <tr class="entry" id="controls_android.control.afTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001786 android.<wbr/>control.<wbr/>af<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001787 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001788 <td class="entry_type">
1789 <span class="entry_type_name entry_type_name_enum">byte</span>
1790
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001791 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001792
1793 <ul class="entry_type_enum">
1794 <li>
1795 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001796 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001797 </li>
1798 <li>
1799 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001800 <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001801 </li>
1802 <li>
1803 <span class="entry_type_enum_name">CANCEL</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001804 <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
1805state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001806 </li>
1807 </ul>
1808
1809 </td> <!-- entry_type -->
1810
1811 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001812 <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001813 </td>
1814
1815 <td class="entry_units">
1816 </td>
1817
1818 <td class="entry_range">
1819 </td>
1820
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001821 <td class="entry_tags">
1822 <ul class="entry_tags">
1823 <li><a href="#tag_BC">BC</a></li>
1824 </ul>
1825 </td>
1826
1827 </tr>
1828 <tr class="entries_header">
1829 <th class="th_details" colspan="5">Details</th>
1830 </tr>
1831 <tr class="entry_cont">
1832 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001833 <p>This entry is normally set to IDLE,<wbr/> or is not
1834included at all in the request settings.<wbr/></p>
Zhijun He92e698d2014-01-13 16:24:31 -08001835<p>When included and set to START,<wbr/> the camera device will trigger the
1836autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
1837<p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
1838and return to its initial AF state.<wbr/></p>
1839<p>See <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for what that means for each AF mode.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001840 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001841 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001842
1843
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001844 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1845 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001846
1847
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001848 <tr class="entry" id="controls_android.control.awbLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001849 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001850 android.<wbr/>control.<wbr/>awb<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001851 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001853 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001854
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001855 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001856
1857 <ul class="entry_type_enum">
1858 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001859 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001860 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is disabled; the AWB
1861algorithm is free to update its parameters if in AUTO
1862mode.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001863 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001864 <li>
1865 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001866 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is enabled; the AWB
1867algorithm must not update the exposure and sensitivity
1868parameters while the lock is active</p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001869 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001870 </ul>
1871
1872 </td> <!-- entry_type -->
1873
1874 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001875 <p>Whether AWB is currently locked to its
1876latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001877 </td>
1878
1879 <td class="entry_units">
1880 </td>
1881
1882 <td class="entry_range">
1883 </td>
1884
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001885 <td class="entry_tags">
1886 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001887 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001888 </ul>
1889 </td>
1890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001891 </tr>
1892 <tr class="entries_header">
1893 <th class="th_details" colspan="5">Details</th>
1894 </tr>
1895 <tr class="entry_cont">
1896 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001897 <p>Note that AWB lock is only meaningful for AUTO
1898mode; in other modes,<wbr/> AWB is already fixed to a specific
1899setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001900 </td>
1901 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001902
1903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001904 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1905 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001906
1907
1908 <tr class="entry" id="controls_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001909 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001910 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001911 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001912 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001913 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001914
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001916
1917 <ul class="entry_type_enum">
1918 <li>
1919 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001920 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1921the application-selected color transform matrix
1922(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
1923(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
1924device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001925 </li>
1926 <li>
1927 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001928 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
1929the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
1930and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001931 </li>
1932 <li>
1933 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001934 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1935the camera device uses incandescent light as the assumed scene
1936illumination for white balance.<wbr/> While the exact white balance
1937transforms are up to the camera device,<wbr/> they will approximately
1938match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001939 </li>
1940 <li>
1941 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001942 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1943the camera device uses fluorescent light as the assumed scene
1944illumination for white balance.<wbr/> While the exact white balance
1945transforms are up to the camera device,<wbr/> they will approximately
1946match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001947 </li>
1948 <li>
1949 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001950 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1951the camera device uses warm fluorescent light as the assumed scene
1952illumination for white balance.<wbr/> While the exact white balance
1953transforms are up to the camera device,<wbr/> they will approximately
1954match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001955 </li>
1956 <li>
1957 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001958 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1959the camera device uses daylight light as the assumed scene
1960illumination for white balance.<wbr/> While the exact white balance
1961transforms are up to the camera device,<wbr/> they will approximately
1962match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001966 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1967the camera device uses cloudy daylight light as the assumed scene
1968illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001969 </li>
1970 <li>
1971 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001972 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1973the camera device uses twilight light as the assumed scene
1974illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001978 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1979the camera device uses shade light as the assumed scene
1980illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001981 </li>
1982 </ul>
1983
1984 </td> <!-- entry_type -->
1985
1986 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001987 <p>Whether AWB is currently setting the color
1988transform fields,<wbr/> and what its illumination target
1989is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001990 </td>
1991
1992 <td class="entry_units">
1993 </td>
1994
1995 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001996 <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001997 </td>
1998
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001999 <td class="entry_tags">
2000 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002001 <li><a href="#tag_BC">BC</a></li>
2002 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002003 </ul>
2004 </td>
2005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002006 </tr>
2007 <tr class="entries_header">
2008 <th class="th_details" colspan="5">Details</th>
2009 </tr>
2010 <tr class="entry_cont">
2011 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08002012 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
2013<p>When set to the ON mode,<wbr/> the camera device's auto white balance
2014routine is enabled,<wbr/> overriding the application's selected
2015<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
2016<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2017<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
2018routine is disabled.<wbr/> The applicantion manually controls the white
2019balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
2020and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2021<p>When set to any other modes,<wbr/> the camera device's auto white balance
2022routine is disabled.<wbr/> The camera device uses each particular illumination
2023target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002024 </td>
2025 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002026
2027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002028 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2029 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002030
2031
2032 <tr class="entry" id="controls_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002033 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002034 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002035 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002037 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002038 <span class="entry_type_container">x</span>
2039
2040 <span class="entry_type_array">
2041 5 x area_count
2042 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002043 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002044
2045
2046 </td> <!-- entry_type -->
2047
2048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002049 <p>List of areas to use for illuminant
2050estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002051 </td>
2052
2053 <td class="entry_units">
2054 </td>
2055
2056 <td class="entry_range">
2057 </td>
2058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002059 <td class="entry_tags">
2060 <ul class="entry_tags">
2061 <li><a href="#tag_BC">BC</a></li>
2062 </ul>
2063 </td>
2064
2065 </tr>
2066 <tr class="entries_header">
2067 <th class="th_details" colspan="5">Details</th>
2068 </tr>
2069 <tr class="entry_cont">
2070 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002071 <p>Only used in AUTO mode.<wbr/></p>
2072<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
2073xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
2074specified coordinates.<wbr/></p>
2075<p>The coordinate system is based on the active pixel array,<wbr/>
2076with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002077(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
2078<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08002079bottom-right pixel in the active pixel array.<wbr/> The weight
2080should be nonnegative.<wbr/></p>
2081<p>If all regions have 0 weight,<wbr/> then no specific metering area
2082needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002083outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002084should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08002085used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002086 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002088
2089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002092
2093
2094 <tr class="entry" id="controls_android.control.captureIntent">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002095 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002096 android.<wbr/>control.<wbr/>capture<wbr/>Intent
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002097 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002099 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102
2103 <ul class="entry_type_enum">
2104 <li>
2105 <span class="entry_type_enum_name">CUSTOM</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002106 <span class="entry_type_enum_notes"><p>This request doesn't fall into the other
2107categories.<wbr/> Default to preview-like
2108behavior.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002109 </li>
2110 <li>
2111 <span class="entry_type_enum_name">PREVIEW</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002112 <span class="entry_type_enum_notes"><p>This request is for a preview-like usecase.<wbr/> The
2113precapture trigger may be used to start off a metering
2114w/<wbr/>flash sequence</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002115 </li>
2116 <li>
2117 <span class="entry_type_enum_name">STILL_CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002118 <span class="entry_type_enum_notes"><p>This request is for a still capture-type
2119usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002120 </li>
2121 <li>
2122 <span class="entry_type_enum_name">VIDEO_RECORD</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002123 <span class="entry_type_enum_notes"><p>This request is for a video recording
2124usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002125 </li>
2126 <li>
2127 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002128 <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
2129image while recording video) usecase</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002130 </li>
2131 <li>
2132 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002133 <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
2134application will stream full-resolution images and
2135reprocess one or several later for a final
2136capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002137 </li>
2138 </ul>
2139
2140 </td> <!-- entry_type -->
2141
2142 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08002143 <p>Information to the camera device 3A (auto-exposure,<wbr/>
2144auto-focus,<wbr/> auto-white balance) routines about the purpose
2145of this capture,<wbr/> to help the camera device to decide optimal 3A
2146strategy.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002147 </td>
2148
2149 <td class="entry_units">
2150 </td>
2151
2152 <td class="entry_range">
Zhijun Heea27bc32014-01-15 13:47:59 -08002153 <p>All must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002154 </td>
2155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002156 <td class="entry_tags">
2157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002159 </ul>
2160 </td>
2161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002162 </tr>
2163 <tr class="entries_header">
2164 <th class="th_details" colspan="5">Details</th>
2165 </tr>
2166 <tr class="entry_cont">
2167 <td class="entry_details" colspan="5">
Zhijun Heea27bc32014-01-15 13:47:59 -08002168 <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
2169and any 3A routine is active.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002170 </td>
2171 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002172
2173
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002174 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2175 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002176
2177
2178 <tr class="entry" id="controls_android.control.effectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002179 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002180 android.<wbr/>control.<wbr/>effect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002183 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002184
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002185 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002186
2187 <ul class="entry_type_enum">
2188 <li>
2189 <span class="entry_type_enum_name">OFF</span>
2190 </li>
2191 <li>
2192 <span class="entry_type_enum_name">MONO</span>
2193 <span class="entry_type_enum_optional">optional</span>
2194 </li>
2195 <li>
2196 <span class="entry_type_enum_name">NEGATIVE</span>
2197 <span class="entry_type_enum_optional">optional</span>
2198 </li>
2199 <li>
2200 <span class="entry_type_enum_name">SOLARIZE</span>
2201 <span class="entry_type_enum_optional">optional</span>
2202 </li>
2203 <li>
2204 <span class="entry_type_enum_name">SEPIA</span>
2205 <span class="entry_type_enum_optional">optional</span>
2206 </li>
2207 <li>
2208 <span class="entry_type_enum_name">POSTERIZE</span>
2209 <span class="entry_type_enum_optional">optional</span>
2210 </li>
2211 <li>
2212 <span class="entry_type_enum_name">WHITEBOARD</span>
2213 <span class="entry_type_enum_optional">optional</span>
2214 </li>
2215 <li>
2216 <span class="entry_type_enum_name">BLACKBOARD</span>
2217 <span class="entry_type_enum_optional">optional</span>
2218 </li>
2219 <li>
2220 <span class="entry_type_enum_name">AQUA</span>
2221 <span class="entry_type_enum_optional">optional</span>
2222 </li>
2223 </ul>
2224
2225 </td> <!-- entry_type -->
2226
2227 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002228 <p>Whether any special color effect is in use.<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002229Only used if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002230 </td>
2231
2232 <td class="entry_units">
2233 </td>
2234
2235 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002236 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002237 </td>
2238
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002239 <td class="entry_tags">
2240 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002241 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242 </ul>
2243 </td>
2244
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002245 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002246
2247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002248 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2249 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002250
2251
2252 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002253 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002254 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002255 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002256 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002257 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002258
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002260
2261 <ul class="entry_type_enum">
2262 <li>
2263 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002264 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2265routines are disabled,<wbr/> no other settings in
2266android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002267 </li>
2268 <li>
2269 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002270 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2271Manual control of capture parameters is disabled.<wbr/> All
2272controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2273effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002274 </li>
2275 <li>
2276 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002277 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2278control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2279controls; the HAL must ignore those settings while
2280USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2281scene mode).<wbr/> Other control entries are still active.<wbr/>
2282This setting can only be used if availableSceneModes !=
2283UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002284 </li>
2285 </ul>
2286
2287 </td> <!-- entry_type -->
2288
2289 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002290 <p>Overall mode of 3A control
2291routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002292 </td>
2293
2294 <td class="entry_units">
2295 </td>
2296
2297 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002298 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002299 </td>
2300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002301 <td class="entry_tags">
2302 <ul class="entry_tags">
2303 <li><a href="#tag_BC">BC</a></li>
2304 </ul>
2305 </td>
2306
2307 </tr>
2308 <tr class="entries_header">
2309 <th class="th_details" colspan="5">Details</th>
2310 </tr>
2311 <tr class="entry_cont">
2312 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002313 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002314by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002315capture parameters itself.<wbr/></p>
2316<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002317android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08002318<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002319android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002320one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002321as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002322<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002323 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002324 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002325
2326
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002327 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2328 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002329
2330
2331 <tr class="entry" id="controls_android.control.sceneMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002332 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002333 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002334 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002335 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002336 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002337
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002338 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002339
2340 <ul class="entry_type_enum">
2341 <li>
2342 <span class="entry_type_enum_name">UNSUPPORTED</span>
2343 <span class="entry_type_enum_value">0</span>
2344 </li>
2345 <li>
2346 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002347 <span class="entry_type_enum_notes"><p>if face detection support exists Use face
2348detection data to drive 3A routines.<wbr/> If face detection
2349statistics are disabled,<wbr/> should still operate correctly
2350(but not return face detection statistics to the
2351framework).<wbr/></p>
2352<p>Unlike the other scene modes,<wbr/> aeMode,<wbr/> awbMode,<wbr/> and afMode
2353remain active when FACE_<wbr/>PRIORITY is set.<wbr/> This is due to
2354compatibility concerns with the old camera
2355API</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 </li>
2357 <li>
2358 <span class="entry_type_enum_name">ACTION</span>
2359 <span class="entry_type_enum_optional">optional</span>
2360 </li>
2361 <li>
2362 <span class="entry_type_enum_name">PORTRAIT</span>
2363 <span class="entry_type_enum_optional">optional</span>
2364 </li>
2365 <li>
2366 <span class="entry_type_enum_name">LANDSCAPE</span>
2367 <span class="entry_type_enum_optional">optional</span>
2368 </li>
2369 <li>
2370 <span class="entry_type_enum_name">NIGHT</span>
2371 <span class="entry_type_enum_optional">optional</span>
2372 </li>
2373 <li>
2374 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
2375 <span class="entry_type_enum_optional">optional</span>
2376 </li>
2377 <li>
2378 <span class="entry_type_enum_name">THEATRE</span>
2379 <span class="entry_type_enum_optional">optional</span>
2380 </li>
2381 <li>
2382 <span class="entry_type_enum_name">BEACH</span>
2383 <span class="entry_type_enum_optional">optional</span>
2384 </li>
2385 <li>
2386 <span class="entry_type_enum_name">SNOW</span>
2387 <span class="entry_type_enum_optional">optional</span>
2388 </li>
2389 <li>
2390 <span class="entry_type_enum_name">SUNSET</span>
2391 <span class="entry_type_enum_optional">optional</span>
2392 </li>
2393 <li>
2394 <span class="entry_type_enum_name">STEADYPHOTO</span>
2395 <span class="entry_type_enum_optional">optional</span>
2396 </li>
2397 <li>
2398 <span class="entry_type_enum_name">FIREWORKS</span>
2399 <span class="entry_type_enum_optional">optional</span>
2400 </li>
2401 <li>
2402 <span class="entry_type_enum_name">SPORTS</span>
2403 <span class="entry_type_enum_optional">optional</span>
2404 </li>
2405 <li>
2406 <span class="entry_type_enum_name">PARTY</span>
2407 <span class="entry_type_enum_optional">optional</span>
2408 </li>
2409 <li>
2410 <span class="entry_type_enum_name">CANDLELIGHT</span>
2411 <span class="entry_type_enum_optional">optional</span>
2412 </li>
2413 <li>
2414 <span class="entry_type_enum_name">BARCODE</span>
2415 <span class="entry_type_enum_optional">optional</span>
2416 </li>
2417 </ul>
2418
2419 </td> <!-- entry_type -->
2420
2421 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002422 <p>Which scene mode is active when
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002423<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = SCENE_<wbr/>MODE</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002424 </td>
2425
2426 <td class="entry_units">
2427 </td>
2428
2429 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002430 <p><a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002431 </td>
2432
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002433 <td class="entry_tags">
2434 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002435 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002436 </ul>
2437 </td>
2438
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002439 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002440
2441
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002442 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2443 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002444
2445
2446 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002447 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002448 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002449 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002451 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002452
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002453 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002454
2455 <ul class="entry_type_enum">
2456 <li>
2457 <span class="entry_type_enum_name">OFF</span>
2458 </li>
2459 <li>
2460 <span class="entry_type_enum_name">ON</span>
2461 </li>
2462 </ul>
2463
2464 </td> <!-- entry_type -->
2465
2466 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002467 <p>Whether video stabilization is
2468active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469 </td>
2470
2471 <td class="entry_units">
2472 </td>
2473
2474 <td class="entry_range">
2475 </td>
2476
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002477 <td class="entry_tags">
2478 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002479 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002480 </ul>
2481 </td>
2482
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002483 </tr>
2484 <tr class="entries_header">
2485 <th class="th_details" colspan="5">Details</th>
2486 </tr>
2487 <tr class="entry_cont">
2488 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002489 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002490<a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> to keep the video stream
Igor Murashkin0b080452013-12-27 15:30:25 -08002491stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002492 </td>
2493 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002494
2495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002496 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2497 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002498
2499
2500
2501 <!-- end of kind -->
2502 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002503 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002504
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002505 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002506 <tr>
2507 <th class="th_name">Property Name</th>
2508 <th class="th_type">Type</th>
2509 <th class="th_description">Description</th>
2510 <th class="th_units">Units</th>
2511 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002512 <th class="th_tags">Tags</th>
2513 </tr>
2514 </thead>
2515
2516 <tbody>
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002528 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002529 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002530 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002531 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002532 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002533 <span class="entry_type_container">x</span>
2534
2535 <span class="entry_type_array">
2536 n
2537 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002538 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002539 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002540
2541
2542 </td> <!-- entry_type -->
2543
2544 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002545 <p>The set of auto-exposure antibanding modes that are
2546supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002547 </td>
2548
2549 <td class="entry_units">
2550 </td>
2551
2552 <td class="entry_range">
2553 </td>
2554
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002555 <td class="entry_tags">
2556 </td>
2557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002558 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002559 <tr class="entries_header">
2560 <th class="th_details" colspan="5">Details</th>
2561 </tr>
2562 <tr class="entry_cont">
2563 <td class="entry_details" colspan="5">
2564 <p>Not all of the auto-exposure anti-banding modes may be
2565supported by a given camera device.<wbr/> This field lists the
2566valid anti-banding modes that the application may request
2567for this camera device; they must include AUTO.<wbr/></p>
2568 </td>
2569 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002570
2571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002572 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2573 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002574
2575
2576 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002577 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002578 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002579 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002581 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002582 <span class="entry_type_container">x</span>
2583
2584 <span class="entry_type_array">
2585 n
2586 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002587 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002588 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002589
2590
2591 </td> <!-- entry_type -->
2592
2593 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002594 <p>The set of auto-exposure modes that are supported by this
2595camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002596 </td>
2597
2598 <td class="entry_units">
2599 </td>
2600
2601 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002602 </td>
2603
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002604 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002605 <ul class="entry_tags">
2606 <li><a href="#tag_BC">BC</a></li>
2607 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002608 </td>
2609
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002610 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002611 <tr class="entries_header">
2612 <th class="th_details" colspan="5">Details</th>
2613 </tr>
2614 <tr class="entry_cont">
2615 <td class="entry_details" colspan="5">
2616 <p>Not all the auto-exposure modes may be supported by a
2617given camera device,<wbr/> especially if no flash unit is
2618available.<wbr/> This entry lists the valid modes for
2619<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2620<p>All camera devices support ON,<wbr/> and all camera devices with
2621flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2622ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2623<p>Full-capability camera devices always support OFF mode,<wbr/>
2624which enables application control of camera exposure time,<wbr/>
2625sensitivity,<wbr/> and frame duration.<wbr/></p>
2626 </td>
2627 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002628
2629
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002630 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2631 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002632
2633
2634 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002635 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002636 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002637 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002638 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002639 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002640 <span class="entry_type_container">x</span>
2641
2642 <span class="entry_type_array">
2643 2 x n
2644 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002645 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002646 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002647
2648
2649 </td> <!-- entry_type -->
2650
2651 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002652 <p>List of frame rate ranges supported by the
2653AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002654 </td>
2655
2656 <td class="entry_units">
2657 </td>
2658
2659 <td class="entry_range">
2660 </td>
2661
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002662 <td class="entry_tags">
2663 </td>
2664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002665 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002666
2667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002668 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2669 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670
2671
2672 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002673 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002674 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002675 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002676 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002677 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002678 <span class="entry_type_container">x</span>
2679
2680 <span class="entry_type_array">
2681 2
2682 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002683 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002684
2685
2686 </td> <!-- entry_type -->
2687
2688 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002689 <p>Maximum and minimum exposure compensation
2690setting,<wbr/> in counts of
2691android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002692 </td>
2693
2694 <td class="entry_units">
2695 </td>
2696
2697 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002698 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2699size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002700 </td>
2701
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002702 <td class="entry_tags">
2703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002705 </ul>
2706 </td>
2707
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002708 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002709
2710
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002711 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2712 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002713
2714
2715 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002716 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002717 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002718 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002720 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002721
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002722 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002723
2724
2725 </td> <!-- entry_type -->
2726
2727 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002728 <p>Smallest step by which exposure compensation
2729can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002730 </td>
2731
2732 <td class="entry_units">
2733 </td>
2734
2735 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002736 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002737 </td>
2738
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002739 <td class="entry_tags">
2740 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002741 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002742 </ul>
2743 </td>
2744
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002745 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002746
2747
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002748 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2749 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002750
2751
2752 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002753 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002754 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002755 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002757 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002758 <span class="entry_type_container">x</span>
2759
2760 <span class="entry_type_array">
2761 n
2762 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002763 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002764 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002765
2766
2767 </td> <!-- entry_type -->
2768
2769 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002770 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002771selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002772 </td>
2773
2774 <td class="entry_units">
2775 </td>
2776
2777 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002778 </td>
2779
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002780 <td class="entry_tags">
2781 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002782 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002783 </ul>
2784 </td>
2785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002786 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002787 <tr class="entries_header">
2788 <th class="th_details" colspan="5">Details</th>
2789 </tr>
2790 <tr class="entry_cont">
2791 <td class="entry_details" colspan="5">
2792 <p>Not all the auto-focus modes may be supported by a
2793given camera device.<wbr/> This entry lists the valid modes for
2794<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2795<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2796adjustable focuser units (<code><a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> &gt; 0</code>)
2797will support AUTO mode.<wbr/></p>
2798 </td>
2799 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002800
2801
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002802 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2803 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002804
2805
2806 <tr class="entry" id="static_android.control.availableEffects">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002807 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002808 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002809 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002810 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002811 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002812 <span class="entry_type_container">x</span>
2813
2814 <span class="entry_type_array">
2815 n
2816 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002817 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002818 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002819
2820
2821 </td> <!-- entry_type -->
2822
2823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002824 <p>what subset of the full color effect enum
2825list is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002826 </td>
2827
2828 <td class="entry_units">
2829 </td>
2830
2831 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002832 <p>OFF must be listed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002833 </td>
2834
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002835 <td class="entry_tags">
2836 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002837 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002838 </ul>
2839 </td>
2840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002841 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002842
2843
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002844 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2845 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002846
2847
2848 <tr class="entry" id="static_android.control.availableSceneModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002849 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002850 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002851 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002853 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002854 <span class="entry_type_container">x</span>
2855
2856 <span class="entry_type_array">
2857 n
2858 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002859 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002860 <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>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002861
2862
2863 </td> <!-- entry_type -->
2864
2865 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002866 <p>what subset of the scene mode enum list is
2867supported.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002868 </td>
2869
2870 <td class="entry_units">
2871 </td>
2872
2873 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002874 <p>SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY must be supported if face
2875detection is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002876 </td>
2877
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002878 <td class="entry_tags">
2879 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002880 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002881 </ul>
2882 </td>
2883
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002884 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002885
2886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002887 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2888 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002889
2890
2891 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002892 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002893 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002894 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002895 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002896 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002897 <span class="entry_type_container">x</span>
2898
2899 <span class="entry_type_array">
2900 n
2901 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002902 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002903 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002904
2905
2906 </td> <!-- entry_type -->
2907
2908 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002909 <p>List of video stabilization modes that can
2910be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002911 </td>
2912
2913 <td class="entry_units">
2914 </td>
2915
2916 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002917 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002918 </td>
2919
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002920 <td class="entry_tags">
2921 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002922 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002923 </ul>
2924 </td>
2925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002926 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002927
2928
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002929 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2930 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002931
2932
2933 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002934 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002935 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002936 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002937 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002938 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002939 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002940
Alex Raya4251d92013-04-30 16:43:44 -07002941 <span class="entry_type_array">
2942 n
2943 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002944 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08002945 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002946
2947
2948 </td> <!-- entry_type -->
2949
2950 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08002951 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
2952that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953 </td>
2954
2955 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002956 </td>
2957
2958 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002959 </td>
2960
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002961 <td class="entry_tags">
2962 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002963 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002964 </ul>
2965 </td>
2966
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002967 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08002968 <tr class="entries_header">
2969 <th class="th_details" colspan="5">Details</th>
2970 </tr>
2971 <tr class="entry_cont">
2972 <td class="entry_details" colspan="5">
2973 <p>Not all the auto-white-balance modes may be supported by a
2974given camera device.<wbr/> This entry lists the valid modes for
2975<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
2976<p>All camera devices will support ON mode.<wbr/></p>
2977<p>Full-capability camera devices will always support OFF mode,<wbr/>
2978which enables application control of white balance,<wbr/> by using
2979<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>(<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> must be set to TRANSFORM_<wbr/>MATRIX).<wbr/></p>
2980 </td>
2981 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002982
2983
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002984 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2985 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002986
2987
2988 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002989 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002990 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002991 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002992 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002993 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002994
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002995 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002996
2997
2998 </td> <!-- entry_type -->
2999
3000 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003001 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3002regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003003 </td>
3004
3005 <td class="entry_units">
3006 </td>
3007
3008 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003009 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003010 </td>
3011
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003012 <td class="entry_tags">
3013 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003014 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003015 </ul>
3016 </td>
3017
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003018 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003019
3020
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003021 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3022 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003023
3024
3025 <tr class="entry" id="static_android.control.sceneModeOverrides">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003026 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003027 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003028 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003030 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003031 <span class="entry_type_container">x</span>
3032
3033 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003034 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003035 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003036 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003037
3038
3039 </td> <!-- entry_type -->
3040
3041 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003042 <p>List of AE,<wbr/> AWB,<wbr/> and AF modes to use for
3043each available scene mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003044 </td>
3045
3046 <td class="entry_units">
3047 </td>
3048
3049 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003050 <p>For each listed scene mode,<wbr/> lists the aeMode,<wbr/>
3051awbMode,<wbr/> and afMode that the HAL wants to use for that
3052scene mode.<wbr/></p>
3053<p>For each entry,<wbr/> the order is {aeMode,<wbr/> awbMode,<wbr/> afMode} in
3054order of increasing index</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003055 </td>
3056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003057 <td class="entry_tags">
3058 <ul class="entry_tags">
3059 <li><a href="#tag_BC">BC</a></li>
3060 </ul>
3061 </td>
3062
3063 </tr>
3064 <tr class="entries_header">
3065 <th class="th_details" colspan="5">Details</th>
3066 </tr>
3067 <tr class="entry_cont">
3068 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003069 <p>When a scene mode is enabled,<wbr/> the HAL is expected
3070to override aeMode,<wbr/> awbMode,<wbr/> and afMode with its
3071preferred settings for that scene mode.<wbr/></p>
3072<p>To simplify communication with old camera API applications,<wbr/>
3073the service wants this override list in the static metadata.<wbr/>
3074The order of this list matches that of availableSceneModes,<wbr/>
3075with 3 entires for each scene mode.<wbr/> The overrides listed
3076for SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3077mode,<wbr/> the application-set aeMode,<wbr/> awbMode,<wbr/> and afMode are
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003078used instead,<wbr/> like they are when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
Igor Murashkin0b080452013-12-27 15:30:25 -08003079AUTO.<wbr/></p>
3080<p>It is recommended that for FACE_<wbr/>PRIORITY,<wbr/> the overrides
3081should be set to 0.<wbr/> As an example,<wbr/> if availableSceneModes is
3082{ FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT },<wbr/> then the service expects
3083this field to have 9 entries; for example { 0 ,<wbr/> 0,<wbr/> 0,<wbr/>
3084ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
3085INCANDESCENT,<wbr/> AUTO }</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003086 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003088
3089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003092
3093
3094
3095 <!-- end of kind -->
3096 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003097 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003098
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003099 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003100 <tr>
3101 <th class="th_name">Property Name</th>
3102 <th class="th_type">Type</th>
3103 <th class="th_description">Description</th>
3104 <th class="th_units">Units</th>
3105 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003106 <th class="th_tags">Tags</th>
3107 </tr>
3108 </thead>
3109
3110 <tbody>
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003122 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003123 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003124 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003127
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003128 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003129
3130
3131 </td> <!-- entry_type -->
3132
3133 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003134 <p>The ID sent with the latest
3135CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003136 </td>
3137
3138 <td class="entry_units">
3139 </td>
3140
3141 <td class="entry_range">
3142 </td>
3143
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003144 <td class="entry_tags">
3145 </td>
3146
3147 </tr>
3148 <tr class="entries_header">
3149 <th class="th_details" colspan="5">Details</th>
3150 </tr>
3151 <tr class="entry_cont">
3152 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003153 <p>Must be 0 if no
3154CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3155by HAL.<wbr/> Always updated even if AE algorithm ignores the
3156trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003157 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003158 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003159
3160
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003161 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3162 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003163
3164
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003165 <tr class="entry" id="dynamic_android.control.aeMode">
3166 <td class="entry_name" rowspan="3">
3167 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3168 </td>
3169 <td class="entry_type">
3170 <span class="entry_type_name entry_type_name_enum">byte</span>
3171
3172 <span class="entry_type_visibility"> [public]</span>
3173
3174 <ul class="entry_type_enum">
3175 <li>
3176 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003177 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3178the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3179<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3180<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3181device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3182a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003183 </li>
3184 <li>
3185 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003186 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3187with no flash control.<wbr/> The application's values for
3188<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3189<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3190<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3191application has control over the various
3192android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003193 </li>
3194 <li>
3195 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003196 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3197the camera's flash unit,<wbr/> firing it in low-light
3198conditions.<wbr/> The flash may be fired during a
3199precapture sequence (triggered by
3200<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3201for captures for which the
3202<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3203STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003204 </li>
3205 <li>
3206 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003207 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3208the camera's flash unit,<wbr/> always firing it for still
3209captures.<wbr/> The flash may be fired during a precapture
3210sequence (triggered by
3211<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3212be fired for captures for which the
3213<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3214STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003215 </li>
3216 <li>
3217 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003218 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3219reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3220a red eye reduction flash will fire during the
3221precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003222 </li>
3223 </ul>
3224
3225 </td> <!-- entry_type -->
3226
3227 <td class="entry_description">
3228 <p>The desired mode for the camera device's
3229auto-exposure routine.<wbr/></p>
3230 </td>
3231
3232 <td class="entry_units">
3233 </td>
3234
3235 <td class="entry_range">
3236 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3237 </td>
3238
3239 <td class="entry_tags">
3240 <ul class="entry_tags">
3241 <li><a href="#tag_BC">BC</a></li>
3242 </ul>
3243 </td>
3244
3245 </tr>
3246 <tr class="entries_header">
3247 <th class="th_details" colspan="5">Details</th>
3248 </tr>
3249 <tr class="entry_cont">
3250 <td class="entry_details" colspan="5">
3251 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3252AUTO.<wbr/></p>
3253<p>When set to any of the ON modes,<wbr/> the camera device's
3254auto-exposure routine is enabled,<wbr/> overriding the
3255application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3256and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3257<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3258<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3259is selected,<wbr/> the camera device's flash unit controls are
3260also overridden.<wbr/></p>
3261<p>The FLASH modes are only available if the camera device
3262has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3263<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3264ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3265<p>When set to any of the ON modes,<wbr/> the values chosen by the
3266camera device auto-exposure routine for the overridden
3267fields for a given capture will be available in its
3268CaptureResult.<wbr/></p>
3269 </td>
3270 </tr>
3271
3272
3273 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3274 <!-- end of entry -->
3275
3276
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003277 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003278 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003279 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003280 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003281 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003282 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003283 <span class="entry_type_container">x</span>
3284
3285 <span class="entry_type_array">
3286 5 x area_count
3287 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003288 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003289
3290
3291 </td> <!-- entry_type -->
3292
3293 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003294 <p>List of areas to use for
3295metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003296 </td>
3297
3298 <td class="entry_units">
3299 </td>
3300
3301 <td class="entry_range">
3302 </td>
3303
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003304 <td class="entry_tags">
3305 <ul class="entry_tags">
3306 <li><a href="#tag_BC">BC</a></li>
3307 </ul>
3308 </td>
3309
3310 </tr>
3311 <tr class="entries_header">
3312 <th class="th_details" colspan="5">Details</th>
3313 </tr>
3314 <tr class="entry_cont">
3315 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003316 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3317xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3318specified coordinates.<wbr/></p>
3319<p>The coordinate system is based on the active pixel array,<wbr/>
3320with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003321(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3322<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08003323bottom-right pixel in the active pixel array.<wbr/> The weight
3324should be nonnegative.<wbr/></p>
3325<p>If all regions have 0 weight,<wbr/> then no specific metering area
3326needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003327outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003328should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003329used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003330 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003331 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003332
3333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003334 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3335 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003336
3337
3338 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003339 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003340 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003341 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003343 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003344
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003345 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003346
3347 <ul class="entry_type_enum">
3348 <li>
3349 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003350 <span class="entry_type_enum_notes"><p>AE is off or recently reset.<wbr/> When a camera device is opened,<wbr/> it starts in
Igor Murashkina10351a2014-01-15 17:05:22 -08003351this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003352 </li>
3353 <li>
3354 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003355 <span class="entry_type_enum_notes"><p>AE doesn't yet have a good set of control values
Zhijun He92e698d2014-01-13 16:24:31 -08003356for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003357 </li>
3358 <li>
3359 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003360 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003361current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003362 </li>
3363 <li>
3364 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003365 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003366 </li>
3367 <li>
3368 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003369 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3370needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003371capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003372 </li>
3373 <li>
3374 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003375 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003376(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3377and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003378completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003379FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003380 </li>
3381 </ul>
3382
3383 </td> <!-- entry_type -->
3384
3385 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003386 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003387 </td>
3388
3389 <td class="entry_units">
3390 </td>
3391
3392 <td class="entry_range">
3393 </td>
3394
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003395 <td class="entry_tags">
3396 </td>
3397
3398 </tr>
3399 <tr class="entries_header">
3400 <th class="th_details" colspan="5">Details</th>
3401 </tr>
3402 <tr class="entry_cont">
3403 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003404 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3405resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3406or <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code> resets all
3407the algorithm states to INACTIVE.<wbr/></p>
3408<p>The camera device can do several state transitions between two results,<wbr/> if it is
3409allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3410seen in a result.<wbr/></p>
3411<p>The state in the result is the state for this image (in sync with this image): if
3412AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3413be good to use.<wbr/></p>
3414<p>Below are state transition tables for different AE modes.<wbr/></p>
3415<table>
3416<thead>
3417<tr>
3418<th align="center">State</th>
3419<th align="center">Transition Cause</th>
3420<th align="center">New State</th>
3421<th align="center">Notes</th>
3422</tr>
3423</thead>
3424<tbody>
3425<tr>
3426<td align="center">INACTIVE</td>
3427<td align="center"></td>
3428<td align="center">INACTIVE</td>
3429<td align="center">Camera device auto exposure algorithm is disabled</td>
3430</tr>
3431</tbody>
3432</table>
3433<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3434<table>
3435<thead>
3436<tr>
3437<th align="center">State</th>
3438<th align="center">Transition Cause</th>
3439<th align="center">New State</th>
3440<th align="center">Notes</th>
3441</tr>
3442</thead>
3443<tbody>
3444<tr>
3445<td align="center">INACTIVE</td>
3446<td align="center">Camera device initiates AE scan</td>
3447<td align="center">SEARCHING</td>
3448<td align="center">Values changing</td>
3449</tr>
3450<tr>
3451<td align="center">INACTIVE</td>
3452<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3453<td align="center">LOCKED</td>
3454<td align="center">Values locked</td>
3455</tr>
3456<tr>
3457<td align="center">SEARCHING</td>
3458<td align="center">Camera device finishes AE scan</td>
3459<td align="center">CONVERGED</td>
3460<td align="center">Good values,<wbr/> not changing</td>
3461</tr>
3462<tr>
3463<td align="center">SEARCHING</td>
3464<td align="center">Camera device finishes AE scan</td>
3465<td align="center">FLASH_<wbr/>REQUIRED</td>
3466<td align="center">Converged but too dark w/<wbr/>o flash</td>
3467</tr>
3468<tr>
3469<td align="center">SEARCHING</td>
3470<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3471<td align="center">LOCKED</td>
3472<td align="center">Values locked</td>
3473</tr>
3474<tr>
3475<td align="center">CONVERGED</td>
3476<td align="center">Camera device initiates AE scan</td>
3477<td align="center">SEARCHING</td>
3478<td align="center">Values changing</td>
3479</tr>
3480<tr>
3481<td align="center">CONVERGED</td>
3482<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3483<td align="center">LOCKED</td>
3484<td align="center">Values locked</td>
3485</tr>
3486<tr>
3487<td align="center">FLASH_<wbr/>REQUIRED</td>
3488<td align="center">Camera device initiates AE scan</td>
3489<td align="center">SEARCHING</td>
3490<td align="center">Values changing</td>
3491</tr>
3492<tr>
3493<td align="center">FLASH_<wbr/>REQUIRED</td>
3494<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3495<td align="center">LOCKED</td>
3496<td align="center">Values locked</td>
3497</tr>
3498<tr>
3499<td align="center">LOCKED</td>
3500<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3501<td align="center">SEARCHING</td>
3502<td align="center">Values not good after unlock</td>
3503</tr>
3504<tr>
3505<td align="center">LOCKED</td>
3506<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3507<td align="center">CONVERGED</td>
3508<td align="center">Values good after unlock</td>
3509</tr>
3510<tr>
3511<td align="center">LOCKED</td>
3512<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3513<td align="center">FLASH_<wbr/>REQUIRED</td>
3514<td align="center">Exposure good,<wbr/> but too dark</td>
3515</tr>
3516<tr>
3517<td align="center">PRECAPTURE</td>
3518<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3519<td align="center">CONVERGED</td>
3520<td align="center">Ready for high-quality capture</td>
3521</tr>
3522<tr>
3523<td align="center">PRECAPTURE</td>
3524<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3525<td align="center">LOCKED</td>
3526<td align="center">Ready for high-quality capture</td>
3527</tr>
3528<tr>
3529<td align="center">Any state</td>
3530<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3531<td align="center">PRECAPTURE</td>
3532<td align="center">Start AE precapture metering sequence</td>
3533</tr>
3534</tbody>
3535</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003536 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003537 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003538
3539
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003540 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3541 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003542
3543
3544 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003545 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003546 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003547 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003548 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003549 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003550
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003551 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003552
3553 <ul class="entry_type_enum">
3554 <li>
3555 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003556 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3557<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3558application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003559 </li>
3560 <li>
3561 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003562 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3563<p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
3564is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3565the autofocus trigger action is called.<wbr/> When that trigger
3566is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3567the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3568<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3569and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003570 </li>
3571 <li>
3572 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003573 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3574autofocus trigger action is called.<wbr/></p>
3575<p>When that trigger is activated,<wbr/> AF must transition to
3576ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3577NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3578position to default,<wbr/> and sets the AF state to
3579INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003580 </li>
3581 <li>
3582 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003583 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3584position continually to attempt to provide a
3585constantly-in-focus image stream.<wbr/></p>
3586<p>The focusing behavior should be suitable for good quality
3587video recording; typically this means slower focus
3588movement and no overshoots.<wbr/> When the AF trigger is not
3589involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3590and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3591states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3592the algorithm should immediately transition into
3593AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3594lens position until a cancel AF trigger is received.<wbr/></p>
3595<p>Once cancel is received,<wbr/> the algorithm should transition
3596back to INACTIVE and resume passive scan.<wbr/> Note that this
3597behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3598ongoing PASSIVE_<wbr/>SCAN must immediately be
3599canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003600 </li>
3601 <li>
3602 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003603 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3604position continually to attempt to provide a
3605constantly-in-focus image stream.<wbr/></p>
3606<p>The focusing behavior should be suitable for still image
3607capture; typically this means focusing as fast as
3608possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3609algorithm should start in INACTIVE state,<wbr/> and then
3610transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3611appropriate as it attempts to maintain focus.<wbr/> When the AF
3612trigger is activated,<wbr/> the algorithm should finish its
3613PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3614AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3615lens position until a cancel AF trigger is received.<wbr/></p>
3616<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3617should transition back to INACTIVE and then act as if it
3618has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003619 </li>
3620 <li>
3621 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003622 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3623trigger is ignored,<wbr/> AF state should always be
3624INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003625 </li>
3626 </ul>
3627
3628 </td> <!-- entry_type -->
3629
3630 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003631 <p>Whether AF is currently enabled,<wbr/> and what
3632mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003633 </td>
3634
3635 <td class="entry_units">
3636 </td>
3637
3638 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003639 <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003640 </td>
3641
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003642 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003643 <ul class="entry_tags">
3644 <li><a href="#tag_BC">BC</a></li>
3645 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003646 </td>
3647
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003648 </tr>
3649 <tr class="entries_header">
3650 <th class="th_details" colspan="5">Details</th>
3651 </tr>
3652 <tr class="entry_cont">
3653 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003654 <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
Zhijun Hef163fa92014-01-14 09:59:04 -08003655<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3656the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3657in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003658 </td>
3659 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003660
3661
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003662 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3663 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003664
3665
3666 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003667 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003668 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003669 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003670 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003671 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003672 <span class="entry_type_container">x</span>
3673
3674 <span class="entry_type_array">
3675 5 x area_count
3676 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003677 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003678
3679
3680 </td> <!-- entry_type -->
3681
3682 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003683 <p>List of areas to use for focus
3684estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003685 </td>
3686
3687 <td class="entry_units">
3688 </td>
3689
3690 <td class="entry_range">
3691 </td>
3692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003693 <td class="entry_tags">
3694 <ul class="entry_tags">
3695 <li><a href="#tag_BC">BC</a></li>
3696 </ul>
3697 </td>
3698
3699 </tr>
3700 <tr class="entries_header">
3701 <th class="th_details" colspan="5">Details</th>
3702 </tr>
3703 <tr class="entry_cont">
3704 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003705 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3706xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3707specified coordinates.<wbr/></p>
3708<p>The coordinate system is based on the active pixel array,<wbr/>
3709with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003710(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3711<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08003712bottom-right pixel in the active pixel array.<wbr/> The weight
3713should be nonnegative.<wbr/></p>
3714<p>If all regions have 0 weight,<wbr/> then no specific focus area
3715needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003716outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003717should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003718used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003719 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003720 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003721
3722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003723 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3724 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003725
3726
3727 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003728 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003729 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003730 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003731 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003732 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003733
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003735
3736 <ul class="entry_type_enum">
3737 <li>
3738 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003739 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3740to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3741this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003742 </li>
3743 <li>
3744 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003745 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3746currently doing an AF scan initiated by a continuous
3747autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003748 </li>
3749 <li>
3750 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003751 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3752believes it is in focus,<wbr/> but may restart scanning at
3753any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003754 </li>
3755 <li>
3756 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003757 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3758an AF scan because it was triggered by AF
3759trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003760 </li>
3761 <li>
3762 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003763 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3764believes it is focused correctly and is
3765locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003766 </li>
3767 <li>
3768 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003769 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3770failed to focus successfully and is
3771locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003772 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003773 <li>
3774 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003775 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3776passive scan without finding focus,<wbr/> and may restart
3777scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003778 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003779 </ul>
3780
3781 </td> <!-- entry_type -->
3782
3783 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003784 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003785 </td>
3786
3787 <td class="entry_units">
3788 </td>
3789
3790 <td class="entry_range">
3791 </td>
3792
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003793 <td class="entry_tags">
3794 </td>
3795
3796 </tr>
3797 <tr class="entries_header">
3798 <th class="th_details" colspan="5">Details</th>
3799 </tr>
3800 <tr class="entry_cont">
3801 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003802 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3803resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3804or <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code> resets all
3805the algorithm states to INACTIVE.<wbr/></p>
3806<p>The camera device can do several state transitions between two results,<wbr/> if it is
3807allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3808seen in a result.<wbr/></p>
3809<p>The state in the result is the state for this image (in sync with this image): if
3810AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3811be sharp.<wbr/></p>
3812<p>Below are state transition tables for different AF modes.<wbr/></p>
3813<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>OFF or AF_<wbr/>MODE_<wbr/>EDOF:</p>
3814<table>
3815<thead>
3816<tr>
3817<th align="center">State</th>
3818<th align="center">Transition Cause</th>
3819<th align="center">New State</th>
3820<th align="center">Notes</th>
3821</tr>
3822</thead>
3823<tbody>
3824<tr>
3825<td align="center">INACTIVE</td>
3826<td align="center"></td>
3827<td align="center">INACTIVE</td>
3828<td align="center">Never changes</td>
3829</tr>
3830</tbody>
3831</table>
3832<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>AUTO or AF_<wbr/>MODE_<wbr/>MACRO:</p>
3833<table>
3834<thead>
3835<tr>
3836<th align="center">State</th>
3837<th align="center">Transition Cause</th>
3838<th align="center">New State</th>
3839<th align="center">Notes</th>
3840</tr>
3841</thead>
3842<tbody>
3843<tr>
3844<td align="center">INACTIVE</td>
3845<td align="center">AF_<wbr/>TRIGGER</td>
3846<td align="center">ACTIVE_<wbr/>SCAN</td>
3847<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3848</tr>
3849<tr>
3850<td align="center">ACTIVE_<wbr/>SCAN</td>
3851<td align="center">AF sweep done</td>
3852<td align="center">FOCUSED_<wbr/>LOCKED</td>
3853<td align="center">Focused,<wbr/> Lens now locked</td>
3854</tr>
3855<tr>
3856<td align="center">ACTIVE_<wbr/>SCAN</td>
3857<td align="center">AF sweep done</td>
3858<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3859<td align="center">Not focused,<wbr/> Lens now locked</td>
3860</tr>
3861<tr>
3862<td align="center">ACTIVE_<wbr/>SCAN</td>
3863<td align="center">AF_<wbr/>CANCEL</td>
3864<td align="center">INACTIVE</td>
3865<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3866</tr>
3867<tr>
3868<td align="center">FOCUSED_<wbr/>LOCKED</td>
3869<td align="center">AF_<wbr/>CANCEL</td>
3870<td align="center">INACTIVE</td>
3871<td align="center">Cancel/<wbr/>reset AF</td>
3872</tr>
3873<tr>
3874<td align="center">FOCUSED_<wbr/>LOCKED</td>
3875<td align="center">AF_<wbr/>TRIGGER</td>
3876<td align="center">ACTIVE_<wbr/>SCAN</td>
3877<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3878</tr>
3879<tr>
3880<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3881<td align="center">AF_<wbr/>CANCEL</td>
3882<td align="center">INACTIVE</td>
3883<td align="center">Cancel/<wbr/>reset AF</td>
3884</tr>
3885<tr>
3886<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3887<td align="center">AF_<wbr/>TRIGGER</td>
3888<td align="center">ACTIVE_<wbr/>SCAN</td>
3889<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3890</tr>
3891<tr>
3892<td align="center">Any state</td>
3893<td align="center">Mode change</td>
3894<td align="center">INACTIVE</td>
3895<td align="center"></td>
3896</tr>
3897</tbody>
3898</table>
3899<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>CONTINUOUS_<wbr/>VIDEO:</p>
3900<table>
3901<thead>
3902<tr>
3903<th align="center">State</th>
3904<th align="center">Transition Cause</th>
3905<th align="center">New State</th>
3906<th align="center">Notes</th>
3907</tr>
3908</thead>
3909<tbody>
3910<tr>
3911<td align="center">INACTIVE</td>
3912<td align="center">Camera device initiates new scan</td>
3913<td align="center">PASSIVE_<wbr/>SCAN</td>
3914<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3915</tr>
3916<tr>
3917<td align="center">INACTIVE</td>
3918<td align="center">AF_<wbr/>TRIGGER</td>
3919<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3920<td align="center">AF state query,<wbr/> Lens now locked</td>
3921</tr>
3922<tr>
3923<td align="center">PASSIVE_<wbr/>SCAN</td>
3924<td align="center">Camera device completes current scan</td>
3925<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3926<td align="center">End AF scan,<wbr/> Lens now locked</td>
3927</tr>
3928<tr>
3929<td align="center">PASSIVE_<wbr/>SCAN</td>
3930<td align="center">Camera device fails current scan</td>
3931<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3932<td align="center">End AF scan,<wbr/> Lens now locked</td>
3933</tr>
3934<tr>
3935<td align="center">PASSIVE_<wbr/>SCAN</td>
3936<td align="center">AF_<wbr/>TRIGGER</td>
3937<td align="center">FOCUSED_<wbr/>LOCKED</td>
3938<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
3939</tr>
3940<tr>
3941<td align="center">PASSIVE_<wbr/>SCAN</td>
3942<td align="center">AF_<wbr/>TRIGGER</td>
3943<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3944<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
3945</tr>
3946<tr>
3947<td align="center">PASSIVE_<wbr/>SCAN</td>
3948<td align="center">AF_<wbr/>CANCEL</td>
3949<td align="center">INACTIVE</td>
3950<td align="center">Reset lens position,<wbr/> Lens now locked</td>
3951</tr>
3952<tr>
3953<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3954<td align="center">Camera device initiates new scan</td>
3955<td align="center">PASSIVE_<wbr/>SCAN</td>
3956<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3957</tr>
3958<tr>
3959<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3960<td align="center">Camera device initiates new scan</td>
3961<td align="center">PASSIVE_<wbr/>SCAN</td>
3962<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3963</tr>
3964<tr>
3965<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3966<td align="center">AF_<wbr/>TRIGGER</td>
3967<td align="center">FOCUSED_<wbr/>LOCKED</td>
3968<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3969</tr>
3970<tr>
3971<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3972<td align="center">AF_<wbr/>TRIGGER</td>
3973<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3974<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3975</tr>
3976<tr>
3977<td align="center">FOCUSED_<wbr/>LOCKED</td>
3978<td align="center">AF_<wbr/>TRIGGER</td>
3979<td align="center">FOCUSED_<wbr/>LOCKED</td>
3980<td align="center">No effect</td>
3981</tr>
3982<tr>
3983<td align="center">FOCUSED_<wbr/>LOCKED</td>
3984<td align="center">AF_<wbr/>CANCEL</td>
3985<td align="center">INACTIVE</td>
3986<td align="center">Restart AF scan</td>
3987</tr>
3988<tr>
3989<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3990<td align="center">AF_<wbr/>TRIGGER</td>
3991<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3992<td align="center">No effect</td>
3993</tr>
3994<tr>
3995<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3996<td align="center">AF_<wbr/>CANCEL</td>
3997<td align="center">INACTIVE</td>
3998<td align="center">Restart AF scan</td>
3999</tr>
4000</tbody>
4001</table>
4002<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>CONTINUOUS_<wbr/>PICTURE:</p>
4003<table>
4004<thead>
4005<tr>
4006<th align="center">State</th>
4007<th align="center">Transition Cause</th>
4008<th align="center">New State</th>
4009<th align="center">Notes</th>
4010</tr>
4011</thead>
4012<tbody>
4013<tr>
4014<td align="center">INACTIVE</td>
4015<td align="center">Camera device initiates new scan</td>
4016<td align="center">PASSIVE_<wbr/>SCAN</td>
4017<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4018</tr>
4019<tr>
4020<td align="center">INACTIVE</td>
4021<td align="center">AF_<wbr/>TRIGGER</td>
4022<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4023<td align="center">AF state query,<wbr/> Lens now locked</td>
4024</tr>
4025<tr>
4026<td align="center">PASSIVE_<wbr/>SCAN</td>
4027<td align="center">Camera device completes current scan</td>
4028<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4029<td align="center">End AF scan,<wbr/> Lens now locked</td>
4030</tr>
4031<tr>
4032<td align="center">PASSIVE_<wbr/>SCAN</td>
4033<td align="center">Camera device fails current scan</td>
4034<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4035<td align="center">End AF scan,<wbr/> Lens now locked</td>
4036</tr>
4037<tr>
4038<td align="center">PASSIVE_<wbr/>SCAN</td>
4039<td align="center">AF_<wbr/>TRIGGER</td>
4040<td align="center">FOCUSED_<wbr/>LOCKED</td>
4041<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4042</tr>
4043<tr>
4044<td align="center">PASSIVE_<wbr/>SCAN</td>
4045<td align="center">AF_<wbr/>TRIGGER</td>
4046<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4047<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4048</tr>
4049<tr>
4050<td align="center">PASSIVE_<wbr/>SCAN</td>
4051<td align="center">AF_<wbr/>CANCEL</td>
4052<td align="center">INACTIVE</td>
4053<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4054</tr>
4055<tr>
4056<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4057<td align="center">Camera device initiates new scan</td>
4058<td align="center">PASSIVE_<wbr/>SCAN</td>
4059<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4060</tr>
4061<tr>
4062<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4063<td align="center">Camera device initiates new scan</td>
4064<td align="center">PASSIVE_<wbr/>SCAN</td>
4065<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4066</tr>
4067<tr>
4068<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4069<td align="center">AF_<wbr/>TRIGGER</td>
4070<td align="center">FOCUSED_<wbr/>LOCKED</td>
4071<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4072</tr>
4073<tr>
4074<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4075<td align="center">AF_<wbr/>TRIGGER</td>
4076<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4077<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4078</tr>
4079<tr>
4080<td align="center">FOCUSED_<wbr/>LOCKED</td>
4081<td align="center">AF_<wbr/>TRIGGER</td>
4082<td align="center">FOCUSED_<wbr/>LOCKED</td>
4083<td align="center">No effect</td>
4084</tr>
4085<tr>
4086<td align="center">FOCUSED_<wbr/>LOCKED</td>
4087<td align="center">AF_<wbr/>CANCEL</td>
4088<td align="center">INACTIVE</td>
4089<td align="center">Restart AF scan</td>
4090</tr>
4091<tr>
4092<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4093<td align="center">AF_<wbr/>TRIGGER</td>
4094<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4095<td align="center">No effect</td>
4096</tr>
4097<tr>
4098<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4099<td align="center">AF_<wbr/>CANCEL</td>
4100<td align="center">INACTIVE</td>
4101<td align="center">Restart AF scan</td>
4102</tr>
4103</tbody>
4104</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004105 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004106 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004107
4108
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004109 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4110 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004111
4112
4113 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004114 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004115 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004116 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004117 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004118 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004119
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004120 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004121
4122
4123 </td> <!-- entry_type -->
4124
4125 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004126 <p>The ID sent with the latest
4127CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004128 </td>
4129
4130 <td class="entry_units">
4131 </td>
4132
4133 <td class="entry_range">
4134 </td>
4135
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004136 <td class="entry_tags">
4137 </td>
4138
4139 </tr>
4140 <tr class="entries_header">
4141 <th class="th_details" colspan="5">Details</th>
4142 </tr>
4143 <tr class="entry_cont">
4144 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004145 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4146received yet by HAL.<wbr/> Always updated even if AF algorithm
4147ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004148 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004149 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004150
4151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004152 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4153 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004154
4155
4156 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004157 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004158 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004159 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004160 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004161 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004162
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004163 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004164
4165 <ul class="entry_type_enum">
4166 <li>
4167 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004168 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4169the application-selected color transform matrix
4170(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4171(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4172device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004173 </li>
4174 <li>
4175 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004176 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4177the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4178and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004179 </li>
4180 <li>
4181 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004182 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4183the camera device uses incandescent light as the assumed scene
4184illumination for white balance.<wbr/> While the exact white balance
4185transforms are up to the camera device,<wbr/> they will approximately
4186match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004187 </li>
4188 <li>
4189 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004190 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4191the camera device uses fluorescent light as the assumed scene
4192illumination for white balance.<wbr/> While the exact white balance
4193transforms are up to the camera device,<wbr/> they will approximately
4194match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004195 </li>
4196 <li>
4197 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004198 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4199the camera device uses warm fluorescent light as the assumed scene
4200illumination for white balance.<wbr/> While the exact white balance
4201transforms are up to the camera device,<wbr/> they will approximately
4202match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004203 </li>
4204 <li>
4205 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004206 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4207the camera device uses daylight light as the assumed scene
4208illumination for white balance.<wbr/> While the exact white balance
4209transforms are up to the camera device,<wbr/> they will approximately
4210match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004211 </li>
4212 <li>
4213 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004214 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4215the camera device uses cloudy daylight light as the assumed scene
4216illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004217 </li>
4218 <li>
4219 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004220 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4221the camera device uses twilight light as the assumed scene
4222illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004223 </li>
4224 <li>
4225 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004226 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4227the camera device uses shade light as the assumed scene
4228illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004229 </li>
4230 </ul>
4231
4232 </td> <!-- entry_type -->
4233
4234 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004235 <p>Whether AWB is currently setting the color
4236transform fields,<wbr/> and what its illumination target
4237is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004238 </td>
4239
4240 <td class="entry_units">
4241 </td>
4242
4243 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004244 <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004245 </td>
4246
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004247 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004248 <ul class="entry_tags">
4249 <li><a href="#tag_BC">BC</a></li>
4250 <li><a href="#tag_AWB">AWB</a></li>
4251 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004252 </td>
4253
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004254 </tr>
4255 <tr class="entries_header">
4256 <th class="th_details" colspan="5">Details</th>
4257 </tr>
4258 <tr class="entry_cont">
4259 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004260 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4261<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4262routine is enabled,<wbr/> overriding the application's selected
4263<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
4264<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4265<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4266routine is disabled.<wbr/> The applicantion manually controls the white
4267balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4268and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4269<p>When set to any other modes,<wbr/> the camera device's auto white balance
4270routine is disabled.<wbr/> The camera device uses each particular illumination
4271target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004272 </td>
4273 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004274
4275
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004276 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4277 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004278
4279
4280 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004281 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004282 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004283 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004284 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004285 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004286 <span class="entry_type_container">x</span>
4287
4288 <span class="entry_type_array">
4289 5 x area_count
4290 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004291 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004292
4293
4294 </td> <!-- entry_type -->
4295
4296 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004297 <p>List of areas to use for illuminant
4298estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004299 </td>
4300
4301 <td class="entry_units">
4302 </td>
4303
4304 <td class="entry_range">
4305 </td>
4306
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004307 <td class="entry_tags">
4308 <ul class="entry_tags">
4309 <li><a href="#tag_BC">BC</a></li>
4310 </ul>
4311 </td>
4312
4313 </tr>
4314 <tr class="entries_header">
4315 <th class="th_details" colspan="5">Details</th>
4316 </tr>
4317 <tr class="entry_cont">
4318 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004319 <p>Only used in AUTO mode.<wbr/></p>
4320<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4321xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4322specified coordinates.<wbr/></p>
4323<p>The coordinate system is based on the active pixel array,<wbr/>
4324with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004325(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4326<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08004327bottom-right pixel in the active pixel array.<wbr/> The weight
4328should be nonnegative.<wbr/></p>
4329<p>If all regions have 0 weight,<wbr/> then no specific metering area
4330needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004331outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004332should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004333used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004334 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004335 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004336
4337
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004338 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4339 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004340
4341
4342 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004343 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004344 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004345 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004349 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004350
4351 <ul class="entry_type_enum">
4352 <li>
4353 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004354 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4355starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004356 </li>
4357 <li>
4358 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004359 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004360values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004361 </li>
4362 <li>
4363 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004364 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004365current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004366 </li>
4367 <li>
4368 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004369 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004370 </li>
4371 </ul>
4372
4373 </td> <!-- entry_type -->
4374
4375 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004376 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004377 </td>
4378
4379 <td class="entry_units">
4380 </td>
4381
4382 <td class="entry_range">
4383 </td>
4384
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004385 <td class="entry_tags">
4386 </td>
4387
4388 </tr>
4389 <tr class="entries_header">
4390 <th class="th_details" colspan="5">Details</th>
4391 </tr>
4392 <tr class="entry_cont">
4393 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004394 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4395resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4396or <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code> resets all
4397the algorithm states to INACTIVE.<wbr/></p>
4398<p>The camera device can do several state transitions between two results,<wbr/> if it is
4399allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4400a result.<wbr/></p>
4401<p>The state in the result is the state for this image (in sync with this image): if
4402AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4403be good to use.<wbr/></p>
4404<p>Below are state transition tables for different AWB modes.<wbr/></p>
4405<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4406<table>
4407<thead>
4408<tr>
4409<th align="center">State</th>
4410<th align="center">Transition Cause</th>
4411<th align="center">New State</th>
4412<th align="center">Notes</th>
4413</tr>
4414</thead>
4415<tbody>
4416<tr>
4417<td align="center">INACTIVE</td>
4418<td align="center"></td>
4419<td align="center">INACTIVE</td>
4420<td align="center">Camera device auto white balance algorithm is disabled</td>
4421</tr>
4422</tbody>
4423</table>
4424<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4425<table>
4426<thead>
4427<tr>
4428<th align="center">State</th>
4429<th align="center">Transition Cause</th>
4430<th align="center">New State</th>
4431<th align="center">Notes</th>
4432</tr>
4433</thead>
4434<tbody>
4435<tr>
4436<td align="center">INACTIVE</td>
4437<td align="center">Camera device initiates AWB scan</td>
4438<td align="center">SEARCHING</td>
4439<td align="center">Values changing</td>
4440</tr>
4441<tr>
4442<td align="center">INACTIVE</td>
4443<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4444<td align="center">LOCKED</td>
4445<td align="center">Values locked</td>
4446</tr>
4447<tr>
4448<td align="center">SEARCHING</td>
4449<td align="center">Camera device finishes AWB scan</td>
4450<td align="center">CONVERGED</td>
4451<td align="center">Good values,<wbr/> not changing</td>
4452</tr>
4453<tr>
4454<td align="center">SEARCHING</td>
4455<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4456<td align="center">LOCKED</td>
4457<td align="center">Values locked</td>
4458</tr>
4459<tr>
4460<td align="center">CONVERGED</td>
4461<td align="center">Camera device initiates AWB scan</td>
4462<td align="center">SEARCHING</td>
4463<td align="center">Values changing</td>
4464</tr>
4465<tr>
4466<td align="center">CONVERGED</td>
4467<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4468<td align="center">LOCKED</td>
4469<td align="center">Values locked</td>
4470</tr>
4471<tr>
4472<td align="center">LOCKED</td>
4473<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4474<td align="center">SEARCHING</td>
4475<td align="center">Values not good after unlock</td>
4476</tr>
4477<tr>
4478<td align="center">LOCKED</td>
4479<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4480<td align="center">CONVERGED</td>
4481<td align="center">Values good after unlock</td>
4482</tr>
4483</tbody>
4484</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004485 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004486 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004487
4488
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004489 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4490 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004491
4492
4493 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004494 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004495 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004496 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004497 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004498 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004499
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004500 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004501
4502 <ul class="entry_type_enum">
4503 <li>
4504 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004505 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4506routines are disabled,<wbr/> no other settings in
4507android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004508 </li>
4509 <li>
4510 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004511 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4512Manual control of capture parameters is disabled.<wbr/> All
4513controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4514effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004515 </li>
4516 <li>
4517 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004518 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4519control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4520controls; the HAL must ignore those settings while
4521USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4522scene mode).<wbr/> Other control entries are still active.<wbr/>
4523This setting can only be used if availableSceneModes !=
4524UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004525 </li>
4526 </ul>
4527
4528 </td> <!-- entry_type -->
4529
4530 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004531 <p>Overall mode of 3A control
4532routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004533 </td>
4534
4535 <td class="entry_units">
4536 </td>
4537
4538 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004539 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004540 </td>
4541
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004542 <td class="entry_tags">
4543 <ul class="entry_tags">
4544 <li><a href="#tag_BC">BC</a></li>
4545 </ul>
4546 </td>
4547
4548 </tr>
4549 <tr class="entries_header">
4550 <th class="th_details" colspan="5">Details</th>
4551 </tr>
4552 <tr class="entry_cont">
4553 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004554 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004555by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004556capture parameters itself.<wbr/></p>
4557<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004558android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08004559<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004560android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004561one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004562as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004563<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004564 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004565 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004566
4567
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004568 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4569 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004570
4571
4572
4573 <!-- end of kind -->
4574 </tbody>
4575
4576 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004577 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004578
4579
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004580 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004581
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004582 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004583 <tr>
4584 <th class="th_name">Property Name</th>
4585 <th class="th_type">Type</th>
4586 <th class="th_description">Description</th>
4587 <th class="th_units">Units</th>
4588 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004589 <th class="th_tags">Tags</th>
4590 </tr>
4591 </thead>
4592
4593 <tbody>
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004605 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004606 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004607 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004608 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004609 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004610
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004611 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004612
4613 <ul class="entry_type_enum">
4614 <li>
4615 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004616 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4617Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004618 </li>
4619 <li>
4620 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004621 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4622rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004623 </li>
4624 </ul>
4625
4626 </td> <!-- entry_type -->
4627
4628 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004629 <p>Controls the quality of the demosaicing
4630processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004631 </td>
4632
4633 <td class="entry_units">
4634 </td>
4635
4636 <td class="entry_range">
4637 </td>
4638
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004639 <td class="entry_tags">
4640 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004641 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004642 </ul>
4643 </td>
4644
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004645 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004646
4647
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004648 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4649 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004650
4651
4652
4653 <!-- end of kind -->
4654 </tbody>
4655
4656 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004657 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004658
4659
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004660 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004661
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004662 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004663 <tr>
4664 <th class="th_name">Property Name</th>
4665 <th class="th_type">Type</th>
4666 <th class="th_description">Description</th>
4667 <th class="th_units">Units</th>
4668 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004669 <th class="th_tags">Tags</th>
4670 </tr>
4671 </thead>
4672
4673 <tbody>
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004685 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004686 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004687 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004688 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004689 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004690
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004692
4693 <ul class="entry_type_enum">
4694 <li>
4695 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004696 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004697 </li>
4698 <li>
4699 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004700 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4701output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004702 </li>
4703 <li>
4704 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004705 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4706quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004707 </li>
4708 </ul>
4709
4710 </td> <!-- entry_type -->
4711
4712 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004713 <p>Operation mode for edge
4714enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004715 </td>
4716
4717 <td class="entry_units">
4718 </td>
4719
4720 <td class="entry_range">
4721 </td>
4722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004723 <td class="entry_tags">
4724 </td>
4725
4726 </tr>
4727 <tr class="entries_header">
4728 <th class="th_details" colspan="5">Details</th>
4729 </tr>
4730 <tr class="entry_cont">
4731 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004732 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4733enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004734<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004735will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004736camera device will use the highest-quality enhancement algorithms,<wbr/>
4737even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004738not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004739 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004740 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004741
4742
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004743 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4744 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004745
4746
4747 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004748 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004749 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004750 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004752 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004753
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004754 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004755
4756
4757 </td> <!-- entry_type -->
4758
4759 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004760 <p>Control the amount of edge enhancement
4761applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004762 </td>
4763
4764 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004765 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004766 </td>
4767
4768 <td class="entry_range">
4769 </td>
4770
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004771 <td class="entry_tags">
4772 </td>
4773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004774 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004775
4776
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004777 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4778 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004779
4780
4781
4782 <!-- end of kind -->
4783 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004784 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004786 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004787 <tr>
4788 <th class="th_name">Property Name</th>
4789 <th class="th_type">Type</th>
4790 <th class="th_description">Description</th>
4791 <th class="th_units">Units</th>
4792 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004793 <th class="th_tags">Tags</th>
4794 </tr>
4795 </thead>
4796
4797 <tbody>
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004809 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004810 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004811 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004812 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004813 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004814
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004815 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004816
4817 <ul class="entry_type_enum">
4818 <li>
4819 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004820 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004821 </li>
4822 <li>
4823 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004824 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4825output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004826 </li>
4827 <li>
4828 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004829 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4830quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004831 </li>
4832 </ul>
4833
4834 </td> <!-- entry_type -->
4835
4836 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004837 <p>Operation mode for edge
4838enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004839 </td>
4840
4841 <td class="entry_units">
4842 </td>
4843
4844 <td class="entry_range">
4845 </td>
4846
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004847 <td class="entry_tags">
4848 </td>
4849
4850 </tr>
4851 <tr class="entries_header">
4852 <th class="th_details" colspan="5">Details</th>
4853 </tr>
4854 <tr class="entry_cont">
4855 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004856 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4857enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004858<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004859will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004860camera device will use the highest-quality enhancement algorithms,<wbr/>
4861even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004862not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004863 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004864 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004865
4866
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004867 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4868 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004869
4870
4871
4872 <!-- end of kind -->
4873 </tbody>
4874
4875 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004876 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004877
4878
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004879 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004880
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004881 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004882 <tr>
4883 <th class="th_name">Property Name</th>
4884 <th class="th_type">Type</th>
4885 <th class="th_description">Description</th>
4886 <th class="th_units">Units</th>
4887 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004888 <th class="th_tags">Tags</th>
4889 </tr>
4890 </thead>
4891
4892 <tbody>
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004904 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004905 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004906 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004907 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004908 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004909
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004910 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004911
4912
4913 </td> <!-- entry_type -->
4914
4915 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004916 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004917 </td>
4918
4919 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004920 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004921 </td>
4922
4923 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004924 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004925 </td>
4926
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004927 <td class="entry_tags">
4928 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004929 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004930 </ul>
4931 </td>
4932
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004933 </tr>
4934 <tr class="entries_header">
4935 <th class="th_details" colspan="5">Details</th>
4936 </tr>
4937 <tr class="entry_cont">
4938 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004939 <p>Power for snapshot may use a different scale than
4940for torch mode.<wbr/> Only one entry for torch mode will be
4941used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004942 </td>
4943 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004944
4945
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004946 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4947 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004948
4949
4950 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004951 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004952 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004953 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004955 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004957 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004958
4959
4960 </td> <!-- entry_type -->
4961
4962 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004963 <p>Firing time of flash relative to start of
4964exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004965 </td>
4966
4967 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004968 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004969 </td>
4970
4971 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004972 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004973 </td>
4974
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004975 <td class="entry_tags">
4976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004977 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004978 </ul>
4979 </td>
4980
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004981 </tr>
4982 <tr class="entries_header">
4983 <th class="th_details" colspan="5">Details</th>
4984 </tr>
4985 <tr class="entry_cont">
4986 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004987 <p>Clamped to (0,<wbr/> exposure time - flash
4988duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004989 </td>
4990 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004991
4992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004993 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4994 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004995
4996
4997 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08004998 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004999 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005000 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005001 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005002 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005003
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005004 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005005
5006 <ul class="entry_type_enum">
5007 <li>
5008 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005009 <span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005010 </li>
5011 <li>
5012 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005013 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5014for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5015<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005016 </li>
5017 <li>
5018 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005019 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005020 </li>
5021 </ul>
5022
5023 </td> <!-- entry_type -->
5024
5025 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005026 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005027 </td>
5028
5029 <td class="entry_units">
5030 </td>
5031
5032 <td class="entry_range">
5033 </td>
5034
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005035 <td class="entry_tags">
5036 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005037 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005038 </ul>
5039 </td>
5040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005041 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005042 <tr class="entries_header">
5043 <th class="th_details" colspan="5">Details</th>
5044 </tr>
5045 <tr class="entry_cont">
5046 <td class="entry_details" colspan="5">
5047 <p>This control is only effective when flash unit is available
5048(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5049<p>When this control is used,<wbr/> the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> must be set to ON or OFF.<wbr/>
5050Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5051ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5052<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5053<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5054device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5055control should be used along with AE precapture metering sequence
5056(<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>),<wbr/> otherwise,<wbr/> the image may be incorrectly exposed.<wbr/></p>
5057<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5058for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5059 </td>
5060 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005061
5062
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005063 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5064 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005065
5066
5067
5068 <!-- end of kind -->
5069 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005070 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005071
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005072 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005073 <tr>
5074 <th class="th_name">Property Name</th>
5075 <th class="th_type">Type</th>
5076 <th class="th_description">Description</th>
5077 <th class="th_units">Units</th>
5078 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005079 <th class="th_tags">Tags</th>
5080 </tr>
5081 </thead>
5082
5083 <tbody>
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005097 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005098 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005099 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005100 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005101 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005102
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005103 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005104
5105
5106 </td> <!-- entry_type -->
5107
5108 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005109 <p>Whether this camera has a
5110flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005111 </td>
5112
5113 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005114 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005115 </td>
5116
5117 <td class="entry_range">
5118 </td>
5119
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005120 <td class="entry_tags">
5121 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005122 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005123 </ul>
5124 </td>
5125
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005126 </tr>
5127 <tr class="entries_header">
5128 <th class="th_details" colspan="5">Details</th>
5129 </tr>
5130 <tr class="entry_cont">
5131 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005132 <p>If no flash,<wbr/> none of the flash controls do
5133anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005134 </td>
5135 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005136
5137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005138 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5139 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005140
5141
5142 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005143 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005144 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005145 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005146 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005147 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005148
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005149 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005150
5151
5152 </td> <!-- entry_type -->
5153
5154 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005155 <p>Time taken before flash can fire
5156again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005157 </td>
5158
5159 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005160 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005161 </td>
5162
5163 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005164 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005165 </td>
5166
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005167 <td class="entry_tags">
5168 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005169 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005170 </ul>
5171 </td>
5172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005173 </tr>
5174 <tr class="entries_header">
5175 <th class="th_details" colspan="5">Details</th>
5176 </tr>
5177 <tr class="entry_cont">
5178 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005179 <p>1 second too long/<wbr/>too short for recharge? Should
5180this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005181 </td>
5182 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005183
5184
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005185 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5186 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005187
5188
5189
5190
5191
5192 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005193 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005194 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005195 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005197 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005198
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005199 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005200
5201
5202 </td> <!-- entry_type -->
5203
5204 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005205 <p>The x,<wbr/>y whitepoint of the
5206flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005207 </td>
5208
5209 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005210 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005211 </td>
5212
5213 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005214 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005215 </td>
5216
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005217 <td class="entry_tags">
5218 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005219 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005220 </ul>
5221 </td>
5222
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005223 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005224
5225
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005226 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5227 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005228
5229
5230 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005231 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005232 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005233 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005235 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005236
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005237 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005238
5239
5240 </td> <!-- entry_type -->
5241
5242 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005243 <p>Max energy output of the flash for a full
5244power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005245 </td>
5246
5247 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005248 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005249 </td>
5250
5251 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005252 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005253 </td>
5254
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005255 <td class="entry_tags">
5256 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005257 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005258 </ul>
5259 </td>
5260
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005261 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005262
5263
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005264 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5265 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005266
5267
5268
5269 <!-- end of kind -->
5270 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005271 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005272
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005273 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005274 <tr>
5275 <th class="th_name">Property Name</th>
5276 <th class="th_type">Type</th>
5277 <th class="th_description">Description</th>
5278 <th class="th_units">Units</th>
5279 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005280 <th class="th_tags">Tags</th>
5281 </tr>
5282 </thead>
5283
5284 <tbody>
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005296 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005297 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005298 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005299 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005300 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005301
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005302 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005303
5304
5305 </td> <!-- entry_type -->
5306
5307 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005308 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005309 </td>
5310
5311 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005312 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005313 </td>
5314
5315 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005316 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005317 </td>
5318
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005319 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005320 <ul class="entry_tags">
5321 <li><a href="#tag_V1">V1</a></li>
5322 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005323 </td>
5324
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005325 </tr>
5326 <tr class="entries_header">
5327 <th class="th_details" colspan="5">Details</th>
5328 </tr>
5329 <tr class="entry_cont">
5330 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005331 <p>Power for snapshot may use a different scale than
5332for torch mode.<wbr/> Only one entry for torch mode will be
5333used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005334 </td>
5335 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005336
5337
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005338 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5339 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005340
5341
5342 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005343 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005344 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005345 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005347 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005349 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005350
5351
5352 </td> <!-- entry_type -->
5353
5354 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005355 <p>Firing time of flash relative to start of
5356exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005357 </td>
5358
5359 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005360 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005361 </td>
5362
5363 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005364 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005365 </td>
5366
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005367 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005368 <ul class="entry_tags">
5369 <li><a href="#tag_V1">V1</a></li>
5370 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005371 </td>
5372
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005373 </tr>
5374 <tr class="entries_header">
5375 <th class="th_details" colspan="5">Details</th>
5376 </tr>
5377 <tr class="entry_cont">
5378 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005379 <p>Clamped to (0,<wbr/> exposure time - flash
5380duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005381 </td>
5382 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005383
5384
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005385 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5386 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005387
5388
5389 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005390 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005391 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005392 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005393 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005394 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005395
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005396 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005397
5398 <ul class="entry_type_enum">
5399 <li>
5400 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005401 <span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005402 </li>
5403 <li>
5404 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005405 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5406for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5407<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005408 </li>
5409 <li>
5410 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005411 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005412 </li>
5413 </ul>
5414
5415 </td> <!-- entry_type -->
5416
5417 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005418 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005419 </td>
5420
5421 <td class="entry_units">
5422 </td>
5423
5424 <td class="entry_range">
5425 </td>
5426
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005427 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005428 <ul class="entry_tags">
5429 <li><a href="#tag_BC">BC</a></li>
5430 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005431 </td>
5432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005433 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005434 <tr class="entries_header">
5435 <th class="th_details" colspan="5">Details</th>
5436 </tr>
5437 <tr class="entry_cont">
5438 <td class="entry_details" colspan="5">
5439 <p>This control is only effective when flash unit is available
5440(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5441<p>When this control is used,<wbr/> the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> must be set to ON or OFF.<wbr/>
5442Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5443ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5444<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5445<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5446device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5447control should be used along with AE precapture metering sequence
5448(<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>),<wbr/> otherwise,<wbr/> the image may be incorrectly exposed.<wbr/></p>
5449<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5450for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5451 </td>
5452 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005453
5454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005455 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5456 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005457
5458
5459 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005460 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005461 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005462 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005463 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005464 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005465
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005466 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005467
5468 <ul class="entry_type_enum">
5469 <li>
5470 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005471 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472 </li>
5473 <li>
5474 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005475 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5476charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005477 </li>
5478 <li>
5479 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005480 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5481ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005482 </li>
5483 <li>
5484 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005485 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5486for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005487 </li>
5488 </ul>
5489
5490 </td> <!-- entry_type -->
5491
5492 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005493 <p>Current state of the flash
5494unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005495 </td>
5496
5497 <td class="entry_units">
5498 </td>
5499
5500 <td class="entry_range">
5501 </td>
5502
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005503 <td class="entry_tags">
5504 </td>
5505
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005506 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005507
5508
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005509 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5510 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005511
5512
5513
5514 <!-- end of kind -->
5515 </tbody>
5516
5517 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005518 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005519
5520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005521 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005522
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005523 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005524 <tr>
5525 <th class="th_name">Property Name</th>
5526 <th class="th_type">Type</th>
5527 <th class="th_description">Description</th>
5528 <th class="th_units">Units</th>
5529 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005530 <th class="th_tags">Tags</th>
5531 </tr>
5532 </thead>
5533
5534 <tbody>
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005546 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005547 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005548 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005549 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005550 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005551
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005552 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005553
5554 <ul class="entry_type_enum">
5555 <li>
5556 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005557 <span class="entry_type_enum_notes"><p>No geometric correction is
5558applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 </li>
5560 <li>
5561 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005562 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5563bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005564 </li>
5565 <li>
5566 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005567 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5568quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005569 </li>
5570 </ul>
5571
5572 </td> <!-- entry_type -->
5573
5574 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005575 <p>Operating mode of geometric
5576correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005577 </td>
5578
5579 <td class="entry_units">
5580 </td>
5581
5582 <td class="entry_range">
5583 </td>
5584
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005585 <td class="entry_tags">
5586 </td>
5587
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005588 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005589
5590
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005591 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5592 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005593
5594
5595 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005596 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005597 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005598 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005599 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005600 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005602 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005603
5604
5605 </td> <!-- entry_type -->
5606
5607 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005608 <p>Control the amount of shading correction
5609applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005610 </td>
5611
5612 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005613 unitless: 1-10; 10 is full shading
5614 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005615 </td>
5616
5617 <td class="entry_range">
5618 </td>
5619
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005620 <td class="entry_tags">
5621 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005622 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005623 </ul>
5624 </td>
5625
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005626 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005627
5628
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005629 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5630 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005631
5632
5633
5634 <!-- end of kind -->
5635 </tbody>
5636
5637 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005638 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005639
5640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005641 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005642
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005643 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005644 <tr>
5645 <th class="th_name">Property Name</th>
5646 <th class="th_type">Type</th>
5647 <th class="th_description">Description</th>
5648 <th class="th_units">Units</th>
5649 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005650 <th class="th_tags">Tags</th>
5651 </tr>
5652 </thead>
5653
5654 <tbody>
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005666 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005667 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005668 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005670 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005671
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005672 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005673
5674 <ul class="entry_type_enum">
5675 <li>
5676 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005677 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5678applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005679 </li>
5680 <li>
5681 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005682 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5683Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005684 </li>
5685 <li>
5686 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005687 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5688quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005689 </li>
5690 </ul>
5691
5692 </td> <!-- entry_type -->
5693
5694 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005695 <p>Set operational mode for hot pixel
5696correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005697 </td>
5698
5699 <td class="entry_units">
5700 </td>
5701
5702 <td class="entry_range">
5703 </td>
5704
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005705 <td class="entry_tags">
5706 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005707 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005708 </ul>
5709 </td>
5710
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005711 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005712
5713
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005714 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5715 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005716
5717
5718
5719 <!-- end of kind -->
5720 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005721 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005722
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005723 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005724 <tr>
5725 <th class="th_name">Property Name</th>
5726 <th class="th_type">Type</th>
5727 <th class="th_description">Description</th>
5728 <th class="th_units">Units</th>
5729 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005730 <th class="th_tags">Tags</th>
5731 </tr>
5732 </thead>
5733
5734 <tbody>
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005748 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005749 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005750 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005752 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005753 <span class="entry_type_container">x</span>
5754
5755 <span class="entry_type_array">
5756 2 x n
5757 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005758 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005759 <div class="entry_type_notes">list of coordinates based on android.<wbr/>sensor.<wbr/>pixel<wbr/>Array<wbr/>Size</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005760
5761
5762 </td> <!-- entry_type -->
5763
5764 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005765 <p>Location of hot/<wbr/>defective pixels on
5766sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005767 </td>
5768
5769 <td class="entry_units">
5770 </td>
5771
5772 <td class="entry_range">
5773 </td>
5774
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005775 <td class="entry_tags">
5776 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005777 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005778 </ul>
5779 </td>
5780
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005781 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005782
5783
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005784 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5785 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005786
5787
5788
5789
5790
5791
5792 <!-- end of kind -->
5793 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005794 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005795
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005796 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 <tr>
5798 <th class="th_name">Property Name</th>
5799 <th class="th_type">Type</th>
5800 <th class="th_description">Description</th>
5801 <th class="th_units">Units</th>
5802 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005803 <th class="th_tags">Tags</th>
5804 </tr>
5805 </thead>
5806
5807 <tbody>
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005819 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005820 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005821 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005822 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005823 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005824
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005825 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005826
5827 <ul class="entry_type_enum">
5828 <li>
5829 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005830 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5831applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005832 </li>
5833 <li>
5834 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005835 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5836Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005837 </li>
5838 <li>
5839 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005840 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5841quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005842 </li>
5843 </ul>
5844
5845 </td> <!-- entry_type -->
5846
5847 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005848 <p>Set operational mode for hot pixel
5849correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850 </td>
5851
5852 <td class="entry_units">
5853 </td>
5854
5855 <td class="entry_range">
5856 </td>
5857
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005858 <td class="entry_tags">
5859 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005860 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005861 </ul>
5862 </td>
5863
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005864 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005865
5866
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005867 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5868 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005869
5870
5871
5872 <!-- end of kind -->
5873 </tbody>
5874
5875 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005876 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005877
5878
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005879 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005880
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005881 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005882 <tr>
5883 <th class="th_name">Property Name</th>
5884 <th class="th_type">Type</th>
5885 <th class="th_description">Description</th>
5886 <th class="th_units">Units</th>
5887 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005888 <th class="th_tags">Tags</th>
5889 </tr>
5890 </thead>
5891
5892 <tbody>
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005904 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005905 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005906 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005907 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005908 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005909 <span class="entry_type_container">x</span>
5910
5911 <span class="entry_type_array">
5912 3
5913 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005914 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005915 <div class="entry_type_notes">latitude,<wbr/> longitude,<wbr/> altitude.<wbr/> First two in degrees,<wbr/> the third in meters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005916
5917
5918 </td> <!-- entry_type -->
5919
5920 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005921 <p>GPS coordinates to include in output JPEG
5922EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005923 </td>
5924
5925 <td class="entry_units">
5926 </td>
5927
5928 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005929 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005930 </td>
5931
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005932 <td class="entry_tags">
5933 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005934 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935 </ul>
5936 </td>
5937
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005938 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005939
5940
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005941 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5942 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005943
5944
5945 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005946 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005947 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005948 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005950 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005951
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005952 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005953
5954
5955 </td> <!-- entry_type -->
5956
5957 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005958 <p>32 characters describing GPS algorithm to
5959include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005960 </td>
5961
5962 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005963 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005964 </td>
5965
5966 <td class="entry_range">
5967 </td>
5968
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005969 <td class="entry_tags">
5970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005971 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972 </ul>
5973 </td>
5974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005975 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005976
5977
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005978 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5979 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005980
5981
5982 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005983 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005984 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005985 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005987 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005988
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990
5991
5992 </td> <!-- entry_type -->
5993
5994 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005995 <p>Time GPS fix was made to include in
5996EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005997 </td>
5998
5999 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006000 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006001 </td>
6002
6003 <td class="entry_range">
6004 </td>
6005
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006006 <td class="entry_tags">
6007 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006008 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006009 </ul>
6010 </td>
6011
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006012 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006013
6014
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006015 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6016 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006017
6018
6019 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006020 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006021 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006022 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006024 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006025
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006026 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006027
6028
6029 </td> <!-- entry_type -->
6030
6031 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006032 <p>Orientation of JPEG image to
6033write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006034 </td>
6035
6036 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006037 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006038 </td>
6039
6040 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006041 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006042 </td>
6043
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006044 <td class="entry_tags">
6045 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006046 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006047 </ul>
6048 </td>
6049
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006050 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006051
6052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006053 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6054 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055
6056
6057 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006058 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006059 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006060 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006062 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006063
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006064 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006065
6066
6067 </td> <!-- entry_type -->
6068
6069 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006070 <p>Compression quality of the final JPEG
6071image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006072 </td>
6073
6074 <td class="entry_units">
6075 </td>
6076
6077 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006078 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006079 </td>
6080
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081 <td class="entry_tags">
6082 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006083 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006084 </ul>
6085 </td>
6086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006087 </tr>
6088 <tr class="entries_header">
6089 <th class="th_details" colspan="5">Details</th>
6090 </tr>
6091 <tr class="entry_cont">
6092 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006093 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006094 </td>
6095 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006096
6097
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006098 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6099 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006100
6101
6102 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006103 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006104 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006105 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006106 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006107 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006108
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006109 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006110
6111
6112 </td> <!-- entry_type -->
6113
6114 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006115 <p>Compression quality of JPEG
6116thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006117 </td>
6118
6119 <td class="entry_units">
6120 </td>
6121
6122 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006123 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006124 </td>
6125
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006126 <td class="entry_tags">
6127 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006128 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006129 </ul>
6130 </td>
6131
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006132 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006133
6134
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006135 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6136 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006137
6138
6139 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006140 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006141 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006142 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006144 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006145 <span class="entry_type_container">x</span>
6146
6147 <span class="entry_type_array">
6148 2
6149 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006150 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006151
6152
6153 </td> <!-- entry_type -->
6154
6155 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006156 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006157 </td>
6158
6159 <td class="entry_units">
6160 </td>
6161
6162 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006163 <p>Size must be one of the size from <a href="#static_android.jpeg.availableThumbnailSizes">android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006164 </td>
6165
6166 <td class="entry_tags">
6167 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006168 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006169 </ul>
6170 </td>
6171
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006172 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006173 <tr class="entries_header">
6174 <th class="th_details" colspan="5">Details</th>
6175 </tr>
6176 <tr class="entry_cont">
6177 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006178 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6179but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006180<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6181the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006182 </td>
6183 </tr>
6184
6185
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006186 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6187 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006188
6189
6190
6191 <!-- end of kind -->
6192 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006193 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006194
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006195 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006196 <tr>
6197 <th class="th_name">Property Name</th>
6198 <th class="th_type">Type</th>
6199 <th class="th_description">Description</th>
6200 <th class="th_units">Units</th>
6201 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006202 <th class="th_tags">Tags</th>
6203 </tr>
6204 </thead>
6205
6206 <tbody>
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006218 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006219 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006222 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006223 <span class="entry_type_container">x</span>
6224
6225 <span class="entry_type_array">
6226 2 x n
6227 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006228 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006229
6230
6231 </td> <!-- entry_type -->
6232
6233 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006234 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006235 </td>
6236
6237 <td class="entry_units">
6238 </td>
6239
6240 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006241 <p>Will include at least one valid resolution,<wbr/> plus
6242(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006243 </td>
6244
6245 <td class="entry_tags">
6246 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006247 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006248 </ul>
6249 </td>
6250
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006251 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006252 <tr class="entries_header">
6253 <th class="th_details" colspan="5">Details</th>
6254 </tr>
6255 <tr class="entry_cont">
6256 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006257 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006258<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006259<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6260If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6261<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006262aspect ratio of largest size in <a href="#static_android.scaler.availableJpegSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes</a>.<wbr/>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006263The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006264in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006265<li>Each size in <a href="#static_android.scaler.availableJpegSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes</a> will have at least
Igor Murashkin0b080452013-12-27 15:30:25 -08006266one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6267and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006268<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006269</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006270 </td>
6271 </tr>
6272
6273
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006274 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6275 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006276
6277
6278 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006279 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006280 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006281 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006282 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006283 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006285 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006286
6287
6288 </td> <!-- entry_type -->
6289
6290 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006291 <p>Maximum size in bytes for the compressed
6292JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006293 </td>
6294
6295 <td class="entry_units">
6296 </td>
6297
6298 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006299 <p>Must be large enough to fit any JPEG produced by
6300the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006301 </td>
6302
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006303 <td class="entry_tags">
6304 </td>
6305
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006306 </tr>
6307 <tr class="entries_header">
6308 <th class="th_details" colspan="5">Details</th>
6309 </tr>
6310 <tr class="entry_cont">
6311 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006312 <p>This is used for sizing the gralloc buffers for
6313JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006314 </td>
6315 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006316
6317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006318 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6319 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006320
6321
6322
6323 <!-- end of kind -->
6324 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006325 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006326
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006327 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006328 <tr>
6329 <th class="th_name">Property Name</th>
6330 <th class="th_type">Type</th>
6331 <th class="th_description">Description</th>
6332 <th class="th_units">Units</th>
6333 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006334 <th class="th_tags">Tags</th>
6335 </tr>
6336 </thead>
6337
6338 <tbody>
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006350 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006351 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006352 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006353 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006354 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006355 <span class="entry_type_container">x</span>
6356
6357 <span class="entry_type_array">
6358 3
6359 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006360 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006361 <div class="entry_type_notes">latitude,<wbr/> longitude,<wbr/> altitude.<wbr/> First two in degrees,<wbr/> the third in meters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006362
6363
6364 </td> <!-- entry_type -->
6365
6366 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006367 <p>GPS coordinates to include in output JPEG
6368EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006369 </td>
6370
6371 <td class="entry_units">
6372 </td>
6373
6374 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006375 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006376 </td>
6377
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006378 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006379 <ul class="entry_tags">
6380 <li><a href="#tag_BC">BC</a></li>
6381 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006382 </td>
6383
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006384 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006385
6386
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006387 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6388 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006389
6390
6391 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006392 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006393 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006394 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006395 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006396 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006397
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006398 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006399
6400
6401 </td> <!-- entry_type -->
6402
6403 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006404 <p>32 characters describing GPS algorithm to
6405include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006406 </td>
6407
6408 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006409 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006410 </td>
6411
6412 <td class="entry_range">
6413 </td>
6414
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006415 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006416 <ul class="entry_tags">
6417 <li><a href="#tag_BC">BC</a></li>
6418 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006419 </td>
6420
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006421 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006422
6423
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006424 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6425 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006426
6427
6428 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006429 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006430 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006431 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006432 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006433 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006434
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006435 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006436
6437
6438 </td> <!-- entry_type -->
6439
6440 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006441 <p>Time GPS fix was made to include in
6442EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006443 </td>
6444
6445 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006446 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006447 </td>
6448
6449 <td class="entry_range">
6450 </td>
6451
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006452 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006453 <ul class="entry_tags">
6454 <li><a href="#tag_BC">BC</a></li>
6455 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006456 </td>
6457
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006458 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006459
6460
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006461 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6462 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006463
6464
6465 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006466 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006467 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006468 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006469 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006470 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006471
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006472 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006473
6474
6475 </td> <!-- entry_type -->
6476
6477 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006478 <p>Orientation of JPEG image to
6479write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006480 </td>
6481
6482 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006483 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006484 </td>
6485
6486 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006487 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006488 </td>
6489
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006490 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006491 <ul class="entry_tags">
6492 <li><a href="#tag_BC">BC</a></li>
6493 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006494 </td>
6495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006497
6498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006501
6502
6503 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006504 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006505 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006508 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006509
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006510 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006511
6512
6513 </td> <!-- entry_type -->
6514
6515 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006516 <p>Compression quality of the final JPEG
6517image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006518 </td>
6519
6520 <td class="entry_units">
6521 </td>
6522
6523 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006524 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006525 </td>
6526
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006527 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006528 <ul class="entry_tags">
6529 <li><a href="#tag_BC">BC</a></li>
6530 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006531 </td>
6532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006533 </tr>
6534 <tr class="entries_header">
6535 <th class="th_details" colspan="5">Details</th>
6536 </tr>
6537 <tr class="entry_cont">
6538 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006539 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006540 </td>
6541 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006542
6543
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006544 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6545 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006546
6547
6548 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006549 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006550 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006551 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006552 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006553 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006554
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006555 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006556
6557
6558 </td> <!-- entry_type -->
6559
6560 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006561 <p>The size of the compressed JPEG image,<wbr/> in
6562bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006563 </td>
6564
6565 <td class="entry_units">
6566 </td>
6567
6568 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006569 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006570 </td>
6571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006572 <td class="entry_tags">
6573 </td>
6574
6575 </tr>
6576 <tr class="entries_header">
6577 <th class="th_details" colspan="5">Details</th>
6578 </tr>
6579 <tr class="entry_cont">
6580 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006581 <p>If no JPEG output is produced for the request,<wbr/>
6582this must be 0.<wbr/></p>
6583<p>Otherwise,<wbr/> this describes the real size of the compressed
6584JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006585if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6586has <a href="#dynamic_android.jpeg.size">android.<wbr/>jpeg.<wbr/>size</a> = 500000,<wbr/> then the output buffer from
Igor Murashkin0b080452013-12-27 15:30:25 -08006587the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6588500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006589 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006590 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006591
6592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006593 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6594 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006595
6596
6597 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006598 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006599 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006600 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006602 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006603
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006604 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006605
6606
6607 </td> <!-- entry_type -->
6608
6609 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006610 <p>Compression quality of JPEG
6611thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006612 </td>
6613
6614 <td class="entry_units">
6615 </td>
6616
6617 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006618 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006619 </td>
6620
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006621 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006622 <ul class="entry_tags">
6623 <li><a href="#tag_BC">BC</a></li>
6624 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006625 </td>
6626
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006627 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006628
6629
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006630 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6631 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006632
6633
6634 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006635 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006636 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006637 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006638 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006639 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006640 <span class="entry_type_container">x</span>
6641
6642 <span class="entry_type_array">
6643 2
6644 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006645 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006646
6647
6648 </td> <!-- entry_type -->
6649
6650 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006651 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006652 </td>
6653
6654 <td class="entry_units">
6655 </td>
6656
6657 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006658 <p>Size must be one of the size from <a href="#static_android.jpeg.availableThumbnailSizes">android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006659 </td>
6660
6661 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006662 <ul class="entry_tags">
6663 <li><a href="#tag_BC">BC</a></li>
6664 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006665 </td>
6666
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006668 <tr class="entries_header">
6669 <th class="th_details" colspan="5">Details</th>
6670 </tr>
6671 <tr class="entry_cont">
6672 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006673 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6674but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006675<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6676the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006677 </td>
6678 </tr>
6679
6680
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006681 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6682 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006683
6684
6685
6686 <!-- end of kind -->
6687 </tbody>
6688
6689 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006690 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006691
6692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006693 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006694
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006695 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006696 <tr>
6697 <th class="th_name">Property Name</th>
6698 <th class="th_type">Type</th>
6699 <th class="th_description">Description</th>
6700 <th class="th_units">Units</th>
6701 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006702 <th class="th_tags">Tags</th>
6703 </tr>
6704 </thead>
6705
6706 <tbody>
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006718 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006719 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006720 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006722 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006723
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006724 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006725
6726
6727 </td> <!-- entry_type -->
6728
6729 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006730 <p>The ratio of lens focal length to the effective
6731aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006732 </td>
6733
6734 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006735 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006736 </td>
6737
6738 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006739 <p><a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006740 </td>
6741
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006742 <td class="entry_tags">
6743 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006744 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006745 </ul>
6746 </td>
6747
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006748 </tr>
6749 <tr class="entries_header">
6750 <th class="th_details" colspan="5">Details</th>
6751 </tr>
6752 <tr class="entry_cont">
6753 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006754 <p>This will only be supported on the camera devices that
6755have variable aperture lens.<wbr/> The aperture value can only be
6756one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6757<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6758this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6759<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6760to achieve manual exposure control.<wbr/></p>
6761<p>The requested aperture value may take several frames to reach the
6762requested value; the camera device will report the current (intermediate)
6763aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6764<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6765the ON modes,<wbr/> this will be overridden by the camera device
6766auto-exposure algorithm,<wbr/> the overridden values are then provided
6767back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006768 </td>
6769 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006770
6771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006772 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6773 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006774
6775
6776 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006777 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006778 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006779 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006780 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006781 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006782
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006783 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006784
6785
6786 </td> <!-- entry_type -->
6787
6788 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006789 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006790 </td>
6791
6792 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006793 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006794 </td>
6795
6796 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006797 <p><a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006798 </td>
6799
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800 <td class="entry_tags">
6801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006802 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006803 </ul>
6804 </td>
6805
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006806 </tr>
6807 <tr class="entries_header">
6808 <th class="th_details" colspan="5">Details</th>
6809 </tr>
6810 <tr class="entry_cont">
6811 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006812 <p>This will not be supported on most camera devices.<wbr/> On devices
6813where this is supported,<wbr/> this may only be set to one of the
6814values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6815<p>Lens filters are typically used to lower the amount of light the
6816sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6817step is the standard logarithmic representation,<wbr/> which are
6818non-negative,<wbr/> and inversely proportional to the amount of light
6819hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6820in no reduction of the incoming light,<wbr/> and setting this to 2 would
6821mean that the filter is set to reduce incoming light by two stops
6822(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006823 </td>
6824 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006825
6826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006827 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6828 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006829
6830
6831 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006832 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006833 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006834 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006836 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006837
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006838 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006839
6840
6841 </td> <!-- entry_type -->
6842
6843 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006844 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006845 </td>
6846
6847 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006848 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849 </td>
6850
6851 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006852 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006853 </td>
6854
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006855 <td class="entry_tags">
6856 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006857 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006858 </ul>
6859 </td>
6860
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006861 </tr>
6862 <tr class="entries_header">
6863 <th class="th_details" colspan="5">Details</th>
6864 </tr>
6865 <tr class="entry_cont">
6866 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006867 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006868 </td>
6869 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006870
6871
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006872 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6873 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006874
6875
6876 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006877 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006878 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006879 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006880 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006881 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006882
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006883 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006884
6885
6886 </td> <!-- entry_type -->
6887
6888 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006889 <p>Distance to plane of sharpest focus,<wbr/>
6890measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006891 </td>
6892
6893 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006894 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006895 </td>
6896
6897 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006898 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006899 </td>
6900
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006901 <td class="entry_tags">
6902 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006903 <li><a href="#tag_BC">BC</a></li>
6904 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006905 </ul>
6906 </td>
6907
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006908 </tr>
6909 <tr class="entries_header">
6910 <th class="th_details" colspan="5">Details</th>
6911 </tr>
6912 <tr class="entry_cont">
6913 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006914 <p>0 = infinity focus.<wbr/> Used value should be clamped
6915to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006916 </td>
6917 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006918
6919
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006920 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6921 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006922
6923
6924 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006925 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006926 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006927 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006928 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006929 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006930
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006931 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006932
6933 <ul class="entry_type_enum">
6934 <li>
6935 <span class="entry_type_enum_name">OFF</span>
6936 </li>
6937 <li>
6938 <span class="entry_type_enum_name">ON</span>
6939 <span class="entry_type_enum_optional">optional</span>
6940 </li>
6941 </ul>
6942
6943 </td> <!-- entry_type -->
6944
6945 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006946 <p>Whether optical image stabilization is
6947enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006948 </td>
6949
6950 <td class="entry_units">
6951 </td>
6952
6953 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006954 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006955 </td>
6956
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006957 <td class="entry_tags">
6958 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006959 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006960 </ul>
6961 </td>
6962
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006963 </tr>
6964 <tr class="entries_header">
6965 <th class="th_details" colspan="5">Details</th>
6966 </tr>
6967 <tr class="entry_cont">
6968 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006969 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006970 </td>
6971 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006972
6973
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006974 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6975 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006976
6977
6978
6979 <!-- end of kind -->
6980 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006981 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006983 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006984 <tr>
6985 <th class="th_name">Property Name</th>
6986 <th class="th_type">Type</th>
6987 <th class="th_description">Description</th>
6988 <th class="th_units">Units</th>
6989 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006990 <th class="th_tags">Tags</th>
6991 </tr>
6992 </thead>
6993
6994 <tbody>
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007008 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007009 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007010 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007011 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007012 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007013 <span class="entry_type_container">x</span>
7014
7015 <span class="entry_type_array">
7016 n
7017 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007018 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007019
7020
7021 </td> <!-- entry_type -->
7022
7023 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007024 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007025values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007026 </td>
7027
7028 <td class="entry_units">
7029 </td>
7030
7031 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007032 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007033 </td>
7034
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007035 <td class="entry_tags">
7036 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007037 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007038 </ul>
7039 </td>
7040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007041 </tr>
7042 <tr class="entries_header">
7043 <th class="th_details" colspan="5">Details</th>
7044 </tr>
7045 <tr class="entry_cont">
7046 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007047 <p>If the camera device doesn't support variable apertures,<wbr/>
7048listed value will be the fixed aperture.<wbr/></p>
7049<p>If the camera device supports variable apertures,<wbr/> the aperture value
7050in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007051 </td>
7052 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007053
7054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007055 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7056 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007057
7058
7059 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007060 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007061 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007062 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007064 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007065 <span class="entry_type_container">x</span>
7066
7067 <span class="entry_type_array">
7068 n
7069 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007070 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007071
7072
7073 </td> <!-- entry_type -->
7074
7075 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007076 <p>List of supported neutral density filter values for
7077<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007078 </td>
7079
7080 <td class="entry_units">
7081 </td>
7082
7083 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007084 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007085 </td>
7086
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007087 <td class="entry_tags">
7088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007089 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007090 </ul>
7091 </td>
7092
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007093 </tr>
7094 <tr class="entries_header">
7095 <th class="th_details" colspan="5">Details</th>
7096 </tr>
7097 <tr class="entry_cont">
7098 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007099 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7100availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7101list contains only the exact filter density values available on
7102this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007103 </td>
7104 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007105
7106
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007107 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7108 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007109
7110
7111 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007112 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007113 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007114 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007115 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007116 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007117 <span class="entry_type_container">x</span>
7118
7119 <span class="entry_type_array">
7120 n
7121 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007122 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007123 <div class="entry_type_notes">the list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007124
7125
7126 </td> <!-- entry_type -->
7127
7128 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007129 <p>If fitted with optical zoom,<wbr/> what focal
7130lengths are available.<wbr/> If not,<wbr/> the static focal
7131length</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007132 </td>
7133
7134 <td class="entry_units">
7135 </td>
7136
7137 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007138 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007139 </td>
7140
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007141 <td class="entry_tags">
7142 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007143 <li><a href="#tag_BC">BC</a></li>
7144 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007145 </ul>
7146 </td>
7147
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007148 </tr>
7149 <tr class="entries_header">
7150 <th class="th_details" colspan="5">Details</th>
7151 </tr>
7152 <tr class="entry_cont">
7153 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007154 <p>If optical zoom not supported,<wbr/> only one value
7155should be reported</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007156 </td>
7157 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007158
7159
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007160 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7161 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007162
7163
7164 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007165 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007166 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007167 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007168 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007169 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007170 <span class="entry_type_container">x</span>
7171
7172 <span class="entry_type_array">
7173 n
7174 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007175 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007176 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007177
7178
7179 </td> <!-- entry_type -->
7180
7181 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007182 <p>List of supported optical image
7183stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007184 </td>
7185
7186 <td class="entry_units">
7187 </td>
7188
7189 <td class="entry_range">
7190 </td>
7191
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007192 <td class="entry_tags">
7193 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007194 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007195 </ul>
7196 </td>
7197
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007198 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007199
7200
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007201 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7202 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007203
7204
7205 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007206 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007207 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007208 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007209 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007210 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007211 <span class="entry_type_container">x</span>
7212
7213 <span class="entry_type_array">
7214 2 x 3 x n x m
7215 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007216 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007217 <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>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007218
7219
7220 </td> <!-- entry_type -->
7221
7222 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007223 <p>A low-resolution map for correction of
7224geometric distortions and chromatic aberrations,<wbr/> per
7225color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007226 </td>
7227
7228 <td class="entry_units">
7229 </td>
7230
7231 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007232 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007233 </td>
7234
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007235 <td class="entry_tags">
7236 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007237 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007238 </ul>
7239 </td>
7240
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007241 </tr>
7242 <tr class="entries_header">
7243 <th class="th_details" colspan="5">Details</th>
7244 </tr>
7245 <tr class="entry_cont">
7246 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007247 <p>[DNG wants a function instead].<wbr/> What's easiest
7248for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7249j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7250j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7251entry being ( (X,<wbr/> Y)_<wbr/>r,<wbr/> (X,<wbr/> Y)_<wbr/>g,<wbr/> (X,<wbr/> Y)_<wbr/>b ) )</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007252 </td>
7253 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007254
7255
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007256 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7257 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007258
7259
7260 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007261 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007262 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007263 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007264 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007265 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007266 <span class="entry_type_container">x</span>
7267
7268 <span class="entry_type_array">
7269 2
7270 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007271 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007272 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007273
7274
7275 </td> <!-- entry_type -->
7276
7277 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007278 <p>Dimensions of geometric correction
7279map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007280 </td>
7281
7282 <td class="entry_units">
7283 </td>
7284
7285 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007286 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007287 </td>
7288
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007289 <td class="entry_tags">
7290 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007291 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007292 </ul>
7293 </td>
7294
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007295 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007296
7297
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007298 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7299 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007300
7301
7302 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007303 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007304 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007305 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007306 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007307 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007308
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007309 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007310
7311
7312 </td> <!-- entry_type -->
7313
7314 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007315 <p>Hyperfocal distance for this lens; set to
73160 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007317 </td>
7318
7319 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007320 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007321 </td>
7322
7323 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007324 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007325 </td>
7326
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007327 <td class="entry_tags">
7328 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007329 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007330 </ul>
7331 </td>
7332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007333 </tr>
7334 <tr class="entries_header">
7335 <th class="th_details" colspan="5">Details</th>
7336 </tr>
7337 <tr class="entry_cont">
7338 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007339 <p>The hyperfocal distance is used for the old
7340API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007341 </td>
7342 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007343
7344
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007345 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7346 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007347
7348
7349 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007350 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007351 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007352 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007353 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007354 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007355
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007356 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007357
7358
7359 </td> <!-- entry_type -->
7360
7361 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007362 <p>Shortest distance from frontmost surface
7363of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007364 </td>
7365
7366 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007367 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007368 </td>
7369
7370 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007371 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007372 </td>
7373
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007374 <td class="entry_tags">
7375 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007376 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007377 </ul>
7378 </td>
7379
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007380 </tr>
7381 <tr class="entries_header">
7382 <th class="th_details" colspan="5">Details</th>
7383 </tr>
7384 <tr class="entry_cont">
7385 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007386 <p>If the lens is fixed-focus,<wbr/> this should be
73870</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007388 </td>
7389 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007390
7391
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007392 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7393 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007394
7395
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007396 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007397 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007398 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007399 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007400 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007401 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007402 <span class="entry_type_container">x</span>
7403
7404 <span class="entry_type_array">
7405 2
7406 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007407 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007408 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr/> (N x M)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007409
7410
7411 </td> <!-- entry_type -->
7412
7413 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007414 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007415 </td>
7416
7417 <td class="entry_units">
7418 </td>
7419
7420 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007421 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007422 </td>
7423
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007424 <td class="entry_tags">
7425 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007426 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007427 </ul>
7428 </td>
7429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007430 </tr>
7431 <tr class="entries_header">
7432 <th class="th_details" colspan="5">Details</th>
7433 </tr>
7434 <tr class="entry_cont">
7435 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007436 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7437must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007438 </td>
7439 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007440
7441
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007442 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7443 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007444
7445
7446
7447
7448
7449 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007450 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007451 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007452 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007453 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007454 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007455
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007456 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457
7458 <ul class="entry_type_enum">
7459 <li>
7460 <span class="entry_type_enum_name">FRONT</span>
7461 </li>
7462 <li>
7463 <span class="entry_type_enum_name">BACK</span>
7464 </li>
7465 </ul>
7466
7467 </td> <!-- entry_type -->
7468
7469 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007470 <p>Direction the camera faces relative to
7471device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007472 </td>
7473
7474 <td class="entry_units">
7475 </td>
7476
7477 <td class="entry_range">
7478 </td>
7479
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007480 <td class="entry_tags">
7481 </td>
7482
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007483 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007484
7485
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007486 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7487 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007488
7489
7490 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007491 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007492 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007493 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007494 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007495 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007496 <span class="entry_type_container">x</span>
7497
7498 <span class="entry_type_array">
7499 2
7500 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007501 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007502 <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>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007503
7504
7505 </td> <!-- entry_type -->
7506
7507 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007508 <p>Relative angle of camera optical axis to the
7509perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007510 </td>
7511
7512 <td class="entry_units">
7513 </td>
7514
7515 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007516 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007517 </td>
7518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007519 <td class="entry_tags">
7520 <ul class="entry_tags">
7521 <li><a href="#tag_ADV">ADV</a></li>
7522 </ul>
7523 </td>
7524
7525 </tr>
7526 <tr class="entries_header">
7527 <th class="th_details" colspan="5">Details</th>
7528 </tr>
7529 <tr class="entry_cont">
7530 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007531 <p>Examples:</p>
7532<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007533is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007534<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007535device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007536<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7537the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007538<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007539direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007540 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007541 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007542
7543
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007544 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7545 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007546
7547
7548 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007549 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007550 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007551 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007552 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007553 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007554 <span class="entry_type_container">x</span>
7555
7556 <span class="entry_type_array">
7557 3, location in mm, in the sensor coordinate
7558 system
7559 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007560 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007561
7562
7563 </td> <!-- entry_type -->
7564
7565 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007566 <p>Coordinates of camera optical axis on
7567device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007568 </td>
7569
7570 <td class="entry_units">
7571 </td>
7572
7573 <td class="entry_range">
7574 </td>
7575
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007576 <td class="entry_tags">
7577 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007578 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007579 </ul>
7580 </td>
7581
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007582 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007583
7584
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007585 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7586 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007587
7588
7589
7590 <!-- end of kind -->
7591 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007592 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007593
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007594 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007595 <tr>
7596 <th class="th_name">Property Name</th>
7597 <th class="th_type">Type</th>
7598 <th class="th_description">Description</th>
7599 <th class="th_units">Units</th>
7600 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007601 <th class="th_tags">Tags</th>
7602 </tr>
7603 </thead>
7604
7605 <tbody>
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007617 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007618 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007619 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007620 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007621 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007622
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007623 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007624
7625
7626 </td> <!-- entry_type -->
7627
7628 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007629 <p>The ratio of lens focal length to the effective
7630aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007631 </td>
7632
7633 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007634 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007635 </td>
7636
7637 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007638 <p><a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007639 </td>
7640
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007641 <td class="entry_tags">
7642 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007643 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007644 </ul>
7645 </td>
7646
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007647 </tr>
7648 <tr class="entries_header">
7649 <th class="th_details" colspan="5">Details</th>
7650 </tr>
7651 <tr class="entry_cont">
7652 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007653 <p>This will only be supported on the camera devices that
7654have variable aperture lens.<wbr/> The aperture value can only be
7655one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7656<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7657this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7658<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7659to achieve manual exposure control.<wbr/></p>
7660<p>The requested aperture value may take several frames to reach the
7661requested value; the camera device will report the current (intermediate)
7662aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7663<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7664the ON modes,<wbr/> this will be overridden by the camera device
7665auto-exposure algorithm,<wbr/> the overridden values are then provided
7666back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007667 </td>
7668 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007669
7670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007671 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7672 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007673
7674
7675 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007676 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007677 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007678 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007679 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007680 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007681
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007682 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007683
7684
7685 </td> <!-- entry_type -->
7686
7687 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007688 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007689 </td>
7690
7691 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007692 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007693 </td>
7694
7695 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007696 <p><a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007697 </td>
7698
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007699 <td class="entry_tags">
7700 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007701 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007702 </ul>
7703 </td>
7704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007705 </tr>
7706 <tr class="entries_header">
7707 <th class="th_details" colspan="5">Details</th>
7708 </tr>
7709 <tr class="entry_cont">
7710 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007711 <p>This will not be supported on most camera devices.<wbr/> On devices
7712where this is supported,<wbr/> this may only be set to one of the
7713values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7714<p>Lens filters are typically used to lower the amount of light the
7715sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7716step is the standard logarithmic representation,<wbr/> which are
7717non-negative,<wbr/> and inversely proportional to the amount of light
7718hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7719in no reduction of the incoming light,<wbr/> and setting this to 2 would
7720mean that the filter is set to reduce incoming light by two stops
7721(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007722 </td>
7723 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007724
7725
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007726 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7727 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007728
7729
7730 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007731 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007732 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007733 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007735 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007737 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007738
7739
7740 </td> <!-- entry_type -->
7741
7742 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007743 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007744 </td>
7745
7746 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007747 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007748 </td>
7749
7750 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007751 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007752 </td>
7753
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007754 <td class="entry_tags">
7755 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007756 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007757 </ul>
7758 </td>
7759
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007760 </tr>
7761 <tr class="entries_header">
7762 <th class="th_details" colspan="5">Details</th>
7763 </tr>
7764 <tr class="entry_cont">
7765 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007766 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007767 </td>
7768 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007769
7770
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007771 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7772 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007773
7774
7775 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007776 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007777 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007778 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007779 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007780 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007781
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007782 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007783
7784
7785 </td> <!-- entry_type -->
7786
7787 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007788 <p>Distance to plane of sharpest focus,<wbr/>
7789measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007790 </td>
7791
7792 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007793 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007794 </td>
7795
7796 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007797 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007798 </td>
7799
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007800 <td class="entry_tags">
7801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007802 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007803 </ul>
7804 </td>
7805
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007806 </tr>
7807 <tr class="entries_header">
7808 <th class="th_details" colspan="5">Details</th>
7809 </tr>
7810 <tr class="entry_cont">
7811 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007812 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007813 </td>
7814 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007815
7816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007817 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7818 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007819
7820
7821 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007823 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007824 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007825 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007826 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007827 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007828
Zhijun He50451ad2013-09-26 10:27:47 -07007829 <span class="entry_type_array">
7830 2
7831 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007832 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007833 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007834
7835
7836 </td> <!-- entry_type -->
7837
7838 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007839 <p>The range of scene distances that are in
7840sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007841 </td>
7842
7843 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007844 pair of focus distances in diopters: (near,<wbr/>
7845 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007846 </td>
7847
7848 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007849 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007850 </td>
7851
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007852 <td class="entry_tags">
7853 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007854 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007855 </ul>
7856 </td>
7857
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007858 </tr>
7859 <tr class="entries_header">
7860 <th class="th_details" colspan="5">Details</th>
7861 </tr>
7862 <tr class="entry_cont">
7863 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007864 <p>If variable focus not supported,<wbr/> can still report
7865fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007866 </td>
7867 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007868
7869
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007870 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7871 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007872
7873
7874 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007875 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007876 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007877 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007878 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007879 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007880
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007881 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007882
7883 <ul class="entry_type_enum">
7884 <li>
7885 <span class="entry_type_enum_name">OFF</span>
7886 </li>
7887 <li>
7888 <span class="entry_type_enum_name">ON</span>
7889 <span class="entry_type_enum_optional">optional</span>
7890 </li>
7891 </ul>
7892
7893 </td> <!-- entry_type -->
7894
7895 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007896 <p>Whether optical image stabilization is
7897enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007898 </td>
7899
7900 <td class="entry_units">
7901 </td>
7902
7903 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007904 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007905 </td>
7906
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007907 <td class="entry_tags">
7908 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007909 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007910 </ul>
7911 </td>
7912
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007913 </tr>
7914 <tr class="entries_header">
7915 <th class="th_details" colspan="5">Details</th>
7916 </tr>
7917 <tr class="entry_cont">
7918 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007919 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007920 </td>
7921 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007922
7923
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007924 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7925 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007926
7927
7928 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007929 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007930 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007931 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007932 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007933 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007935 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007936
7937 <ul class="entry_type_enum">
7938 <li>
7939 <span class="entry_type_enum_name">STATIONARY</span>
7940 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07007941 <li>
7942 <span class="entry_type_enum_name">MOVING</span>
7943 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007944 </ul>
7945
7946 </td> <!-- entry_type -->
7947
7948 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007949 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007950 </td>
7951
7952 <td class="entry_units">
7953 </td>
7954
7955 <td class="entry_range">
7956 </td>
7957
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007958 <td class="entry_tags">
7959 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007960 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007961 </ul>
7962 </td>
7963
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007964 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007965
7966
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007967 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7968 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007969
7970
7971
7972 <!-- end of kind -->
7973 </tbody>
7974
7975 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007976 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007977
7978
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007979 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007980
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007981 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007982 <tr>
7983 <th class="th_name">Property Name</th>
7984 <th class="th_type">Type</th>
7985 <th class="th_description">Description</th>
7986 <th class="th_units">Units</th>
7987 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007988 <th class="th_tags">Tags</th>
7989 </tr>
7990 </thead>
7991
7992 <tbody>
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008004 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008005 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008006 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008007 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008008 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008009
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008010 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008011
8012 <ul class="entry_type_enum">
8013 <li>
8014 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008015 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008016 </li>
8017 <li>
8018 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008019 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8020output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021 </li>
8022 <li>
8023 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008024 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8025quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008026 </li>
8027 </ul>
8028
8029 </td> <!-- entry_type -->
8030
8031 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008032 <p>Mode of operation for the noise reduction
8033algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008034 </td>
8035
8036 <td class="entry_units">
8037 </td>
8038
8039 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008040 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008041 </td>
8042
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008043 <td class="entry_tags">
8044 <ul class="entry_tags">
8045 <li><a href="#tag_V1">V1</a></li>
8046 </ul>
8047 </td>
8048
8049 </tr>
8050 <tr class="entries_header">
8051 <th class="th_details" colspan="5">Details</th>
8052 </tr>
8053 <tr class="entry_cont">
8054 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008055 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8056will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008057<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8058will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8059will use the highest-quality noise filtering algorithms,<wbr/>
8060even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008061slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008062 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008063 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008064
8065
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008066 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8067 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008068
8069
8070 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008071 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008072 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008073 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008074 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008075 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008076
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008077 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008078
8079
8080 </td> <!-- entry_type -->
8081
8082 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008083 <p>Control the amount of noise reduction
8084applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008085 </td>
8086
8087 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008088 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008089 </td>
8090
8091 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008092 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008093 </td>
8094
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008095 <td class="entry_tags">
8096 </td>
8097
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008098 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008099
8100
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008101 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8102 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008103
8104
8105
8106 <!-- end of kind -->
8107 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008108 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008109
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008110 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008111 <tr>
8112 <th class="th_name">Property Name</th>
8113 <th class="th_type">Type</th>
8114 <th class="th_description">Description</th>
8115 <th class="th_units">Units</th>
8116 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008117 <th class="th_tags">Tags</th>
8118 </tr>
8119 </thead>
8120
8121 <tbody>
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008133 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008134 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008135 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008136 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008137 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008138
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008139 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008140
8141 <ul class="entry_type_enum">
8142 <li>
8143 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008144 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008145 </li>
8146 <li>
8147 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008148 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8149output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008150 </li>
8151 <li>
8152 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008153 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8154quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008155 </li>
8156 </ul>
8157
8158 </td> <!-- entry_type -->
8159
8160 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008161 <p>Mode of operation for the noise reduction
8162algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008163 </td>
8164
8165 <td class="entry_units">
8166 </td>
8167
8168 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008169 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008170 </td>
8171
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008172 <td class="entry_tags">
8173 <ul class="entry_tags">
8174 <li><a href="#tag_V1">V1</a></li>
8175 </ul>
8176 </td>
8177
8178 </tr>
8179 <tr class="entries_header">
8180 <th class="th_details" colspan="5">Details</th>
8181 </tr>
8182 <tr class="entry_cont">
8183 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008184 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8185will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008186<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8187will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8188will use the highest-quality noise filtering algorithms,<wbr/>
8189even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008190slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008191 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008192 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008193
8194
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008195 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8196 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008197
8198
8199
8200 <!-- end of kind -->
8201 </tbody>
8202
8203 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008204 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008205
8206
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008207 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008208
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008209 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008210 <tr>
8211 <th class="th_name">Property Name</th>
8212 <th class="th_type">Type</th>
8213 <th class="th_description">Description</th>
8214 <th class="th_units">Units</th>
8215 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008216 <th class="th_tags">Tags</th>
8217 </tr>
8218 </thead>
8219
8220 <tbody>
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008232 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008233 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008234 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008236 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008237
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008238 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008239
8240
8241 </td> <!-- entry_type -->
8242
8243 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008244 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008245scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008246region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8247and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008248 </td>
8249
8250 <td class="entry_units">
8251 </td>
8252
8253 <td class="entry_range">
8254 </td>
8255
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008256 <td class="entry_tags">
8257 </td>
8258
8259 </tr>
8260 <tr class="entries_header">
8261 <th class="th_details" colspan="5">Details</th>
8262 </tr>
8263 <tr class="entry_cont">
8264 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008265 <p>Normalized coordinates refer to those in the
8266(-1000,<wbr/>1000) range mentioned in the
8267android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008268<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008269sensor array-relative coordinates for all region data.<wbr/> Does
8270not need to be listed in static metadata.<wbr/> Support will be
8271removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008272 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008273 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008274
8275
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008276 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8277 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008278
8279
8280 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008281 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008282 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008283 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008284 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008285 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008286
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008287 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008288
8289
8290 </td> <!-- entry_type -->
8291
8292 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008293 <p>If set to 1,<wbr/> then the camera service always
8294switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8295trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008296 </td>
8297
8298 <td class="entry_units">
8299 </td>
8300
8301 <td class="entry_range">
8302 </td>
8303
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008304 <td class="entry_tags">
8305 </td>
8306
8307 </tr>
8308 <tr class="entries_header">
8309 <th class="th_details" colspan="5">Details</th>
8310 </tr>
8311 <tr class="entry_cont">
8312 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008313 <p>HAL implementations should implement AF trigger
8314modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8315CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8316not need to be listed in static metadata.<wbr/> Support will be
8317removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008318 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008319 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008320
8321
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008322 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8323 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008324
8325
8326 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008327 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008328 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008329 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008330 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008331 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008332
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008333 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008334
8335
8336 </td> <!-- entry_type -->
8337
8338 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008339 <p>If set to 1,<wbr/> the camera service uses
8340CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8341HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8342shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008343 </td>
8344
8345 <td class="entry_units">
8346 </td>
8347
8348 <td class="entry_range">
8349 </td>
8350
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008351 <td class="entry_tags">
8352 </td>
8353
8354 </tr>
8355 <tr class="entries_header">
8356 <th class="th_details" colspan="5">Details</th>
8357 </tr>
8358 <tr class="entry_cont">
8359 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008360 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008361to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008362zero-shutter-lag,<wbr/> instead of relying on an explicit
8363format setting.<wbr/> Does not need to be listed in static
8364metadata.<wbr/> Support will be removed in future versions of
8365camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008366 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008367 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008368
8369
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008370 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8371 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008372
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008373
8374 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008375 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008376 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008377 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008378 <td class="entry_type">
8379 <span class="entry_type_name">byte</span>
8380
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008381 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008382
8383
8384 </td> <!-- entry_type -->
8385
8386 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008387 <p>If set to 1,<wbr/> the HAL will always split result
8388metadata for a single capture into multiple buffers,<wbr/>
8389returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008390 </td>
8391
8392 <td class="entry_units">
8393 </td>
8394
8395 <td class="entry_range">
8396 </td>
8397
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008398 <td class="entry_tags">
8399 </td>
8400
8401 </tr>
8402 <tr class="entries_header">
8403 <th class="th_details" colspan="5">Details</th>
8404 </tr>
8405 <tr class="entry_cont">
8406 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008407 <p>Does not need to be listed in static
8408metadata.<wbr/> Support for partial results will be reworked in
8409future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008410working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008411consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008412 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008413 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008414
8415
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008416 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8417 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008418
8419
8420
8421 <!-- end of kind -->
8422 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008423 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008424
8425 <thead class="entries_header">
8426 <tr>
8427 <th class="th_name">Property Name</th>
8428 <th class="th_type">Type</th>
8429 <th class="th_description">Description</th>
8430 <th class="th_units">Units</th>
8431 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008432 <th class="th_tags">Tags</th>
8433 </tr>
8434 </thead>
8435
8436 <tbody>
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008448 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008449 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008450 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008451 <td class="entry_type">
8452 <span class="entry_type_name entry_type_name_enum">byte</span>
8453
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008454 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008455
8456 <ul class="entry_type_enum">
8457 <li>
8458 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008459 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8460for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008461 </li>
8462 <li>
8463 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008464 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8465capture.<wbr/> More result buffers for this capture will be sent
8466by the HAL,<wbr/> the last of which will be marked
8467FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008468 </li>
8469 </ul>
8470
8471 </td> <!-- entry_type -->
8472
8473 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008474 <p>Whether a result given to the framework is the
8475final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008476subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008477values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008478 </td>
8479
8480 <td class="entry_units">
8481 </td>
8482
8483 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008484 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008485 </td>
8486
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008487 <td class="entry_tags">
8488 </td>
8489
8490 </tr>
8491 <tr class="entries_header">
8492 <th class="th_details" colspan="5">Details</th>
8493 </tr>
8494 <tr class="entry_cont">
8495 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008496 <p>The entries in the result metadata buffers for a
8497single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008498FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008499requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8500always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8501before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8502in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8503capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8504only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008505 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008506 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008507
8508
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008509 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8510 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008511
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008512
8513
8514 <!-- end of kind -->
8515 </tbody>
8516
8517 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008518 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008519
8520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008521 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008522
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008523 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008524 <tr>
8525 <th class="th_name">Property Name</th>
8526 <th class="th_type">Type</th>
8527 <th class="th_description">Description</th>
8528 <th class="th_units">Units</th>
8529 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008530 <th class="th_tags">Tags</th>
8531 </tr>
8532 </thead>
8533
8534 <tbody>
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008546 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008547 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008548 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008549 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008550 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008551
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008552 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008553
8554
8555 </td> <!-- entry_type -->
8556
8557 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008558 <p>A frame counter set by the framework.<wbr/> Must
8559be maintained unchanged in output frame.<wbr/> This value monotonically
8560increases with every new result (that is,<wbr/> each new result has a unique
8561frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008562 </td>
8563
8564 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008565 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008566 </td>
8567
8568 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008569 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008570 </td>
8571
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008572 <td class="entry_tags">
8573 </td>
8574
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008575 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008576
8577
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008578 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8579 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008580
8581
8582 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008583 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008584 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008585 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008586 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008587 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008588
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008589 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008590
8591
8592 </td> <!-- entry_type -->
8593
8594 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008595 <p>An application-specified ID for the current
8596request.<wbr/> Must be maintained unchanged in output
8597frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008598 </td>
8599
8600 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008601 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008602 </td>
8603
8604 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008605 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008606 </td>
8607
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008608 <td class="entry_tags">
8609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008610 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008611 </ul>
8612 </td>
8613
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008614 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008615
8616
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008617 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8618 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008619
8620
8621 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008622 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008623 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008624 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008625 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008626 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008627 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008628
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008629 <span class="entry_type_array">
8630 n
8631 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008632 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008633
8634
8635 </td> <!-- entry_type -->
8636
8637 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008638 <p>List which camera reprocess stream is used
8639for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008640 </td>
8641
8642 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008643 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008644 </td>
8645
8646 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008647 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8648reprocess stream ID.<wbr/></p>
8649<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8650reprocess streams may be included in a single request; they
8651must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008652 </td>
8653
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008654 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008655 <ul class="entry_tags">
8656 <li><a href="#tag_HAL2">HAL2</a></li>
8657 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008658 </td>
8659
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008660 </tr>
8661 <tr class="entries_header">
8662 <th class="th_details" colspan="5">Details</th>
8663 </tr>
8664 <tr class="entry_cont">
8665 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008666 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008667REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008668 </td>
8669 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008670
8671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008672 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8673 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008674
8675
8676 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008677 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008678 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008679 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008680 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008681 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008682
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008683 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008684
8685 <ul class="entry_type_enum">
8686 <li>
8687 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008688 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8689for application-bound buffer data.<wbr/> If no
8690application-bound streams exist,<wbr/> no frame should be
8691placed in the output frame queue.<wbr/> If such streams
8692exist,<wbr/> a frame should be placed on the output queue
8693with null metadata but with the necessary output buffer
8694information.<wbr/> Timestamp information should still be
8695included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008696 </li>
8697 <li>
8698 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008699 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8700only be produced if they are separately
8701enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008702 </li>
8703 </ul>
8704
8705 </td> <!-- entry_type -->
8706
8707 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008708 <p>How much metadata to produce on
8709output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008710 </td>
8711
8712 <td class="entry_units">
8713 </td>
8714
8715 <td class="entry_range">
8716 </td>
8717
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008718 <td class="entry_tags">
8719 </td>
8720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008721 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008722
8723
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008724 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8725 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008726
8727
8728 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008729 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008730 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008731 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008732 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008733 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008734 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008735
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008736 <span class="entry_type_array">
8737 n
8738 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008739 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008740
8741
8742 </td> <!-- entry_type -->
8743
8744 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008745 <p>Lists which camera output streams image data
8746from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008747 </td>
8748
8749 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008750 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008751 </td>
8752
8753 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008754 <p>List must only include streams that have been
8755created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008756 </td>
8757
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008758 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008759 <ul class="entry_tags">
8760 <li><a href="#tag_HAL2">HAL2</a></li>
8761 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008762 </td>
8763
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008764 </tr>
8765 <tr class="entries_header">
8766 <th class="th_details" colspan="5">Details</th>
8767 </tr>
8768 <tr class="entry_cont">
8769 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008770 <p>If no output streams are listed,<wbr/> then the image
8771data should simply be discarded.<wbr/> The image data must
8772still be captured for metadata and statistics production,<wbr/>
8773and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008774 </td>
8775 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008776
8777
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008778 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8779 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008780
8781
8782 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008783 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008784 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008785 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008787 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008788
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008789 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008790
8791 <ul class="entry_type_enum">
8792 <li>
8793 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008794 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8795and process it according to the
8796settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008797 </li>
8798 <li>
8799 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008800 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8801android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8802source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8803needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008804 </li>
8805 </ul>
8806
8807 </td> <!-- entry_type -->
8808
8809 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008810 <p>The type of the request; either CAPTURE or
8811REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008812 </td>
8813
8814 <td class="entry_units">
8815 </td>
8816
8817 <td class="entry_range">
8818 </td>
8819
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008820 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008821 <ul class="entry_tags">
8822 <li><a href="#tag_HAL2">HAL2</a></li>
8823 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008824 </td>
8825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008826 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008827
8828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008829 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8830 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008831
8832
8833
8834 <!-- end of kind -->
8835 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008836 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008837
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008838 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008839 <tr>
8840 <th class="th_name">Property Name</th>
8841 <th class="th_type">Type</th>
8842 <th class="th_description">Description</th>
8843 <th class="th_units">Units</th>
8844 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008845 <th class="th_tags">Tags</th>
8846 </tr>
8847 </thead>
8848
8849 <tbody>
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008861 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008862 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008863 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008864 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008865 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008866 <span class="entry_type_container">x</span>
8867
8868 <span class="entry_type_array">
8869 3
8870 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008871 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008872
8873
8874 </td> <!-- entry_type -->
8875
8876 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008877 <p>How many output streams can be allocated at
8878the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008879 </td>
8880
8881 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008882 The number of raw sensor streams; the number of
8883 processed,<wbr/> uncompressed streams; and the number of
8884 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008885 </td>
8886
8887 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008888 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008889for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008890 </td>
8891
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008892 <td class="entry_tags">
8893 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008894 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008895 </ul>
8896 </td>
8897
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008898 </tr>
8899 <tr class="entries_header">
8900 <th class="th_details" colspan="5">Details</th>
8901 </tr>
8902 <tr class="entry_cont">
8903 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008904 <p>Video snapshot with preview callbacks requires 3
8905processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8906one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008907 </td>
8908 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008909
8910
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008911 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8912 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008913
8914
8915 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008916 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008917 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008918 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008919 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008920 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008921 <span class="entry_type_container">x</span>
8922
8923 <span class="entry_type_array">
8924 1
8925 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008926 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008927
8928
8929 </td> <!-- entry_type -->
8930
8931 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008932 <p>How many reprocessing streams of any type
8933can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008934 </td>
8935
8936 <td class="entry_units">
8937 </td>
8938
8939 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008940 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008941 </td>
8942
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008943 <td class="entry_tags">
8944 </td>
8945
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008946 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008947
8948
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008949 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8950 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008951
8952
8953
8954 <!-- end of kind -->
8955 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008956 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008957
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008958 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008959 <tr>
8960 <th class="th_name">Property Name</th>
8961 <th class="th_type">Type</th>
8962 <th class="th_description">Description</th>
8963 <th class="th_units">Units</th>
8964 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008965 <th class="th_tags">Tags</th>
8966 </tr>
8967 </thead>
8968
8969 <tbody>
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008981 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008982 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008983 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008984 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008985 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008986
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008987 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008988
8989
8990 </td> <!-- entry_type -->
8991
8992 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008993 <p>A frame counter set by the framework.<wbr/> This value monotonically
8994increases with every new result (that is,<wbr/> each new result has a unique
8995frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008996 </td>
8997
8998 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008999 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009000 </td>
9001
9002 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009003 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009004 </td>
9005
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009006 <td class="entry_tags">
9007 </td>
9008
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009009 </tr>
9010 <tr class="entries_header">
9011 <th class="th_details" colspan="5">Details</th>
9012 </tr>
9013 <tr class="entry_cont">
9014 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009015 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009016 </td>
9017 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009018
9019
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009020 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9021 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009022
9023
9024 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009025 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009026 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009027 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009029 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009030
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009031 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009032
9033
9034 </td> <!-- entry_type -->
9035
9036 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009037 <p>An application-specified ID for the current
9038request.<wbr/> Must be maintained unchanged in output
9039frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009040 </td>
9041
9042 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009043 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044 </td>
9045
9046 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009047 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009048 </td>
9049
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009050 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009051 <ul class="entry_tags">
9052 <li><a href="#tag_V1">V1</a></li>
9053 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009054 </td>
9055
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009056 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009057
9058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009059 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9060 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009061
9062
9063 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009064 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009065 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009066 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009067 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009068 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009069
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009070 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009071
9072 <ul class="entry_type_enum">
9073 <li>
9074 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009075 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9076for application-bound buffer data.<wbr/> If no
9077application-bound streams exist,<wbr/> no frame should be
9078placed in the output frame queue.<wbr/> If such streams
9079exist,<wbr/> a frame should be placed on the output queue
9080with null metadata but with the necessary output buffer
9081information.<wbr/> Timestamp information should still be
9082included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009083 </li>
9084 <li>
9085 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009086 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9087only be produced if they are separately
9088enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009089 </li>
9090 </ul>
9091
9092 </td> <!-- entry_type -->
9093
9094 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009095 <p>How much metadata to produce on
9096output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009097 </td>
9098
9099 <td class="entry_units">
9100 </td>
9101
9102 <td class="entry_range">
9103 </td>
9104
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009105 <td class="entry_tags">
9106 </td>
9107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009108 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009109
9110
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009111 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9112 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009113
9114
9115 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009116 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009117 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009118 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009119 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009120 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009121 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009122
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009123 <span class="entry_type_array">
9124 n
9125 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009126 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009127
9128
9129 </td> <!-- entry_type -->
9130
9131 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009132 <p>Lists which camera output streams image data
9133from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009134 </td>
9135
9136 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009137 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009138 </td>
9139
9140 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009141 <p>List must only include streams that have been
9142created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009143 </td>
9144
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009145 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009146 <ul class="entry_tags">
9147 <li><a href="#tag_HAL2">HAL2</a></li>
9148 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009149 </td>
9150
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009151 </tr>
9152 <tr class="entries_header">
9153 <th class="th_details" colspan="5">Details</th>
9154 </tr>
9155 <tr class="entry_cont">
9156 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009157 <p>If no output streams are listed,<wbr/> then the image
9158data should simply be discarded.<wbr/> The image data must
9159still be captured for metadata and statistics production,<wbr/>
9160and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009161 </td>
9162 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009163
9164
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009165 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9166 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009167
9168
9169
9170 <!-- end of kind -->
9171 </tbody>
9172
9173 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009174 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009175
9176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009177 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009178
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009179 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009180 <tr>
9181 <th class="th_name">Property Name</th>
9182 <th class="th_type">Type</th>
9183 <th class="th_description">Description</th>
9184 <th class="th_units">Units</th>
9185 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009186 <th class="th_tags">Tags</th>
9187 </tr>
9188 </thead>
9189
9190 <tbody>
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009202 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009203 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009204 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009205 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009206 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009207 <span class="entry_type_container">x</span>
9208
9209 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009210 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009211 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009212 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009213
9214
9215 </td> <!-- entry_type -->
9216
9217 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009218 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9219<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9220(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9221output.<wbr/> Each stream must use this rectangle to produce its
9222output,<wbr/> cropping to a smaller region if necessary to
9223maintain the stream's aspect ratio.<wbr/></p>
9224<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009225 </td>
9226
9227 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009228 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9229 in pixels; (0,<wbr/>0) is top-left corner of
9230 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009231 </td>
9232
9233 <td class="entry_range">
9234 </td>
9235
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009236 <td class="entry_tags">
9237 <ul class="entry_tags">
9238 <li><a href="#tag_BC">BC</a></li>
9239 </ul>
9240 </td>
9241
9242 </tr>
9243 <tr class="entries_header">
9244 <th class="th_details" colspan="5">Details</th>
9245 </tr>
9246 <tr class="entry_cont">
9247 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009248 <p>Any additional per-stream cropping must be done to
9249maximize the final pixel area of the stream.<wbr/></p>
9250<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9251ratio,<wbr/> then 4:3 streams should use the exact crop
9252region.<wbr/> 16:9 streams should further crop vertically
9253(letterbox).<wbr/></p>
9254<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9255outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9256streams should match exactly.<wbr/> These additional crops must
9257be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009258<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009259times,<wbr/> no matter what the relative aspect ratios of the
9260crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009261corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009262larger than active pixel array.<wbr/> Width and height may be
9263rounded to nearest larger supportable width,<wbr/> especially
9264for raw output,<wbr/> where only a few fixed scales may be
9265possible.<wbr/> The width and height of the crop region cannot
9266be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9267android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9268activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9269respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009270 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009271 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009272
9273
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009274 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9275 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009276
9277
9278
9279 <!-- end of kind -->
9280 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009281 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009282
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009283 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009284 <tr>
9285 <th class="th_name">Property Name</th>
9286 <th class="th_type">Type</th>
9287 <th class="th_description">Description</th>
9288 <th class="th_units">Units</th>
9289 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009290 <th class="th_tags">Tags</th>
9291 </tr>
9292 </thead>
9293
9294 <tbody>
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009306 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009307 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009308 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009309 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009310 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009311 <span class="entry_type_container">x</span>
9312
9313 <span class="entry_type_array">
9314 n
9315 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009316 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009317
9318 <ul class="entry_type_enum">
9319 <li>
9320 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009321 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009322 <span class="entry_type_enum_value">0x20</span>
9323 </li>
9324 <li>
9325 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009326 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009327 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009328 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009329 </li>
9330 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009331 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009332 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009333 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009334 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009335 </li>
9336 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009337 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9338 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009339 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009340 </li>
9341 <li>
9342 <span class="entry_type_enum_name">YCbCr_420_888</span>
9343 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009344 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009345 </li>
9346 <li>
9347 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009348 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009349 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009350 </li>
9351 </ul>
9352
9353 </td> <!-- entry_type -->
9354
9355 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009356 <p>The list of image formats that are supported by this
9357camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009358 </td>
9359
9360 <td class="entry_units">
9361 </td>
9362
9363 <td class="entry_range">
9364 </td>
9365
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009366 <td class="entry_tags">
9367 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009368 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009369 </ul>
9370 </td>
9371
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009372 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009373 <tr class="entries_header">
9374 <th class="th_details" colspan="5">Details</th>
9375 </tr>
9376 <tr class="entry_cont">
9377 <td class="entry_details" colspan="5">
9378 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9379<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9380 </td>
9381 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009382
Zhijun Heb8317e22014-01-16 09:47:07 -08009383 <tr class="entries_header">
9384 <th class="th_details" colspan="5">HAL Implementation Details</th>
9385 </tr>
9386 <tr class="entry_cont">
9387 <td class="entry_details" colspan="5">
9388 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9389system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9390<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9391gralloc module will select a format based on the usage flags provided
9392by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9393usually used by preview and recording streams,<wbr/> where the application doesn't
9394need access the image data.<wbr/></p>
9395<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9396needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9397<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9398 </td>
9399 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009400
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009401 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9402 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009403
9404
9405 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009406 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009407 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009408 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009409 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009410 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009411 <span class="entry_type_container">x</span>
9412
9413 <span class="entry_type_array">
9414 n
9415 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009416 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009417
9418
9419 </td> <!-- entry_type -->
9420
9421 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009422 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009423for each resolution in <a href="#static_android.scaler.availableJpegSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009424 </td>
9425
9426 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009427 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009428 </td>
9429
9430 <td class="entry_range">
9431 </td>
9432
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009433 <td class="entry_tags">
9434 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009435 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009436 </ul>
9437 </td>
9438
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009439 </tr>
9440 <tr class="entries_header">
9441 <th class="th_details" colspan="5">Details</th>
9442 </tr>
9443 <tr class="entry_cont">
9444 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009445 <p>This corresponds to the minimum steady-state frame duration when only
9446that JPEG stream is active and captured in a burst,<wbr/> with all
9447processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9448<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009449frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009450durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009451 </td>
9452 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009453
9454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009455 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9456 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009457
9458
9459 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009460 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009461 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009462 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009463 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009464 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009465 <span class="entry_type_container">x</span>
9466
9467 <span class="entry_type_array">
9468 n x 2
9469 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009470 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009471
9472
9473 </td> <!-- entry_type -->
9474
9475 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009476 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009477 </td>
9478
9479 <td class="entry_units">
9480 </td>
9481
9482 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009483 </td>
9484
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009485 <td class="entry_tags">
9486 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009487 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009488 </ul>
9489 </td>
9490
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009491 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009492 <tr class="entries_header">
9493 <th class="th_details" colspan="5">Details</th>
9494 </tr>
9495 <tr class="entry_cont">
9496 <td class="entry_details" colspan="5">
9497 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9498sensor maximum resolution (defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>).<wbr/></p>
9499 </td>
9500 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009501
Zhijun Heb8317e22014-01-16 09:47:07 -08009502 <tr class="entries_header">
9503 <th class="th_details" colspan="5">HAL Implementation Details</th>
9504 </tr>
9505 <tr class="entry_cont">
9506 <td class="entry_details" colspan="5">
9507 <p>The HAL must include sensor maximum resolution
9508(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9509and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9510 </td>
9511 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009512
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009513 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9514 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009515
9516
9517 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009518 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009519 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009520 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009521 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009522 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009523
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009524 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009525
9526
9527 </td> <!-- entry_type -->
9528
9529 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009530 <p>The maximum ratio between active area width
9531and crop region width,<wbr/> or between active area height and
9532crop region height,<wbr/> if the crop region height is larger
9533than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009534 </td>
9535
9536 <td class="entry_units">
9537 </td>
9538
9539 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009540 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009541 </td>
9542
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009543 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009544 <ul class="entry_tags">
9545 <li><a href="#tag_BC">BC</a></li>
9546 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009547 </td>
9548
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009549 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009550
9551
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009552 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9553 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009554
9555
9556 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009557 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009558 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009559 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009560 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009561 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009562 <span class="entry_type_container">x</span>
9563
9564 <span class="entry_type_array">
9565 n
9566 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009567 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009568
9569
9570 </td> <!-- entry_type -->
9571
9572 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009573 <p>For each available processed output size (defined in
9574<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9575minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009576 </td>
9577
9578 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009579 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009580 </td>
9581
9582 <td class="entry_range">
9583 </td>
9584
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009585 <td class="entry_tags">
9586 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009587 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009588 </ul>
9589 </td>
9590
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009591 </tr>
9592 <tr class="entries_header">
9593 <th class="th_details" colspan="5">Details</th>
9594 </tr>
9595 <tr class="entry_cont">
9596 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009597 <p>This should correspond to the frame duration when only that processed
9598stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9599set to FAST.<wbr/></p>
9600<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9601be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009602 </td>
9603 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009604
9605
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009606 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9607 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009608
9609
9610 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009611 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009612 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009613 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009614 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009615 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009616 <span class="entry_type_container">x</span>
9617
9618 <span class="entry_type_array">
9619 n x 2
9620 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009621 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009622
9623
9624 </td> <!-- entry_type -->
9625
9626 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009627 <p>The resolutions available for use with
9628processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9629platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009630encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009631 </td>
9632
9633 <td class="entry_units">
9634 </td>
9635
9636 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009637 </td>
9638
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009639 <td class="entry_tags">
9640 <ul class="entry_tags">
9641 <li><a href="#tag_BC">BC</a></li>
9642 </ul>
9643 </td>
9644
9645 </tr>
9646 <tr class="entries_header">
9647 <th class="th_details" colspan="5">Details</th>
9648 </tr>
9649 <tr class="entry_cont">
9650 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009651 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9652<p>For a given use case,<wbr/> the actual maximum supported resolution
9653may be lower than what is listed here,<wbr/> depending on the destination
9654Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9655the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9656smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9657can provide.<wbr/></p>
9658<p>Please reference the documentation for the image data destination to
9659check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009660 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009661 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009662
Zhijun Heb8317e22014-01-16 09:47:07 -08009663 <tr class="entries_header">
9664 <th class="th_details" colspan="5">HAL Implementation Details</th>
9665 </tr>
9666 <tr class="entry_cont">
9667 <td class="entry_details" colspan="5">
9668 <p>For FULL capability devices (<code><a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> == FULL</code>),<wbr/>
9669the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9670and each below resolution if it is smaller than or equal to the sensor
9671maximum resolution (if they are not listed in JPEG sizes already):</p>
9672<ul>
9673<li>240p (320 x 240)</li>
9674<li>480p (640 x 480)</li>
9675<li>720p (1280 x 720)</li>
9676<li>1080p (1920 x 1080)</li>
9677</ul>
9678<p>For LIMITED capability devices (<code><a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> == LIMITED</code>),<wbr/>
9679the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9680 </td>
9681 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009683 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9684 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009685
9686
9687 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009688 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009689 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009690 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009692 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009693 <span class="entry_type_container">x</span>
9694
9695 <span class="entry_type_array">
9696 n
9697 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009698 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009699
9700
9701 </td> <!-- entry_type -->
9702
9703 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009704 <p>For each available processed output size (defined in
9705<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9706supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009707 </td>
9708
9709 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009710 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009711 </td>
9712
9713 <td class="entry_range">
9714 </td>
9715
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009716 <td class="entry_tags">
9717 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009718 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009719 </ul>
9720 </td>
9721
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009722 </tr>
9723 <tr class="entries_header">
9724 <th class="th_details" colspan="5">Details</th>
9725 </tr>
9726 <tr class="entry_cont">
9727 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009728 <p>Should correspond to the frame duration when only the raw stream is
9729active.<wbr/></p>
9730<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009731frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009732durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009733 </td>
9734 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009735
9736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009737 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9738 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009739
9740
9741 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009742 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009743 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009744 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009746 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009747 <span class="entry_type_container">x</span>
9748
9749 <span class="entry_type_array">
9750 n x 2
9751 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009752 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009753
9754
9755 </td> <!-- entry_type -->
9756
9757 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009758 <p>The resolutions available for use with raw
9759sensor output streams,<wbr/> listed as width,<wbr/>
9760height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009761 </td>
9762
9763 <td class="entry_units">
9764 </td>
9765
9766 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009767 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009768 </td>
9769
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009770 <td class="entry_tags">
9771 </td>
9772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009773 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009774
9775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009776 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9777 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009778
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009779
9780
9781 <!-- end of kind -->
9782 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009783 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009784
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009785 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009786 <tr>
9787 <th class="th_name">Property Name</th>
9788 <th class="th_type">Type</th>
9789 <th class="th_description">Description</th>
9790 <th class="th_units">Units</th>
9791 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009792 <th class="th_tags">Tags</th>
9793 </tr>
9794 </thead>
9795
9796 <tbody>
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009808 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009809 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009810 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009812 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009813 <span class="entry_type_container">x</span>
9814
9815 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009816 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009817 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009818 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009819
9820
9821 </td> <!-- entry_type -->
9822
9823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009824 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9825<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9826(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9827output.<wbr/> Each stream must use this rectangle to produce its
9828output,<wbr/> cropping to a smaller region if necessary to
9829maintain the stream's aspect ratio.<wbr/></p>
9830<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009831 </td>
9832
9833 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009834 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9835 in pixels; (0,<wbr/>0) is top-left corner of
9836 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009837 </td>
9838
9839 <td class="entry_range">
9840 </td>
9841
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009842 <td class="entry_tags">
9843 <ul class="entry_tags">
9844 <li><a href="#tag_BC">BC</a></li>
9845 </ul>
9846 </td>
9847
9848 </tr>
9849 <tr class="entries_header">
9850 <th class="th_details" colspan="5">Details</th>
9851 </tr>
9852 <tr class="entry_cont">
9853 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009854 <p>Any additional per-stream cropping must be done to
9855maximize the final pixel area of the stream.<wbr/></p>
9856<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9857ratio,<wbr/> then 4:3 streams should use the exact crop
9858region.<wbr/> 16:9 streams should further crop vertically
9859(letterbox).<wbr/></p>
9860<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9861outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9862streams should match exactly.<wbr/> These additional crops must
9863be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009864<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009865times,<wbr/> no matter what the relative aspect ratios of the
9866crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009867corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009868larger than active pixel array.<wbr/> Width and height may be
9869rounded to nearest larger supportable width,<wbr/> especially
9870for raw output,<wbr/> where only a few fixed scales may be
9871possible.<wbr/> The width and height of the crop region cannot
9872be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9873android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9874activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9875respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009876 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009877 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009878
9879
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009880 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9881 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009882
9883
9884
9885 <!-- end of kind -->
9886 </tbody>
9887
9888 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009889 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890
9891
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009892 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009893
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009894 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009895 <tr>
9896 <th class="th_name">Property Name</th>
9897 <th class="th_type">Type</th>
9898 <th class="th_description">Description</th>
9899 <th class="th_units">Units</th>
9900 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009901 <th class="th_tags">Tags</th>
9902 </tr>
9903 </thead>
9904
9905 <tbody>
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009917 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009918 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009919 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009920 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009921 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009922
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009923 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009924
9925
9926 </td> <!-- entry_type -->
9927
9928 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009929 <p>Duration each pixel is exposed to
9930light.<wbr/></p>
9931<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
9932duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009933 </td>
9934
9935 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009936 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009937 </td>
9938
9939 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009940 <p><a href="#static_android.sensor.info.exposureTimeRange">android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009941 </td>
9942
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009943 <td class="entry_tags">
9944 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009945 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009946 </ul>
9947 </td>
9948
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009949 </tr>
9950 <tr class="entries_header">
9951 <th class="th_details" colspan="5">Details</th>
9952 </tr>
9953 <tr class="entry_cont">
9954 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009955 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009956 </td>
9957 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009958
9959
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009960 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9961 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009962
9963
9964 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009965 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009966 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009967 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009968 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009969 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009970
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009971 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009972
9973
9974 </td> <!-- entry_type -->
9975
9976 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009977 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009978start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009979 </td>
9980
9981 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009982 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009983 </td>
9984
9985 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009986 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
9987android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
9988is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009989 </td>
9990
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009991 <td class="entry_tags">
9992 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009993 <li><a href="#tag_V1">V1</a></li>
9994 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009995 </ul>
9996 </td>
9997
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009998 </tr>
9999 <tr class="entries_header">
10000 <th class="th_details" colspan="5">Details</th>
10001 </tr>
10002 <tr class="entry_cont">
10003 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010004 <p>The maximum frame rate that can be supported by a camera subsystem is
10005a function of many factors:</p>
10006<ul>
10007<li>Requested resolutions of output image streams</li>
10008<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10009<li>The bandwidth of the imager interface</li>
10010<li>The bandwidth of the various ISP processing blocks</li>
10011</ul>
10012<p>Since these factors can vary greatly between different ISPs and
10013sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10014restrictions with as simple a model as possible.<wbr/></p>
10015<p>The model presented has the following characteristics:</p>
10016<ul>
10017<li>The image sensor is always configured to output the smallest
10018resolution possible given the application's requested output stream
10019sizes.<wbr/> The smallest resolution is defined as being at least as large
10020as the largest requested output stream size; the camera pipeline must
10021never digitally upsample sensor data when the crop region covers the
10022whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10023resolutions are configured,<wbr/> the sensor can provide a higher frame
10024rate.<wbr/></li>
10025<li>Since any request may use any or all the currently configured
10026output streams,<wbr/> the sensor and ISP must be configured to support
10027scaling a single capture to all the streams at the same time.<wbr/> This
10028means the camera pipeline must be ready to produce the largest
10029requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10030frame rate of a given configured stream set is governed only by the
10031largest requested stream resolution.<wbr/></li>
10032<li>Using more than one output stream in a request does not affect the
10033frame duration.<wbr/></li>
10034<li>JPEG streams act like processed YUV streams in requests for which
10035they are not included; in requests in which they are directly
10036referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10037JPEG stream requires the underlying YUV data to always be ready for
10038use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10039frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10040<li>The JPEG processor can run concurrently to the rest of the camera
10041pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10042</ul>
10043<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10044is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10045These are used to determine the maximum frame rate /<wbr/> minimum frame
10046duration that is possible for a given stream configuration.<wbr/></p>
10047<p>Specifically,<wbr/> the application can use the following rules to
10048determine the minimum frame duration it can request from the HAL
10049device:</p>
10050<ol>
10051<li>Given the application's currently configured set of output
10052streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10053<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10054<code>SP</code>.<wbr/></li>
10055<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10056count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10057<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10058<li>If <code>RJ</code> is greater than <code>RP</code>,<wbr/> set <code>RP</code> equal to <code>RJ</code>.<wbr/> If there is
10059no exact match for <code>RP == RJ</code> (in particular there isn't an available
10060processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10061to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10062there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10063the processed resolution closest to <code>RJ</code>.<wbr/></li>
10064<li>If <code>RP</code> is greater than <code>RR</code>,<wbr/> set <code>RR</code> equal to <code>RP</code>.<wbr/> If there is
10065no exact match for <code>RR == RP</code> (in particular there isn't an available
10066raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10067or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10068there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10069the raw resolution closest to <code>RP</code>.<wbr/></li>
10070<li>Look up the matching minimum frame durations in the property lists
10071<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10072<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10073<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10074minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10075<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10076supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10077<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10078supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10079<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10080the application,<wbr/> then the HAL will have to delay JPEG-using requests
10081whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10082This will happen whenever a JPEG-using request starts capture less
10083than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10084supported frame duration will vary between the values calculated in
10085#6 and #7.<wbr/></li>
10086</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010087 </td>
10088 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010089
10090
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010091 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10092 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010093
10094
10095 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010096 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010097 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010098 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010099 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010100 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010101
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010102 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010103
10104
10105 </td> <!-- entry_type -->
10106
10107 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010108 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010109implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010110below 'maximum analog sensitivity'.<wbr/></p>
10111<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10112gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010113 </td>
10114
10115 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010116 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010117 </td>
10118
10119 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010120 <p><a href="#static_android.sensor.info.sensitivityRange">android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010121 </td>
10122
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010123 <td class="entry_tags">
10124 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010125 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010126 </ul>
10127 </td>
10128
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010129 </tr>
10130 <tr class="entries_header">
10131 <th class="th_details" colspan="5">Details</th>
10132 </tr>
10133 <tr class="entry_cont">
10134 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010135 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010136 </td>
10137 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010138
10139
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010140 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10141 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010142
10143
10144
10145 <!-- end of kind -->
10146 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010147 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010148
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010149 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010150 <tr>
10151 <th class="th_name">Property Name</th>
10152 <th class="th_type">Type</th>
10153 <th class="th_description">Description</th>
10154 <th class="th_units">Units</th>
10155 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010156 <th class="th_tags">Tags</th>
10157 </tr>
10158 </thead>
10159
10160 <tbody>
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010174 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010175 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010176 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010177 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010178 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010179 <span class="entry_type_container">x</span>
10180
10181 <span class="entry_type_array">
10182 4
10183 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010184 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010185 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010186
10187
10188 </td> <!-- entry_type -->
10189
10190 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010191 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010192active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010193pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010194 </td>
10195
10196 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010197 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10198 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010199 </td>
10200
10201 <td class="entry_range">
10202 </td>
10203
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010204 <td class="entry_tags">
10205 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010206 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010207 </ul>
10208 </td>
10209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010210 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010211
10212
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010213 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10214 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010215
10216
Zhijun He69fc0ea2013-07-17 09:42:58 -070010217 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010218 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010219 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010222 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010223 <span class="entry_type_container">x</span>
10224
10225 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010226 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010227 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010228 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010229 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010230
10231
10232 </td> <!-- entry_type -->
10233
10234 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010235 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010236 </td>
10237
10238 <td class="entry_units">
10239 </td>
10240
10241 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010242 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010243 </td>
10244
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010245 <td class="entry_tags">
10246 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010247 <li><a href="#tag_BC">BC</a></li>
10248 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010249 </ul>
10250 </td>
10251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010252 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010253
10254
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010255 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10256 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010257
10258
10259 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010260 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010261 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010262 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010263 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010264 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010265
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010266 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010267
10268 <ul class="entry_type_enum">
10269 <li>
10270 <span class="entry_type_enum_name">RGGB</span>
10271 </li>
10272 <li>
10273 <span class="entry_type_enum_name">GRBG</span>
10274 </li>
10275 <li>
10276 <span class="entry_type_enum_name">GBRG</span>
10277 </li>
10278 <li>
10279 <span class="entry_type_enum_name">BGGR</span>
10280 </li>
10281 <li>
10282 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010283 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10284values for each pixel,<wbr/> instead of just 1 16-bit value
10285per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010286 </li>
10287 </ul>
10288
10289 </td> <!-- entry_type -->
10290
10291 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010292 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010293represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010294the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010295 </td>
10296
10297 <td class="entry_units">
10298 </td>
10299
10300 <td class="entry_range">
10301 </td>
10302
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010303 <td class="entry_tags">
10304 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010305 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010306 </ul>
10307 </td>
10308
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010310
10311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010314
10315
10316 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010317 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010318 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010321 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010322 <span class="entry_type_container">x</span>
10323
10324 <span class="entry_type_array">
10325 2
10326 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010327 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010328 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010329
10330
10331 </td> <!-- entry_type -->
10332
10333 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010334 <p>Range of valid exposure
10335times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010336 </td>
10337
10338 <td class="entry_units">
10339 </td>
10340
10341 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010342 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10343sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010344 </td>
10345
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010346 <td class="entry_tags">
10347 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010348 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010349 </ul>
10350 </td>
10351
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010352 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010353
10354
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010355 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10356 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010357
10358
10359 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010360 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010361 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010362 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010363 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010364 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010365
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010366 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010367
10368
10369 </td> <!-- entry_type -->
10370
10371 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010372 <p>Maximum possible frame duration (minimum frame
10373rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010374 </td>
10375
10376 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010377 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010378 </td>
10379
10380 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010381 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010382 </td>
10383
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010384 <td class="entry_tags">
10385 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010386 <li><a href="#tag_BC">BC</a></li>
10387 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010388 </ul>
10389 </td>
10390
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010391 </tr>
10392 <tr class="entries_header">
10393 <th class="th_details" colspan="5">Details</th>
10394 </tr>
10395 <tr class="entry_cont">
10396 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010397 <p>Minimum duration is a function of resolution,<wbr/>
10398processing settings.<wbr/> See
10399android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10400android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010401<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010402 </td>
10403 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010404
10405
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010406 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10407 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010408
10409
10410 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010411 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010412 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010413 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010414 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010415 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010416 <span class="entry_type_container">x</span>
10417
10418 <span class="entry_type_array">
10419 2
10420 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010421 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010422 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010423
10424
10425 </td> <!-- entry_type -->
10426
10427 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010428 <p>The physical dimensions of the full pixel
10429array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010430 </td>
10431
10432 <td class="entry_units">
10433 </td>
10434
10435 <td class="entry_range">
10436 </td>
10437
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010438 <td class="entry_tags">
10439 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010440 <li><a href="#tag_V1">V1</a></li>
10441 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010442 </ul>
10443 </td>
10444
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010445 </tr>
10446 <tr class="entries_header">
10447 <th class="th_details" colspan="5">Details</th>
10448 </tr>
10449 <tr class="entry_cont">
10450 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010451 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010452 </td>
10453 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010454
10455
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010456 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10457 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010458
10459
10460 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010461 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010462 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010463 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010464 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010465 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010466 <span class="entry_type_container">x</span>
10467
10468 <span class="entry_type_array">
10469 2
10470 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010471 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010472
10473
10474 </td> <!-- entry_type -->
10475
10476 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010477 <p>Dimensions of full pixel array,<wbr/> possibly
10478including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010479 </td>
10480
10481 <td class="entry_units">
10482 </td>
10483
10484 <td class="entry_range">
10485 </td>
10486
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010487 <td class="entry_tags">
10488 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010489 <li><a href="#tag_DNG">DNG</a></li>
10490 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010491 </ul>
10492 </td>
10493
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010494 </tr>
10495 <tr class="entries_header">
10496 <th class="th_details" colspan="5">Details</th>
10497 </tr>
10498 <tr class="entry_cont">
10499 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010500 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010501match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010502android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010503 </td>
10504 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010505
10506
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010507 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10508 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010509
10510
10511 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010512 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010513 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010514 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010515 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010516 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010517
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010518 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010519
10520
10521 </td> <!-- entry_type -->
10522
10523 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010524 <p>Maximum raw value output by
10525sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010526 </td>
10527
10528 <td class="entry_units">
10529 </td>
10530
10531 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010532 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010533 </td>
10534
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010535 <td class="entry_tags">
10536 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010537 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010538 </ul>
10539 </td>
10540
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010541 </tr>
10542 <tr class="entries_header">
10543 <th class="th_details" colspan="5">Details</th>
10544 </tr>
10545 <tr class="entry_cont">
10546 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010547 <p>Defines sensor bit depth (10-14 bits is
10548expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010549 </td>
10550 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010551
10552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010553 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10554 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010555
10556
10557
10558
10559
10560 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010561 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010562 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010563 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010565 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010567 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010568
10569
10570 </td> <!-- entry_type -->
10571
10572 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010573 <p>Gain factor from electrons to raw units when
10574ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010575 </td>
10576
10577 <td class="entry_units">
10578 </td>
10579
10580 <td class="entry_range">
10581 </td>
10582
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010583 <td class="entry_tags">
10584 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010585 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010586 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010587 </ul>
10588 </td>
10589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010590 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010591
10592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010593 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10594 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010595
10596
10597 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010598 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010599 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010600 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010602 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010603 <span class="entry_type_container">x</span>
10604
10605 <span class="entry_type_array">
10606 4
10607 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010608 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010609 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010610
10611
10612 </td> <!-- entry_type -->
10613
10614 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010615 <p>A fixed black level offset for each of the
10616Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010617 </td>
10618
10619 <td class="entry_units">
10620 </td>
10621
10622 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010623 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010624 </td>
10625
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010626 <td class="entry_tags">
10627 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010628 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010629 </ul>
10630 </td>
10631
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010632 </tr>
10633 <tr class="entries_header">
10634 <th class="th_details" colspan="5">Details</th>
10635 </tr>
10636 <tr class="entry_cont">
10637 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010638 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10639tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010640 </td>
10641 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010642
10643
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010644 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10645 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010646
10647
10648 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010649 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010650 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010651 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010652 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010653 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010654 <span class="entry_type_container">x</span>
10655
10656 <span class="entry_type_array">
10657 9
10658 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010659 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010660 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010661
10662
10663 </td> <!-- entry_type -->
10664
10665 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010666 <p>Per-device calibration on top of color space
10667transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010668 </td>
10669
10670 <td class="entry_units">
10671 </td>
10672
10673 <td class="entry_range">
10674 </td>
10675
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010676 <td class="entry_tags">
10677 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010678 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010679 </ul>
10680 </td>
10681
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010682 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010683
10684
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010685 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10686 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010687
10688
10689 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010690 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010691 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010692 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010693 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010694 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010695 <span class="entry_type_container">x</span>
10696
10697 <span class="entry_type_array">
10698 9
10699 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010700 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010701 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010702
10703
10704 </td> <!-- entry_type -->
10705
10706 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010707 <p>Per-device calibration on top of color space
10708transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010709 </td>
10710
10711 <td class="entry_units">
10712 </td>
10713
10714 <td class="entry_range">
10715 </td>
10716
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010717 <td class="entry_tags">
10718 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010719 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010720 </ul>
10721 </td>
10722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010723 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010724
10725
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010726 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10727 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010728
10729
10730 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010731 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010732 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010733 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010735 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010736 <span class="entry_type_container">x</span>
10737
10738 <span class="entry_type_array">
10739 9
10740 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010741 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010742 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010743
10744
10745 </td> <!-- entry_type -->
10746
10747 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010748 <p>Linear mapping from XYZ (D50) color space to
10749reference linear sensor color,<wbr/> for first reference
10750illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010751 </td>
10752
10753 <td class="entry_units">
10754 </td>
10755
10756 <td class="entry_range">
10757 </td>
10758
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010759 <td class="entry_tags">
10760 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010761 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010762 </ul>
10763 </td>
10764
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010765 </tr>
10766 <tr class="entries_header">
10767 <th class="th_details" colspan="5">Details</th>
10768 </tr>
10769 <tr class="entry_cont">
10770 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010771 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10772black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10773At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010774 </td>
10775 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010776
10777
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010778 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10779 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010780
10781
10782 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010783 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010784 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010785 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010787 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010788 <span class="entry_type_container">x</span>
10789
10790 <span class="entry_type_array">
10791 9
10792 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010793 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010794 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010795
10796
10797 </td> <!-- entry_type -->
10798
10799 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010800 <p>Linear mapping from XYZ (D50) color space to
10801reference linear sensor color,<wbr/> for second reference
10802illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010803 </td>
10804
10805 <td class="entry_units">
10806 </td>
10807
10808 <td class="entry_range">
10809 </td>
10810
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010811 <td class="entry_tags">
10812 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010813 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010814 </ul>
10815 </td>
10816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010817 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010818
10819
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010820 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10821 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010822
10823
10824 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010825 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010826 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010827 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010828 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010829 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010830 <span class="entry_type_container">x</span>
10831
10832 <span class="entry_type_array">
10833 9
10834 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010835 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010836 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010837
10838
10839 </td> <!-- entry_type -->
10840
10841 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010842 <p>Used by DNG for better WB
10843adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010844 </td>
10845
10846 <td class="entry_units">
10847 </td>
10848
10849 <td class="entry_range">
10850 </td>
10851
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010852 <td class="entry_tags">
10853 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010854 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010855 </ul>
10856 </td>
10857
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010858 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010859
10860
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010861 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10862 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010863
10864
10865 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010866 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010867 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010868 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010869 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010870 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010871 <span class="entry_type_container">x</span>
10872
10873 <span class="entry_type_array">
10874 9
10875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010876 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010877 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010878
10879
10880 </td> <!-- entry_type -->
10881
10882 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010883 <p>Used by DNG for better WB
10884adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010885 </td>
10886
10887 <td class="entry_units">
10888 </td>
10889
10890 <td class="entry_range">
10891 </td>
10892
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010893 <td class="entry_tags">
10894 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010895 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010896 </ul>
10897 </td>
10898
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010899 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010900
10901
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010902 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10903 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010904
10905
10906 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010907 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010908 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010909 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010910 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010911 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010912
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010913 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010914
10915
10916 </td> <!-- entry_type -->
10917
10918 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010919 <p>Maximum sensitivity that is implemented
10920purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010921 </td>
10922
10923 <td class="entry_units">
10924 </td>
10925
10926 <td class="entry_range">
10927 </td>
10928
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010929 <td class="entry_tags">
10930 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010931 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010932 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010933 </ul>
10934 </td>
10935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010936 </tr>
10937 <tr class="entries_header">
10938 <th class="th_details" colspan="5">Details</th>
10939 </tr>
10940 <tr class="entry_cont">
10941 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010942 <p>For <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> values less than or
Igor Murashkin0b080452013-12-27 15:30:25 -080010943equal to this,<wbr/> all applied gain must be analog.<wbr/> For
10944values above this,<wbr/> it can be a mix of analog and
10945digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010946 </td>
10947 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010948
10949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010950 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10951 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010952
10953
10954 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010955 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010956 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010957 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010958 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010959 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010960 <span class="entry_type_container">x</span>
10961
10962 <span class="entry_type_array">
10963 2
10964 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010965 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010966 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010967
10968
10969 </td> <!-- entry_type -->
10970
10971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010972 <p>Estimation of sensor noise
10973characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010974 </td>
10975
10976 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010977 var(raw pixel value) = electrons * (baseGainFactor
10978 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
10979 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010980 </td>
10981
10982 <td class="entry_range">
10983 </td>
10984
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010985 <td class="entry_tags">
10986 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010987 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010988 </ul>
10989 </td>
10990
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010991 </tr>
10992 <tr class="entries_header">
10993 <th class="th_details" colspan="5">Details</th>
10994 </tr>
10995 <tr class="entry_cont">
10996 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010997 <p>A represents sensor read noise before analog
10998amplification; B represents noise from A/<wbr/>D conversion and
10999other circuits after amplification.<wbr/> Both noise sources
11000are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11001across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011002 </td>
11003 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011004
11005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011006 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11007 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011008
11009
11010 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011011 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011012 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011013 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011015 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011016
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011017 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011018
11019
11020 </td> <!-- entry_type -->
11021
11022 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011023 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011024image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011025screen in its native orientation.<wbr/> Also defines the
11026direction of rolling shutter readout,<wbr/> which is from top
11027to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011028 </td>
11029
11030 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011031 degrees clockwise rotation,<wbr/> only multiples of
11032 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011033 </td>
11034
11035 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011036 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011037 </td>
11038
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011039 <td class="entry_tags">
11040 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011041 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011042 </ul>
11043 </td>
11044
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011045 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011046
11047
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011048 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11049 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011050
11051
11052 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011053 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011054 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011055 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011056 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011057 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011058
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011059 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011060
11061 <ul class="entry_type_enum">
11062 <li>
11063 <span class="entry_type_enum_name">DAYLIGHT</span>
11064 <span class="entry_type_enum_value">1</span>
11065 </li>
11066 <li>
11067 <span class="entry_type_enum_name">FLUORESCENT</span>
11068 <span class="entry_type_enum_value">2</span>
11069 </li>
11070 <li>
11071 <span class="entry_type_enum_name">TUNGSTEN</span>
11072 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011073 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011074 </li>
11075 <li>
11076 <span class="entry_type_enum_name">FLASH</span>
11077 <span class="entry_type_enum_value">4</span>
11078 </li>
11079 <li>
11080 <span class="entry_type_enum_name">FINE_WEATHER</span>
11081 <span class="entry_type_enum_value">9</span>
11082 </li>
11083 <li>
11084 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11085 <span class="entry_type_enum_value">10</span>
11086 </li>
11087 <li>
11088 <span class="entry_type_enum_name">SHADE</span>
11089 <span class="entry_type_enum_value">11</span>
11090 </li>
11091 <li>
11092 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11093 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011094 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011095 </li>
11096 <li>
11097 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11098 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011099 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011100 </li>
11101 <li>
11102 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11103 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011104 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011105 </li>
11106 <li>
11107 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11108 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011109 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011110 </li>
11111 <li>
11112 <span class="entry_type_enum_name">STANDARD_A</span>
11113 <span class="entry_type_enum_value">17</span>
11114 </li>
11115 <li>
11116 <span class="entry_type_enum_name">STANDARD_B</span>
11117 <span class="entry_type_enum_value">18</span>
11118 </li>
11119 <li>
11120 <span class="entry_type_enum_name">STANDARD_C</span>
11121 <span class="entry_type_enum_value">19</span>
11122 </li>
11123 <li>
11124 <span class="entry_type_enum_name">D55</span>
11125 <span class="entry_type_enum_value">20</span>
11126 </li>
11127 <li>
11128 <span class="entry_type_enum_name">D65</span>
11129 <span class="entry_type_enum_value">21</span>
11130 </li>
11131 <li>
11132 <span class="entry_type_enum_name">D75</span>
11133 <span class="entry_type_enum_value">22</span>
11134 </li>
11135 <li>
11136 <span class="entry_type_enum_name">D50</span>
11137 <span class="entry_type_enum_value">23</span>
11138 </li>
11139 <li>
11140 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11141 <span class="entry_type_enum_value">24</span>
11142 </li>
11143 </ul>
11144
11145 </td> <!-- entry_type -->
11146
11147 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011148 <p>Light source used to define transform
111491</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011150 </td>
11151
11152 <td class="entry_units">
11153 </td>
11154
11155 <td class="entry_range">
11156 </td>
11157
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011158 <td class="entry_tags">
11159 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011160 <li><a href="#tag_DNG">DNG</a></li>
11161 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011162 </ul>
11163 </td>
11164
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011165 </tr>
11166 <tr class="entries_header">
11167 <th class="th_details" colspan="5">Details</th>
11168 </tr>
11169 <tr class="entry_cont">
11170 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011171 <p>[EXIF LightSource tag] Must all these be
11172supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011173 </td>
11174 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011175
11176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011177 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11178 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011179
11180
11181 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011182 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011183 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011184 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011185 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011186 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011187
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011188 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011189
11190
11191 </td> <!-- entry_type -->
11192
11193 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011194 <p>Light source used to define transform
111952</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011196 </td>
11197
11198 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011199 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011200 </td>
11201
11202 <td class="entry_range">
11203 </td>
11204
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011205 <td class="entry_tags">
11206 </td>
11207
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011208 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011209
11210
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011211 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11212 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011213
11214
11215
11216 <!-- end of kind -->
11217 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011218 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011219
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011220 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011221 <tr>
11222 <th class="th_name">Property Name</th>
11223 <th class="th_type">Type</th>
11224 <th class="th_description">Description</th>
11225 <th class="th_units">Units</th>
11226 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011227 <th class="th_tags">Tags</th>
11228 </tr>
11229 </thead>
11230
11231 <tbody>
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011243 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011244 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011245 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011246 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011247 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011248
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011249 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011250
11251
11252 </td> <!-- entry_type -->
11253
11254 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011255 <p>Duration each pixel is exposed to
11256light.<wbr/></p>
11257<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11258duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011259 </td>
11260
11261 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011262 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011263 </td>
11264
11265 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011266 <p><a href="#static_android.sensor.info.exposureTimeRange">android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011267 </td>
11268
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011269 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011270 <ul class="entry_tags">
11271 <li><a href="#tag_V1">V1</a></li>
11272 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011273 </td>
11274
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011275 </tr>
11276 <tr class="entries_header">
11277 <th class="th_details" colspan="5">Details</th>
11278 </tr>
11279 <tr class="entry_cont">
11280 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011281 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011282 </td>
11283 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011284
11285
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011286 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11287 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011288
11289
11290 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011291 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011292 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011293 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011295 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011297 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011298
11299
11300 </td> <!-- entry_type -->
11301
11302 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011303 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011304start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011305 </td>
11306
11307 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011308 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011309 </td>
11310
11311 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011312 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11313android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11314is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011315 </td>
11316
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011317 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011318 <ul class="entry_tags">
11319 <li><a href="#tag_V1">V1</a></li>
11320 <li><a href="#tag_BC">BC</a></li>
11321 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011322 </td>
11323
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011324 </tr>
11325 <tr class="entries_header">
11326 <th class="th_details" colspan="5">Details</th>
11327 </tr>
11328 <tr class="entry_cont">
11329 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011330 <p>The maximum frame rate that can be supported by a camera subsystem is
11331a function of many factors:</p>
11332<ul>
11333<li>Requested resolutions of output image streams</li>
11334<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11335<li>The bandwidth of the imager interface</li>
11336<li>The bandwidth of the various ISP processing blocks</li>
11337</ul>
11338<p>Since these factors can vary greatly between different ISPs and
11339sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11340restrictions with as simple a model as possible.<wbr/></p>
11341<p>The model presented has the following characteristics:</p>
11342<ul>
11343<li>The image sensor is always configured to output the smallest
11344resolution possible given the application's requested output stream
11345sizes.<wbr/> The smallest resolution is defined as being at least as large
11346as the largest requested output stream size; the camera pipeline must
11347never digitally upsample sensor data when the crop region covers the
11348whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11349resolutions are configured,<wbr/> the sensor can provide a higher frame
11350rate.<wbr/></li>
11351<li>Since any request may use any or all the currently configured
11352output streams,<wbr/> the sensor and ISP must be configured to support
11353scaling a single capture to all the streams at the same time.<wbr/> This
11354means the camera pipeline must be ready to produce the largest
11355requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11356frame rate of a given configured stream set is governed only by the
11357largest requested stream resolution.<wbr/></li>
11358<li>Using more than one output stream in a request does not affect the
11359frame duration.<wbr/></li>
11360<li>JPEG streams act like processed YUV streams in requests for which
11361they are not included; in requests in which they are directly
11362referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11363JPEG stream requires the underlying YUV data to always be ready for
11364use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11365frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11366<li>The JPEG processor can run concurrently to the rest of the camera
11367pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11368</ul>
11369<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11370is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11371These are used to determine the maximum frame rate /<wbr/> minimum frame
11372duration that is possible for a given stream configuration.<wbr/></p>
11373<p>Specifically,<wbr/> the application can use the following rules to
11374determine the minimum frame duration it can request from the HAL
11375device:</p>
11376<ol>
11377<li>Given the application's currently configured set of output
11378streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11379<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11380<code>SP</code>.<wbr/></li>
11381<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11382count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11383<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11384<li>If <code>RJ</code> is greater than <code>RP</code>,<wbr/> set <code>RP</code> equal to <code>RJ</code>.<wbr/> If there is
11385no exact match for <code>RP == RJ</code> (in particular there isn't an available
11386processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11387to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11388there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11389the processed resolution closest to <code>RJ</code>.<wbr/></li>
11390<li>If <code>RP</code> is greater than <code>RR</code>,<wbr/> set <code>RR</code> equal to <code>RP</code>.<wbr/> If there is
11391no exact match for <code>RR == RP</code> (in particular there isn't an available
11392raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11393or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11394there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11395the raw resolution closest to <code>RP</code>.<wbr/></li>
11396<li>Look up the matching minimum frame durations in the property lists
11397<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11398<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11399<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11400minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11401<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11402supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11403<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11404supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11405<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11406the application,<wbr/> then the HAL will have to delay JPEG-using requests
11407whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11408This will happen whenever a JPEG-using request starts capture less
11409than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11410supported frame duration will vary between the values calculated in
11411#6 and #7.<wbr/></li>
11412</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011413 </td>
11414 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011415
11416
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011417 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11418 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011419
11420
11421 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011422 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011423 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011424 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011425 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011426 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011427
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011428 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011429
11430
11431 </td> <!-- entry_type -->
11432
11433 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011434 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011435implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011436below 'maximum analog sensitivity'.<wbr/></p>
11437<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11438gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011439 </td>
11440
11441 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011442 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011443 </td>
11444
11445 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011446 <p><a href="#static_android.sensor.info.sensitivityRange">android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011447 </td>
11448
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011449 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011450 <ul class="entry_tags">
11451 <li><a href="#tag_V1">V1</a></li>
11452 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011453 </td>
11454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011455 </tr>
11456 <tr class="entries_header">
11457 <th class="th_details" colspan="5">Details</th>
11458 </tr>
11459 <tr class="entry_cont">
11460 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011461 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011462 </td>
11463 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011464
11465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011466 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11467 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011468
11469
11470 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011471 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011472 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011473 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011474 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011475 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011476
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011477 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011478
11479
11480 </td> <!-- entry_type -->
11481
11482 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011483 <p>Time at start of exposure of first
11484row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011485 </td>
11486
11487 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011488 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011489 </td>
11490
11491 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011492 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011493 </td>
11494
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011495 <td class="entry_tags">
11496 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011497 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011498 </ul>
11499 </td>
11500
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011501 </tr>
11502 <tr class="entries_header">
11503 <th class="th_details" colspan="5">Details</th>
11504 </tr>
11505 <tr class="entry_cont">
11506 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011507 <p>Monotonic,<wbr/> should be synced to other timestamps in
11508system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011509 </td>
11510 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011511
11512
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011513 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11514 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011515
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011516
11517 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011518 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011519 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011520 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011521 <td class="entry_type">
11522 <span class="entry_type_name">float</span>
11523
11524 <span class="entry_type_visibility"> [public]</span>
11525
11526
11527 </td> <!-- entry_type -->
11528
11529 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011530 <p>The temperature of the sensor,<wbr/> sampled at the time
11531exposure began for this frame.<wbr/></p>
11532<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11533somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011534 </td>
11535
11536 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011537 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011538 </td>
11539
11540 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011541 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011542 </td>
11543
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011544 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011545 <ul class="entry_tags">
11546 <li><a href="#tag_FULL">FULL</a></li>
11547 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011548 </td>
11549
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011550 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011551
11552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011553 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11554 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011555
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011556
11557
11558 <!-- end of kind -->
11559 </tbody>
11560
11561 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011562 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011563
11564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011565 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011567 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011568 <tr>
11569 <th class="th_name">Property Name</th>
11570 <th class="th_type">Type</th>
11571 <th class="th_description">Description</th>
11572 <th class="th_units">Units</th>
11573 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011574 <th class="th_tags">Tags</th>
11575 </tr>
11576 </thead>
11577
11578 <tbody>
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589 <tr class="entry" id="controls_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011590 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011591 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011592 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011593 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011594 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011595
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011596 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011597
11598 <ul class="entry_type_enum">
11599 <li>
11600 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011601 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011602 </li>
11603 <li>
11604 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011605 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11606bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011607 </li>
11608 <li>
11609 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011610 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11611quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011612 </li>
11613 </ul>
11614
11615 </td> <!-- entry_type -->
11616
11617 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011618 <p>Quality of lens shading correction applied
11619to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011620 </td>
11621
11622 <td class="entry_units">
11623 </td>
11624
11625 <td class="entry_range">
11626 </td>
11627
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011628 <td class="entry_tags">
11629 </td>
11630
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011631 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011632
11633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011634 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11635 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011636
11637
11638 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011639 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011640 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011641 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011642 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011643 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011644
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011645 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011646
11647
11648 </td> <!-- entry_type -->
11649
11650 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011651 <p>Control the amount of shading correction
11652applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011653 </td>
11654
11655 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011656 unitless: 1-10; 10 is full shading
11657 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011658 </td>
11659
11660 <td class="entry_range">
11661 </td>
11662
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011663 <td class="entry_tags">
11664 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011665 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011666 </ul>
11667 </td>
11668
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011669 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011670
11671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011672 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11673 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011674
11675
11676
11677 <!-- end of kind -->
11678 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011679 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011681 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011682 <tr>
11683 <th class="th_name">Property Name</th>
11684 <th class="th_type">Type</th>
11685 <th class="th_description">Description</th>
11686 <th class="th_units">Units</th>
11687 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011688 <th class="th_tags">Tags</th>
11689 </tr>
11690 </thead>
11691
11692 <tbody>
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703 <tr class="entry" id="dynamic_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011704 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011705 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011706 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011707 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011708 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011709
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011710 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011711
11712 <ul class="entry_type_enum">
11713 <li>
11714 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011715 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011716 </li>
11717 <li>
11718 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011719 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11720bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011721 </li>
11722 <li>
11723 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011724 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11725quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011726 </li>
11727 </ul>
11728
11729 </td> <!-- entry_type -->
11730
11731 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011732 <p>Quality of lens shading correction applied
11733to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011734 </td>
11735
11736 <td class="entry_units">
11737 </td>
11738
11739 <td class="entry_range">
11740 </td>
11741
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011742 <td class="entry_tags">
11743 </td>
11744
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011745 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011746
11747
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011748 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11749 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011750
11751
11752
11753 <!-- end of kind -->
11754 </tbody>
11755
11756 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011757 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011758
11759
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011760 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011761
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011762 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011763 <tr>
11764 <th class="th_name">Property Name</th>
11765 <th class="th_type">Type</th>
11766 <th class="th_description">Description</th>
11767 <th class="th_units">Units</th>
11768 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011769 <th class="th_tags">Tags</th>
11770 </tr>
11771 </thead>
11772
11773 <tbody>
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011786 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011787 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011788 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011789 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011790
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011791 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011792
11793 <ul class="entry_type_enum">
11794 <li>
11795 <span class="entry_type_enum_name">OFF</span>
11796 </li>
11797 <li>
11798 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011799 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11800only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011801 </li>
11802 <li>
11803 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011804 <span class="entry_type_enum_notes"><p>Optional Return all face
11805metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011806 </li>
11807 </ul>
11808
11809 </td> <!-- entry_type -->
11810
11811 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011812 <p>State of the face detector
11813unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011814 </td>
11815
11816 <td class="entry_units">
11817 </td>
11818
11819 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011820 <p><a href="#static_android.statistics.info.availableFaceDetectModes">android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011821 </td>
11822
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011823 <td class="entry_tags">
11824 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011825 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011826 </ul>
11827 </td>
11828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011829 </tr>
11830 <tr class="entries_header">
11831 <th class="th_details" colspan="5">Details</th>
11832 </tr>
11833 <tr class="entry_cont">
11834 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011835 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011836should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011837fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011838<a href="#static_android.statistics.info.availableFaceDetectModes">android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes</a>.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011839 </td>
11840 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011841
11842
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011843 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11844 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011845
11846
11847 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011848 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011849 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011850 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011851 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011852 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011853
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011854 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011855
11856 <ul class="entry_type_enum">
11857 <li>
11858 <span class="entry_type_enum_name">OFF</span>
11859 </li>
11860 <li>
11861 <span class="entry_type_enum_name">ON</span>
11862 </li>
11863 </ul>
11864
11865 </td> <!-- entry_type -->
11866
11867 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011868 <p>Operating mode for histogram
11869generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011870 </td>
11871
11872 <td class="entry_units">
11873 </td>
11874
11875 <td class="entry_range">
11876 </td>
11877
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011878 <td class="entry_tags">
11879 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011880 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011881 </ul>
11882 </td>
11883
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011884 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011885
11886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011887 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11888 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011889
11890
11891 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011892 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011893 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011894 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011895 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011896 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011897
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011898 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011899
11900 <ul class="entry_type_enum">
11901 <li>
11902 <span class="entry_type_enum_name">OFF</span>
11903 </li>
11904 <li>
11905 <span class="entry_type_enum_name">ON</span>
11906 </li>
11907 </ul>
11908
11909 </td> <!-- entry_type -->
11910
11911 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011912 <p>Operating mode for sharpness map
11913generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011914 </td>
11915
11916 <td class="entry_units">
11917 </td>
11918
11919 <td class="entry_range">
11920 </td>
11921
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011922 <td class="entry_tags">
11923 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011924 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011925 </ul>
11926 </td>
11927
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011928 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011929
11930
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011931 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11932 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011933
Zhijun He69fc0ea2013-07-17 09:42:58 -070011934
11935 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011936 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011937 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011938 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011939 <td class="entry_type">
11940 <span class="entry_type_name entry_type_name_enum">byte</span>
11941
11942 <span class="entry_type_visibility"> [public]</span>
11943
11944 <ul class="entry_type_enum">
11945 <li>
11946 <span class="entry_type_enum_name">OFF</span>
11947 </li>
11948 <li>
11949 <span class="entry_type_enum_name">ON</span>
11950 </li>
11951 </ul>
11952
11953 </td> <!-- entry_type -->
11954
11955 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011956 <p>Whether the HAL needs to output the lens
11957shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011958 </td>
11959
11960 <td class="entry_units">
11961 </td>
11962
11963 <td class="entry_range">
11964 </td>
11965
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011966 <td class="entry_tags">
11967 </td>
11968
11969 </tr>
11970 <tr class="entries_header">
11971 <th class="th_details" colspan="5">Details</th>
11972 </tr>
11973 <tr class="entry_cont">
11974 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011975 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011976<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> must be provided in
Igor Murashkin0b080452013-12-27 15:30:25 -080011977the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011978 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011979 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011980
11981
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011982 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11983 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011984
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011985
11986
11987 <!-- end of kind -->
11988 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011989 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011990
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011991 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011992 <tr>
11993 <th class="th_name">Property Name</th>
11994 <th class="th_type">Type</th>
11995 <th class="th_description">Description</th>
11996 <th class="th_units">Units</th>
11997 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011998 <th class="th_tags">Tags</th>
11999 </tr>
12000 </thead>
12001
12002 <tbody>
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012016 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012017 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012018 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012019 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012020 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012021 <span class="entry_type_container">x</span>
12022
12023 <span class="entry_type_array">
12024 n
12025 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012026 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012027 <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 -080012028
12029
12030 </td> <!-- entry_type -->
12031
12032 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012033 <p>Which face detection modes are available,<wbr/>
12034if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012035 </td>
12036
12037 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012038 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012039 OFF
12040 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012041 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012042 </td>
12043
12044 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012045 </td>
12046
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012047 <td class="entry_tags">
12048 </td>
12049
12050 </tr>
12051 <tr class="entries_header">
12052 <th class="th_details" colspan="5">Details</th>
12053 </tr>
12054 <tr class="entry_cont">
12055 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012056 <p>OFF means face detection is disabled,<wbr/> it must
12057be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012058<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012059<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12060<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012061<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012062<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12063<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012064 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012065 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012066
12067
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012068 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12069 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012070
12071
12072 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012073 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012074 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012075 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012076 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012077 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012079 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012080
12081
12082 </td> <!-- entry_type -->
12083
12084 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012085 <p>Number of histogram buckets
12086supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012087 </td>
12088
12089 <td class="entry_units">
12090 </td>
12091
12092 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012093 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012094 </td>
12095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012096 <td class="entry_tags">
12097 </td>
12098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012099 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012100
12101
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012102 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12103 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012104
12105
12106 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012107 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012108 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012109 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012110 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012111 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012112
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012113 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012114
12115
12116 </td> <!-- entry_type -->
12117
12118 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012119 <p>Maximum number of simultaneously detectable
12120faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012121 </td>
12122
12123 <td class="entry_units">
12124 </td>
12125
12126 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012127 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012128modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012129 </td>
12130
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012131 <td class="entry_tags">
12132 </td>
12133
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012134 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012135
12136
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012137 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12138 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012139
12140
12141 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012142 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012143 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012144 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012145 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012146 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012147
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012148 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012149
12150
12151 </td> <!-- entry_type -->
12152
12153 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012154 <p>Maximum value possible for a histogram
12155bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012156 </td>
12157
12158 <td class="entry_units">
12159 </td>
12160
12161 <td class="entry_range">
12162 </td>
12163
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012164 <td class="entry_tags">
12165 </td>
12166
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012167 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012168
12169
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012170 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12171 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012172
12173
12174 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012175 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012176 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012177 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012178 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012179 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012180
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012181 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012182
12183
12184 </td> <!-- entry_type -->
12185
12186 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012187 <p>Maximum value possible for a sharpness map
12188region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012189 </td>
12190
12191 <td class="entry_units">
12192 </td>
12193
12194 <td class="entry_range">
12195 </td>
12196
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012197 <td class="entry_tags">
12198 </td>
12199
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012200 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012201
12202
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012203 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12204 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012205
12206
12207 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012208 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012209 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012210 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012211 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012212 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012213 <span class="entry_type_container">x</span>
12214
12215 <span class="entry_type_array">
12216 2
12217 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012218 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012219 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012220
12221
12222 </td> <!-- entry_type -->
12223
12224 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012225 <p>Dimensions of the sharpness
12226map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012227 </td>
12228
12229 <td class="entry_units">
12230 </td>
12231
12232 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012233 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012234 </td>
12235
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012236 <td class="entry_tags">
12237 </td>
12238
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012239 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012240
12241
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012242 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12243 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012244
12245
12246
12247
12248
12249
12250 <!-- end of kind -->
12251 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012252 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012253
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012254 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012255 <tr>
12256 <th class="th_name">Property Name</th>
12257 <th class="th_type">Type</th>
12258 <th class="th_description">Description</th>
12259 <th class="th_units">Units</th>
12260 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012261 <th class="th_tags">Tags</th>
12262 </tr>
12263 </thead>
12264
12265 <tbody>
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012277 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012278 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012279 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012280 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012281 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012282
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012283 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012284
12285 <ul class="entry_type_enum">
12286 <li>
12287 <span class="entry_type_enum_name">OFF</span>
12288 </li>
12289 <li>
12290 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012291 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12292only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012293 </li>
12294 <li>
12295 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012296 <span class="entry_type_enum_notes"><p>Optional Return all face
12297metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012298 </li>
12299 </ul>
12300
12301 </td> <!-- entry_type -->
12302
12303 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012304 <p>State of the face detector
12305unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012306 </td>
12307
12308 <td class="entry_units">
12309 </td>
12310
12311 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012312 <p><a href="#static_android.statistics.info.availableFaceDetectModes">android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012313 </td>
12314
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012315 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012316 <ul class="entry_tags">
12317 <li><a href="#tag_BC">BC</a></li>
12318 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012319 </td>
12320
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012321 </tr>
12322 <tr class="entries_header">
12323 <th class="th_details" colspan="5">Details</th>
12324 </tr>
12325 <tr class="entry_cont">
12326 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012327 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012328should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012329fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012330<a href="#static_android.statistics.info.availableFaceDetectModes">android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes</a>.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012331 </td>
12332 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012333
12334
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012335 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12336 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012337
12338
12339 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012340 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012341 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012342 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012343 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012344 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012345 <span class="entry_type_container">x</span>
12346
12347 <span class="entry_type_array">
12348 n
12349 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012350 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012351
12352
12353 </td> <!-- entry_type -->
12354
12355 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012356 <p>List of unique IDs for detected
12357faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012358 </td>
12359
12360 <td class="entry_units">
12361 </td>
12362
12363 <td class="entry_range">
12364 </td>
12365
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012366 <td class="entry_tags">
12367 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012368 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012369 </ul>
12370 </td>
12371
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012372 </tr>
12373 <tr class="entries_header">
12374 <th class="th_details" colspan="5">Details</th>
12375 </tr>
12376 <tr class="entry_cont">
12377 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012378 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012379 </td>
12380 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012381
12382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012383 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12384 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012385
12386
12387 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012388 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012389 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012390 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012391 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012392 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012393 <span class="entry_type_container">x</span>
12394
12395 <span class="entry_type_array">
12396 n x 6
12397 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012398 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012399 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012400
12401
12402 </td> <!-- entry_type -->
12403
12404 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012405 <p>List of landmarks for detected
12406faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012407 </td>
12408
12409 <td class="entry_units">
12410 </td>
12411
12412 <td class="entry_range">
12413 </td>
12414
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012415 <td class="entry_tags">
12416 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012417 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012418 </ul>
12419 </td>
12420
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012421 </tr>
12422 <tr class="entries_header">
12423 <th class="th_details" colspan="5">Details</th>
12424 </tr>
12425 <tr class="entry_cont">
12426 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012427 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012428 </td>
12429 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012430
12431
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012432 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12433 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012434
12435
12436 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012437 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012438 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012439 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012440 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012441 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012442 <span class="entry_type_container">x</span>
12443
12444 <span class="entry_type_array">
12445 n x 4
12446 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012447 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012448 <div class="entry_type_notes">(xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax).<wbr/> (0,<wbr/>0) is top-left of active pixel area</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012449
12450
12451 </td> <!-- entry_type -->
12452
12453 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012454 <p>List of the bounding rectangles for detected
12455faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012456 </td>
12457
12458 <td class="entry_units">
12459 </td>
12460
12461 <td class="entry_range">
12462 </td>
12463
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012464 <td class="entry_tags">
12465 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012466 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012467 </ul>
12468 </td>
12469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012470 </tr>
12471 <tr class="entries_header">
12472 <th class="th_details" colspan="5">Details</th>
12473 </tr>
12474 <tr class="entry_cont">
12475 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012476 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012477 </td>
12478 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012479
12480
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012481 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12482 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012483
12484
12485 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012486 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012487 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012488 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012489 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012490 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012491 <span class="entry_type_container">x</span>
12492
12493 <span class="entry_type_array">
12494 n
12495 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012496 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012497
12498
12499 </td> <!-- entry_type -->
12500
12501 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012502 <p>List of the face confidence scores for
12503detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012504 </td>
12505
12506 <td class="entry_units">
12507 </td>
12508
12509 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012510 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012511 </td>
12512
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012513 <td class="entry_tags">
12514 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012515 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012516 </ul>
12517 </td>
12518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012519 </tr>
12520 <tr class="entries_header">
12521 <th class="th_details" colspan="5">Details</th>
12522 </tr>
12523 <tr class="entry_cont">
12524 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012525 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12526meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012527 </td>
12528 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012529
12530
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012531 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12532 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012533
12534
12535 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012536 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012537 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012538 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012539 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012540 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012541 <span class="entry_type_container">x</span>
12542
12543 <span class="entry_type_array">
12544 n x 3
12545 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012546 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012547 <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>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012548
12549
12550 </td> <!-- entry_type -->
12551
12552 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012553 <p>A 3-channel histogram based on the raw
12554sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012555 </td>
12556
12557 <td class="entry_units">
12558 </td>
12559
12560 <td class="entry_range">
12561 </td>
12562
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012563 <td class="entry_tags">
12564 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012565 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012566 </ul>
12567 </td>
12568
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012569 </tr>
12570 <tr class="entries_header">
12571 <th class="th_details" colspan="5">Details</th>
12572 </tr>
12573 <tr class="entry_cont">
12574 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012575 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012576(with w = <a href="#static_android.sensor.info.whiteLevel">android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level</a>) of [ k * w/<wbr/>N,<wbr/>
Igor Murashkin0b080452013-12-27 15:30:25 -080012577(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12578supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012579 </td>
12580 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012581
12582
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012583 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12584 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012585
12586
12587 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012588 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012589 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012590 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012591 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012592 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012593
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012594 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012595
12596 <ul class="entry_type_enum">
12597 <li>
12598 <span class="entry_type_enum_name">OFF</span>
12599 </li>
12600 <li>
12601 <span class="entry_type_enum_name">ON</span>
12602 </li>
12603 </ul>
12604
12605 </td> <!-- entry_type -->
12606
12607 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012608 <p>Operating mode for histogram
12609generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012610 </td>
12611
12612 <td class="entry_units">
12613 </td>
12614
12615 <td class="entry_range">
12616 </td>
12617
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012618 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012619 <ul class="entry_tags">
12620 <li><a href="#tag_V1">V1</a></li>
12621 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012622 </td>
12623
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012624 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012625
12626
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012627 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12628 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012629
12630
12631 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012632 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012633 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012634 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012635 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012636 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012637 <span class="entry_type_container">x</span>
12638
12639 <span class="entry_type_array">
12640 n x m x 3
12641 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012642 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012643 <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>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012644
12645
12646 </td> <!-- entry_type -->
12647
12648 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012649 <p>A 3-channel sharpness map,<wbr/> based on the raw
12650sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012651 </td>
12652
12653 <td class="entry_units">
12654 </td>
12655
12656 <td class="entry_range">
12657 </td>
12658
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012659 <td class="entry_tags">
12660 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012661 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012662 </ul>
12663 </td>
12664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012665 </tr>
12666 <tr class="entries_header">
12667 <th class="th_details" colspan="5">Details</th>
12668 </tr>
12669 <tr class="entry_cont">
12670 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012671 <p>If only a monochrome sharpness map is supported,<wbr/>
12672all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012673 </td>
12674 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012675
12676
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012677 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12678 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012679
12680
12681 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012682 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012683 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012684 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012685 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012686 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012687
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012688 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012689
12690 <ul class="entry_type_enum">
12691 <li>
12692 <span class="entry_type_enum_name">OFF</span>
12693 </li>
12694 <li>
12695 <span class="entry_type_enum_name">ON</span>
12696 </li>
12697 </ul>
12698
12699 </td> <!-- entry_type -->
12700
12701 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012702 <p>Operating mode for sharpness map
12703generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012704 </td>
12705
12706 <td class="entry_units">
12707 </td>
12708
12709 <td class="entry_range">
12710 </td>
12711
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012712 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012713 <ul class="entry_tags">
12714 <li><a href="#tag_V1">V1</a></li>
12715 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012716 </td>
12717
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012718 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012719
12720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12722 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012723
Zhijun He69fc0ea2013-07-17 09:42:58 -070012724
12725 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012726 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012727 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012728 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012729 <td class="entry_type">
12730 <span class="entry_type_name">float</span>
12731 <span class="entry_type_container">x</span>
12732
12733 <span class="entry_type_array">
12734 4 x n x m
12735 </span>
12736 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012737 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012738
12739
12740 </td> <!-- entry_type -->
12741
12742 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012743 <p>The shading map is a low-resolution floating-point map
12744that lists the coefficients used to correct for vignetting,<wbr/> for each
12745Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012746 </td>
12747
12748 <td class="entry_units">
12749 </td>
12750
12751 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012752 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012753 </td>
12754
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012755 <td class="entry_tags">
12756 </td>
12757
12758 </tr>
12759 <tr class="entries_header">
12760 <th class="th_details" colspan="5">Details</th>
12761 </tr>
12762 <tr class="entry_cont">
12763 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012764 <p>The least shaded section of the image should have a gain factor
12765of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012766<p>When <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> = TRANSFORM_<wbr/>MATRIX,<wbr/> the map
Igor Murashkin0b080452013-12-27 15:30:25 -080012767must take into account the colorCorrection settings.<wbr/></p>
12768<p>The shading map is for the entire active pixel array,<wbr/> and is not
12769affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012770entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012771pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12772map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12773(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12774pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12775The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12776<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12777channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12778The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012779is provided in the camera static metadata by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012780<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12781and must be smaller than 64x64.<wbr/></p>
12782<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012783<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12784<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012785[ 1.<wbr/>3,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>15,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>15,<wbr/> 1.<wbr/>2,<wbr/>
12786 1.<wbr/>1,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>3,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>3,<wbr/> 1.<wbr/>3,<wbr/>
12787 1.<wbr/>2,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>25,<wbr/> 1.<wbr/>1,<wbr/> 1.<wbr/>1,<wbr/> 1.<wbr/>1,<wbr/> 1.<wbr/>1,<wbr/> 1.<wbr/>0,<wbr/>
12788 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>3,<wbr/> 1.<wbr/>25,<wbr/> 1.<wbr/>2,<wbr/>
12789 1.<wbr/>3,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>3,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>15,<wbr/> 1.<wbr/>1,<wbr/> 1.<wbr/>2,<wbr/>
12790 1.<wbr/>2,<wbr/> 1.<wbr/>1,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>3,<wbr/> 1.<wbr/>15,<wbr/> 1.<wbr/>2,<wbr/> 1.<wbr/>3 ]
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012791</code></pre>
12792<p>The low-resolution scaling map images for each channel are
12793(displayed using nearest-neighbor interpolation):</p>
12794<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12795<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12796<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12797<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012798<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012799image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012800<p><img alt="Image of a uniform white wall (inverse shading map)" src="images/camera2/metadata/android.statistics.lensShadingMap/inv_shading.png"/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012801 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012802 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012803
12804
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012805 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12806 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012807
12808
12809 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012810 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012811 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012812 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012813 <td class="entry_type">
12814 <span class="entry_type_name">float</span>
12815 <span class="entry_type_container">x</span>
12816
12817 <span class="entry_type_array">
12818 4
12819 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012820 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012821 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012822
12823
12824 </td> <!-- entry_type -->
12825
12826 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012827 <p>The best-fit color channel gains calculated
12828by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012829 </td>
12830
12831 <td class="entry_units">
12832 </td>
12833
12834 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012835 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012836 </td>
12837
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012838 <td class="entry_tags">
12839 </td>
12840
12841 </tr>
12842 <tr class="entries_header">
12843 <th class="th_details" colspan="5">Details</th>
12844 </tr>
12845 <tr class="entry_cont">
12846 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012847 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012848since statistics processing on data from a new frame
12849typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012850applied to that frame.<wbr/></p>
12851<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012852see <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> for details.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012853<p>This value should always be calculated by the AWB block,<wbr/>
12854regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012855 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012856 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012857
12858
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012859 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12860 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012861
12862
12863 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012864 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012865 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012866 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012867 <td class="entry_type">
12868 <span class="entry_type_name">rational</span>
12869 <span class="entry_type_container">x</span>
12870
12871 <span class="entry_type_array">
12872 3 x 3
12873 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012874 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012875 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012876
12877
12878 </td> <!-- entry_type -->
12879
12880 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012881 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012882calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080012883output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012884 </td>
12885
12886 <td class="entry_units">
12887 </td>
12888
12889 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012890 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012891 </td>
12892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012893 <td class="entry_tags">
12894 </td>
12895
12896 </tr>
12897 <tr class="entries_header">
12898 <th class="th_details" colspan="5">Details</th>
12899 </tr>
12900 <tr class="entry_cont">
12901 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012902 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012903statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080012904for the next frame.<wbr/> These are the values the HAL believes
12905are the best fit for the current output frame.<wbr/> This may
12906be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012907statistics processing on data from a new frame typically
12908completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080012909that frame.<wbr/></p>
12910<p>These estimates must be provided for all frames,<wbr/> even if
12911capture settings and color transforms are set by the application.<wbr/></p>
12912<p>This value should always be calculated by the AWB block,<wbr/>
12913regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012914 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012915 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012916
12917
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012918 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12919 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012920
12921
12922 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012923 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012924 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012925 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012926 <td class="entry_type">
12927 <span class="entry_type_name entry_type_name_enum">byte</span>
12928
12929 <span class="entry_type_visibility"> [public]</span>
12930
12931 <ul class="entry_type_enum">
12932 <li>
12933 <span class="entry_type_enum_name">NONE</span>
12934 </li>
12935 <li>
12936 <span class="entry_type_enum_name">50HZ</span>
12937 </li>
12938 <li>
12939 <span class="entry_type_enum_name">60HZ</span>
12940 </li>
12941 </ul>
12942
12943 </td> <!-- entry_type -->
12944
12945 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012946 <p>The HAL estimated scene illumination lighting
12947frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012948 </td>
12949
12950 <td class="entry_units">
12951 </td>
12952
12953 <td class="entry_range">
12954 </td>
12955
Zhijun He69fc0ea2013-07-17 09:42:58 -070012956 <td class="entry_tags">
12957 </td>
12958
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012959 </tr>
12960 <tr class="entries_header">
12961 <th class="th_details" colspan="5">Details</th>
12962 </tr>
12963 <tr class="entry_cont">
12964 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012965 <p>Report NONE if there doesn't appear to be flickering
12966illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012967 </td>
12968 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012969
12970
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012971 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12972 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012973
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012974
12975
12976 <!-- end of kind -->
12977 </tbody>
12978
12979 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012980 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012981
12982
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012983 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012984
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012985 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012986 <tr>
12987 <th class="th_name">Property Name</th>
12988 <th class="th_type">Type</th>
12989 <th class="th_description">Description</th>
12990 <th class="th_units">Units</th>
12991 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012992 <th class="th_tags">Tags</th>
12993 </tr>
12994 </thead>
12995
12996 <tbody>
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013008 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013009 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013010 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013011 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013012 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013013 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013014
Zhijun He704d1282013-08-19 15:26:33 -070013015 <span class="entry_type_array">
13016 n x 2
13017 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013018 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013019 <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 -080013020
13021
13022 </td> <!-- entry_type -->
13023
13024 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013025 <p>Table mapping blue input values to output
13026values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013027 </td>
13028
13029 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013030 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013031 </td>
13032
13033 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013034 <p>same as <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013035 </td>
13036
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013037 <td class="entry_tags">
13038 </td>
13039
13040 </tr>
13041 <tr class="entries_header">
13042 <th class="th_details" colspan="5">Details</th>
13043 </tr>
13044 <tr class="entry_cont">
13045 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013046 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013047channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13048<p>See <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> for more details.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013049 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013050 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013051
13052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013053 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13054 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013055
13056
13057 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013058 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013059 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013060 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013061 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013062 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013063 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013064
Zhijun He704d1282013-08-19 15:26:33 -070013065 <span class="entry_type_array">
13066 n x 2
13067 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013068 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013069 <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 -080013070
13071
13072 </td> <!-- entry_type -->
13073
13074 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013075 <p>Table mapping green input values to output
13076values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013077 </td>
13078
13079 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013080 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013081 </td>
13082
13083 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013084 <p>same as <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013085 </td>
13086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013087 <td class="entry_tags">
13088 </td>
13089
13090 </tr>
13091 <tr class="entries_header">
13092 <th class="th_details" colspan="5">Details</th>
13093 </tr>
13094 <tr class="entry_cont">
13095 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013096 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013097channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13098<p>See <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> for more details.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013099 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013100 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013101
13102
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013103 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13104 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013105
13106
13107 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013108 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013109 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013110 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013112 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013113 <span class="entry_type_container">x</span>
13114
13115 <span class="entry_type_array">
13116 n x 2
13117 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013118 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013119 <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 -080013120
13121
13122 </td> <!-- entry_type -->
13123
13124 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013125 <p>Table mapping red input values to output
13126values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013127 </td>
13128
13129 <td class="entry_units">
13130 </td>
13131
13132 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013133 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013134 </td>
13135
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013136 <td class="entry_tags">
13137 <ul class="entry_tags">
13138 <li><a href="#tag_DNG">DNG</a></li>
13139 </ul>
13140 </td>
13141
13142 </tr>
13143 <tr class="entries_header">
13144 <th class="th_details" colspan="5">Details</th>
13145 </tr>
13146 <tr class="entry_cont">
13147 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013148 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013149channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013150<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013151the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013152are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013153between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013154<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013155defined points.<wbr/> The points will be listed in increasing
13156order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
131570.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13158for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
131590.<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 -080013160 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013161 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013162
13163
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013164 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13165 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013166
13167
13168 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013169 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013170 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013171 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013172 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013173 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013174
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013175 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013176
13177 <ul class="entry_type_enum">
13178 <li>
13179 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013180 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13181android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013182 </li>
13183 <li>
13184 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013185 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13186bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013187 </li>
13188 <li>
13189 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013190 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13191quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013192 </li>
13193 </ul>
13194
13195 </td> <!-- entry_type -->
13196
13197 <td class="entry_description">
13198 </td>
13199
13200 <td class="entry_units">
13201 </td>
13202
13203 <td class="entry_range">
13204 </td>
13205
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013206 <td class="entry_tags">
13207 </td>
13208
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013209 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013210
13211
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013212 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13213 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013214
13215
13216
13217 <!-- end of kind -->
13218 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013219 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013220
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013221 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013222 <tr>
13223 <th class="th_name">Property Name</th>
13224 <th class="th_type">Type</th>
13225 <th class="th_description">Description</th>
13226 <th class="th_units">Units</th>
13227 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013228 <th class="th_tags">Tags</th>
13229 </tr>
13230 </thead>
13231
13232 <tbody>
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013244 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013245 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013246 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013248 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013249
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013250 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013251
13252
13253 </td> <!-- entry_type -->
13254
13255 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013256 <p>Maximum number of supported points in the
13257tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013258 </td>
13259
13260 <td class="entry_units">
13261 </td>
13262
13263 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013264 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013265 </td>
13266
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013267 <td class="entry_tags">
13268 </td>
13269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013270 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013271
13272
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013273 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13274 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013275
13276
13277
13278 <!-- end of kind -->
13279 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013280 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013281
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013282 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013283 <tr>
13284 <th class="th_name">Property Name</th>
13285 <th class="th_type">Type</th>
13286 <th class="th_description">Description</th>
13287 <th class="th_units">Units</th>
13288 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013289 <th class="th_tags">Tags</th>
13290 </tr>
13291 </thead>
13292
13293 <tbody>
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013305 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013306 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013307 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013308 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013309 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013310 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013311
Zhijun He704d1282013-08-19 15:26:33 -070013312 <span class="entry_type_array">
13313 n x 2
13314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013316 <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 -080013317
13318
13319 </td> <!-- entry_type -->
13320
13321 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013322 <p>Table mapping blue input values to output
13323values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013324 </td>
13325
13326 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013327 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013328 </td>
13329
13330 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013331 <p>same as <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013332 </td>
13333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013334 <td class="entry_tags">
13335 </td>
13336
13337 </tr>
13338 <tr class="entries_header">
13339 <th class="th_details" colspan="5">Details</th>
13340 </tr>
13341 <tr class="entry_cont">
13342 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013343 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013344channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13345<p>See <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> for more details.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013346 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013347 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013348
13349
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013350 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13351 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013352
13353
13354 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013355 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013356 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013357 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013358 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013359 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013360 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013361
Zhijun He704d1282013-08-19 15:26:33 -070013362 <span class="entry_type_array">
13363 n x 2
13364 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013365 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013366 <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 -080013367
13368
13369 </td> <!-- entry_type -->
13370
13371 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013372 <p>Table mapping green input values to output
13373values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013374 </td>
13375
13376 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013377 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013378 </td>
13379
13380 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013381 <p>same as <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013382 </td>
13383
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013384 <td class="entry_tags">
13385 </td>
13386
13387 </tr>
13388 <tr class="entries_header">
13389 <th class="th_details" colspan="5">Details</th>
13390 </tr>
13391 <tr class="entry_cont">
13392 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013393 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013394channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13395<p>See <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> for more details.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013396 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013397 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013398
13399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013400 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13401 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013402
13403
13404 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013405 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013406 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013407 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013408 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013409 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013410 <span class="entry_type_container">x</span>
13411
13412 <span class="entry_type_array">
13413 n x 2
13414 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013415 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013416 <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 -080013417
13418
13419 </td> <!-- entry_type -->
13420
13421 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013422 <p>Table mapping red input values to output
13423values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013424 </td>
13425
13426 <td class="entry_units">
13427 </td>
13428
13429 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013430 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013431 </td>
13432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013433 <td class="entry_tags">
13434 <ul class="entry_tags">
13435 <li><a href="#tag_DNG">DNG</a></li>
13436 </ul>
13437 </td>
13438
13439 </tr>
13440 <tr class="entries_header">
13441 <th class="th_details" colspan="5">Details</th>
13442 </tr>
13443 <tr class="entry_cont">
13444 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013445 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013446channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013447<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013448the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013449are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013450between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013451<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013452defined points.<wbr/> The points will be listed in increasing
13453order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
134540.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13455for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
134560.<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 -080013457 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013458 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013459
13460
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013461 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13462 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013463
13464
13465 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013466 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013467 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013468 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013469 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013470 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013471
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013472 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013473
13474 <ul class="entry_type_enum">
13475 <li>
13476 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013477 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13478android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013479 </li>
13480 <li>
13481 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013482 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13483bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013484 </li>
13485 <li>
13486 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013487 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13488quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013489 </li>
13490 </ul>
13491
13492 </td> <!-- entry_type -->
13493
13494 <td class="entry_description">
13495 </td>
13496
13497 <td class="entry_units">
13498 </td>
13499
13500 <td class="entry_range">
13501 </td>
13502
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013503 <td class="entry_tags">
13504 </td>
13505
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013506 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013507
13508
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013509 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13510 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013511
13512
13513
13514 <!-- end of kind -->
13515 </tbody>
13516
13517 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013518 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013519
13520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013521 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013522
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013523 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013524 <tr>
13525 <th class="th_name">Property Name</th>
13526 <th class="th_type">Type</th>
13527 <th class="th_description">Description</th>
13528 <th class="th_units">Units</th>
13529 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013530 <th class="th_tags">Tags</th>
13531 </tr>
13532 </thead>
13533
13534 <tbody>
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013546 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013547 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013548 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013549 <td class="entry_type">
13550 <span class="entry_type_name entry_type_name_enum">byte</span>
13551
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013552 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013553
13554 <ul class="entry_type_enum">
13555 <li>
13556 <span class="entry_type_enum_name">OFF</span>
13557 </li>
13558 <li>
13559 <span class="entry_type_enum_name">ON</span>
13560 </li>
13561 </ul>
13562
13563 </td> <!-- entry_type -->
13564
13565 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013566 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013567that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013568Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013569disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013570any untrusted applications.<wbr/></p>
13571<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13572transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13573data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013574<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013575doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013576 </td>
13577
13578 <td class="entry_units">
13579 </td>
13580
13581 <td class="entry_range">
13582 </td>
13583
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013584 <td class="entry_tags">
13585 </td>
13586
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013587 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013588
13589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013590 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13591 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013592
13593
13594
13595 <!-- end of kind -->
13596 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013597 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013598
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013599 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013600 <tr>
13601 <th class="th_name">Property Name</th>
13602 <th class="th_type">Type</th>
13603 <th class="th_description">Description</th>
13604 <th class="th_units">Units</th>
13605 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013606 <th class="th_tags">Tags</th>
13607 </tr>
13608 </thead>
13609
13610 <tbody>
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013622 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013623 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013624 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013625 <td class="entry_type">
13626 <span class="entry_type_name entry_type_name_enum">byte</span>
13627
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013628 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013629
13630 <ul class="entry_type_enum">
13631 <li>
13632 <span class="entry_type_enum_name">OFF</span>
13633 </li>
13634 <li>
13635 <span class="entry_type_enum_name">ON</span>
13636 </li>
13637 </ul>
13638
13639 </td> <!-- entry_type -->
13640
13641 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013642 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013643that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013644Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013645disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013646any untrusted applications.<wbr/></p>
13647<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13648transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13649data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013650<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013651doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013652 </td>
13653
13654 <td class="entry_units">
13655 </td>
13656
13657 <td class="entry_range">
13658 </td>
13659
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013660 <td class="entry_tags">
13661 </td>
13662
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013663 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013664
13665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13667 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013668
13669
13670
13671 <!-- end of kind -->
13672 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013673 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013674
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013675 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013676 <tr>
13677 <th class="th_name">Property Name</th>
13678 <th class="th_type">Type</th>
13679 <th class="th_description">Description</th>
13680 <th class="th_units">Units</th>
13681 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013682 <th class="th_tags">Tags</th>
13683 </tr>
13684 </thead>
13685
13686 <tbody>
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013698 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013699 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013700 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013701 <td class="entry_type">
13702 <span class="entry_type_name entry_type_name_enum">byte</span>
13703 <span class="entry_type_container">x</span>
13704
13705 <span class="entry_type_array">
13706 n
13707 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013708 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013709
13710 <ul class="entry_type_enum">
13711 <li>
13712 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013713 <span class="entry_type_enum_notes"><p><a href="#controls_android.led.transmit">android.<wbr/>led.<wbr/>transmit</a> control is used</p></span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013714 </li>
13715 </ul>
13716
13717 </td> <!-- entry_type -->
13718
13719 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013720 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013721 </td>
13722
13723 <td class="entry_units">
13724 </td>
13725
13726 <td class="entry_range">
13727 </td>
13728
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013729 <td class="entry_tags">
13730 </td>
13731
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013732 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013733
13734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013735 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13736 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013737
13738
13739
13740 <!-- end of kind -->
13741 </tbody>
13742
13743 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013744 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013745
13746
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013747 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013748
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013749 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013750 <tr>
13751 <th class="th_name">Property Name</th>
13752 <th class="th_type">Type</th>
13753 <th class="th_description">Description</th>
13754 <th class="th_units">Units</th>
13755 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013756 <th class="th_tags">Tags</th>
13757 </tr>
13758 </thead>
13759
13760 <tbody>
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013772 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013773 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013774 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013775 <td class="entry_type">
13776 <span class="entry_type_name entry_type_name_enum">byte</span>
13777
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013778 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013779
13780 <ul class="entry_type_enum">
13781 <li>
13782 <span class="entry_type_enum_name">LIMITED</span>
13783 </li>
13784 <li>
13785 <span class="entry_type_enum_name">FULL</span>
13786 </li>
13787 </ul>
13788
13789 </td> <!-- entry_type -->
13790
13791 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013792 <p>The camera 3 HAL device can implement one of two possible
13793operational modes; limited and full.<wbr/> Full support is
13794expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013795hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013796camera HAL device v1 implementation,<wbr/> and is expected from
13797older or inexpensive devices.<wbr/> Full is a strict superset of
13798limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13799<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013800 </td>
13801
13802 <td class="entry_units">
13803 </td>
13804
13805 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013806 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013807 </td>
13808
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013809 <td class="entry_tags">
13810 </td>
13811
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013812 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013813
13814
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013815 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13816 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013817
13818
13819
13820 <!-- end of kind -->
13821 </tbody>
13822
13823 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013824 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013825
13826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013827 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013828
13829 <thead class="entries_header">
13830 <tr>
13831 <th class="th_name">Property Name</th>
13832 <th class="th_type">Type</th>
13833 <th class="th_description">Description</th>
13834 <th class="th_units">Units</th>
13835 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013836 <th class="th_tags">Tags</th>
13837 </tr>
13838 </thead>
13839
13840 <tbody>
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013852 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013853 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013854 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013855 <td class="entry_type">
13856 <span class="entry_type_name entry_type_name_enum">byte</span>
13857
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013858 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013859
13860 <ul class="entry_type_enum">
13861 <li>
13862 <span class="entry_type_enum_name">OFF</span>
13863 </li>
13864 <li>
13865 <span class="entry_type_enum_name">ON</span>
13866 </li>
13867 </ul>
13868
13869 </td> <!-- entry_type -->
13870
13871 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013872 <p>Whether black-level compensation is locked
13873to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013874 </td>
13875
13876 <td class="entry_units">
13877 </td>
13878
13879 <td class="entry_range">
13880 </td>
13881
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013882 <td class="entry_tags">
13883 <ul class="entry_tags">
13884 <li><a href="#tag_HAL2">HAL2</a></li>
13885 </ul>
13886 </td>
13887
13888 </tr>
13889 <tr class="entries_header">
13890 <th class="th_details" colspan="5">Details</th>
13891 </tr>
13892 <tr class="entry_cont">
13893 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013894 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013895compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080013896OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013897<p>Since changes to certain capture parameters (such as
13898exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080013899compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013900the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080013901metadata.<wbr/></p>
13902<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013903<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013904<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13905<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13906<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13907<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13908<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13909<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013910</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013911<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080013912device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013913result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013914<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013915<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13916<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13917<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13918<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
13919<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13920<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013921</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013922<p>This indicates to the application that on frame 4,<wbr/> black
13923levels were reset due to exposure value changes,<wbr/> and pixel
13924values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013925<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080013926possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013927other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080013928or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013929 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013930 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013931
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013932 <tr class="entries_header">
13933 <th class="th_details" colspan="5">HAL Implementation Details</th>
13934 </tr>
13935 <tr class="entry_cont">
13936 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013937 <p>If for some reason black level locking is no longer possible
13938(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13939black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013940override this request (and it must report 'OFF' when this
13941does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013942possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013943 </td>
13944 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013945
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013946 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13947 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013948
13949
13950
13951 <!-- end of kind -->
13952 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013953 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013954
13955 <thead class="entries_header">
13956 <tr>
13957 <th class="th_name">Property Name</th>
13958 <th class="th_type">Type</th>
13959 <th class="th_description">Description</th>
13960 <th class="th_units">Units</th>
13961 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013962 <th class="th_tags">Tags</th>
13963 </tr>
13964 </thead>
13965
13966 <tbody>
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013978 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013979 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013980 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013981 <td class="entry_type">
13982 <span class="entry_type_name entry_type_name_enum">byte</span>
13983
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013984 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013985
13986 <ul class="entry_type_enum">
13987 <li>
13988 <span class="entry_type_enum_name">OFF</span>
13989 </li>
13990 <li>
13991 <span class="entry_type_enum_name">ON</span>
13992 </li>
13993 </ul>
13994
13995 </td> <!-- entry_type -->
13996
13997 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013998 <p>Whether black-level compensation is locked
13999to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014000 </td>
14001
14002 <td class="entry_units">
14003 </td>
14004
14005 <td class="entry_range">
14006 </td>
14007
Zhijun He69fc0ea2013-07-17 09:42:58 -070014008 <td class="entry_tags">
14009 <ul class="entry_tags">
14010 <li><a href="#tag_HAL2">HAL2</a></li>
14011 </ul>
14012 </td>
14013
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014014 </tr>
14015 <tr class="entries_header">
14016 <th class="th_details" colspan="5">Details</th>
14017 </tr>
14018 <tr class="entry_cont">
14019 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014020 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014021ON if <a href="#controls_android.blackLevel.lock">android.<wbr/>black<wbr/>Level.<wbr/>lock</a> was ON in the capture request,<wbr/> unless
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014022a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014023perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014024 </td>
14025 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014026
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014027 <tr class="entries_header">
14028 <th class="th_details" colspan="5">HAL Implementation Details</th>
14029 </tr>
14030 <tr class="entry_cont">
14031 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014032 <p>If for some reason black level locking is no longer possible
14033(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14034black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014035override this request (and it must report 'OFF' when this
14036does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014037possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014038 </td>
14039 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014041 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14042 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014043
14044
14045
14046 <!-- end of kind -->
14047 </tbody>
14048
14049 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014050<!-- </namespace> -->
14051 </table>
14052
14053 <div class="tags" id="tag_index">
14054 <h2>Tags</h2>
14055 <ul>
14056 <li id="tag_AWB">AWB -
14057 Needed for auto white balance
14058
14059 <ul class="tags_entries">
14060 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14061 </ul>
14062 </li> <!-- tag_AWB -->
14063 <li id="tag_BC">BC -
14064 Needed for backwards compatibility with old Java API
14065
14066 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014067 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014068 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14069 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14070 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14071 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14072 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014073 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014074 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14075 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014076 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014077 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14078 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14079 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14080 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14081 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14082 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14083 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14084 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014085 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014086 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14087 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14088 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14089 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14090 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14091 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14092 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14093 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14094 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14095 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14096 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14097 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14098 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14099 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14100 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14101 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14102 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14103 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14104 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14105 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14106 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14107 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14108 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14109 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14110 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14111 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14112 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14113 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014114 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014115 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14116 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14117 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014118 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014119 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014120 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14121 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14122 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14123 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14124 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14125 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14126 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14127 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14128 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14129 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14130 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14131 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14132 </ul>
14133 </li> <!-- tag_BC -->
14134 <li id="tag_V1">V1 -
14135 New features for first camera 2 release (API1)
14136
14137 <ul class="tags_entries">
14138 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14139 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14140 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14141 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14142 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14143 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14144 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14145 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14146 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14147 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14148 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14149 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14150 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14151 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14152 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14153 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14154 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14155 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14156 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14157 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14158 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14159 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14160 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14161 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014162 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014163 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14164 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14165 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14166 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14167 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14168 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14169 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14170 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14171 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14172 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14173 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14174 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14175 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14176 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14177 </ul>
14178 </li> <!-- tag_V1 -->
14179 <li id="tag_ADV">ADV - None
14180 <ul class="tags_entries">
14181 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14182 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14183 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14184 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14185 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14186 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14187 </ul>
14188 </li> <!-- tag_ADV -->
14189 <li id="tag_DNG">DNG -
14190 Needed for DNG file support
14191
14192 <ul class="tags_entries">
14193 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014194 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14195 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14196 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14197 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14198 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14199 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14200 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14201 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14202 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14203 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14204 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14205 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14206 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14207 </ul>
14208 </li> <!-- tag_DNG -->
14209 <li id="tag_EXIF">EXIF - None
14210 <ul class="tags_entries">
14211 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14212 </ul>
14213 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014214 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014215 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014216
14217 <ul class="tags_entries">
14218 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14219 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14220 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014221 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014222 </ul>
14223 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014224 <li id="tag_FULL">FULL -
14225 Entry is required for full hardware level devices, and optional for other hardware levels
14226
14227 <ul class="tags_entries">
14228 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14229 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14230 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14231 </ul>
14232 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014233 </ul>
14234 </div>
14235
14236 [ <a href="#">top</a> ]
14237
14238</body>
14239</html>