blob: 3d652bf55dde40ccb979d4e66dfb2a6965182c07 [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">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003026 <td class="entry_name" rowspan="5">
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">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003042 <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
3043settings to use with each available scene mode.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003044 </td>
3045
3046 <td class="entry_units">
3047 </td>
3048
3049 <td class="entry_range">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003050 <p>For each available scene mode,<wbr/> the list must contain three
3051entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3052<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values used
3053by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
3054where aeMode has the lowest index position.<wbr/></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">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003069 <p>When a scene mode is enabled,<wbr/> the camera device is expected
3070to override <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/>
3071and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
3072that scene mode.<wbr/></p>
3073<p>The order of this list matches that of availableSceneModes,<wbr/>
3074with 3 entries for each mode.<wbr/> The overrides listed
3075for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3076mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3077<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values are
3078used instead,<wbr/> matching the behavior when android.<wbr/>control.<wbr/>mode
3079is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
3080overrides should be set to 0.<wbr/></p>
3081<p>For example,<wbr/> if availableSceneModes contains
3082<code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
3083expects sceneModeOverrides to have 9 entries formatted like:
3084<code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
3085ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></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
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003089 <tr class="entries_header">
3090 <th class="th_details" colspan="5">HAL Implementation Details</th>
3091 </tr>
3092 <tr class="entry_cont">
3093 <td class="entry_details" colspan="5">
3094 <p>To maintain backward compatibility,<wbr/> this list will be made available
3095in the static metadata of the camera service.<wbr/> The camera service will
3096use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3097<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> when using a scene
3098mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
3099 </td>
3100 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003101
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003102 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3103 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003104
3105
3106
3107 <!-- end of kind -->
3108 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003109 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003110
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003111 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003112 <tr>
3113 <th class="th_name">Property Name</th>
3114 <th class="th_type">Type</th>
3115 <th class="th_description">Description</th>
3116 <th class="th_units">Units</th>
3117 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118 <th class="th_tags">Tags</th>
3119 </tr>
3120 </thead>
3121
3122 <tbody>
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003134 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003135 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003136 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003137 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003138 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003139
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003140 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003141
3142
3143 </td> <!-- entry_type -->
3144
3145 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003146 <p>The ID sent with the latest
3147CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003148 </td>
3149
3150 <td class="entry_units">
3151 </td>
3152
3153 <td class="entry_range">
3154 </td>
3155
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003156 <td class="entry_tags">
3157 </td>
3158
3159 </tr>
3160 <tr class="entries_header">
3161 <th class="th_details" colspan="5">Details</th>
3162 </tr>
3163 <tr class="entry_cont">
3164 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003165 <p>Must be 0 if no
3166CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3167by HAL.<wbr/> Always updated even if AE algorithm ignores the
3168trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003169 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003170 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003171
3172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003173 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3174 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003175
3176
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003177 <tr class="entry" id="dynamic_android.control.aeMode">
3178 <td class="entry_name" rowspan="3">
3179 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3180 </td>
3181 <td class="entry_type">
3182 <span class="entry_type_name entry_type_name_enum">byte</span>
3183
3184 <span class="entry_type_visibility"> [public]</span>
3185
3186 <ul class="entry_type_enum">
3187 <li>
3188 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003189 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3190the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3191<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3192<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3193device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3194a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003195 </li>
3196 <li>
3197 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003198 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3199with no flash control.<wbr/> The application's values for
3200<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3201<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3202<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3203application has control over the various
3204android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003205 </li>
3206 <li>
3207 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003208 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3209the camera's flash unit,<wbr/> firing it in low-light
3210conditions.<wbr/> The flash may be fired during a
3211precapture sequence (triggered by
3212<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3213for captures for which the
3214<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3215STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003216 </li>
3217 <li>
3218 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003219 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3220the camera's flash unit,<wbr/> always firing it for still
3221captures.<wbr/> The flash may be fired during a precapture
3222sequence (triggered by
3223<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3224be fired for captures for which the
3225<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3226STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003227 </li>
3228 <li>
3229 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003230 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3231reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3232a red eye reduction flash will fire during the
3233precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003234 </li>
3235 </ul>
3236
3237 </td> <!-- entry_type -->
3238
3239 <td class="entry_description">
3240 <p>The desired mode for the camera device's
3241auto-exposure routine.<wbr/></p>
3242 </td>
3243
3244 <td class="entry_units">
3245 </td>
3246
3247 <td class="entry_range">
3248 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3249 </td>
3250
3251 <td class="entry_tags">
3252 <ul class="entry_tags">
3253 <li><a href="#tag_BC">BC</a></li>
3254 </ul>
3255 </td>
3256
3257 </tr>
3258 <tr class="entries_header">
3259 <th class="th_details" colspan="5">Details</th>
3260 </tr>
3261 <tr class="entry_cont">
3262 <td class="entry_details" colspan="5">
3263 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3264AUTO.<wbr/></p>
3265<p>When set to any of the ON modes,<wbr/> the camera device's
3266auto-exposure routine is enabled,<wbr/> overriding the
3267application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3268and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3269<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3270<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3271is selected,<wbr/> the camera device's flash unit controls are
3272also overridden.<wbr/></p>
3273<p>The FLASH modes are only available if the camera device
3274has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3275<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3276ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3277<p>When set to any of the ON modes,<wbr/> the values chosen by the
3278camera device auto-exposure routine for the overridden
3279fields for a given capture will be available in its
3280CaptureResult.<wbr/></p>
3281 </td>
3282 </tr>
3283
3284
3285 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3286 <!-- end of entry -->
3287
3288
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003289 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003290 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003291 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003292 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003293 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003294 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003295 <span class="entry_type_container">x</span>
3296
3297 <span class="entry_type_array">
3298 5 x area_count
3299 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003300 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003301
3302
3303 </td> <!-- entry_type -->
3304
3305 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003306 <p>List of areas to use for
3307metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003308 </td>
3309
3310 <td class="entry_units">
3311 </td>
3312
3313 <td class="entry_range">
3314 </td>
3315
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003316 <td class="entry_tags">
3317 <ul class="entry_tags">
3318 <li><a href="#tag_BC">BC</a></li>
3319 </ul>
3320 </td>
3321
3322 </tr>
3323 <tr class="entries_header">
3324 <th class="th_details" colspan="5">Details</th>
3325 </tr>
3326 <tr class="entry_cont">
3327 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003328 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3329xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3330specified coordinates.<wbr/></p>
3331<p>The coordinate system is based on the active pixel array,<wbr/>
3332with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003333(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3334<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 -08003335bottom-right pixel in the active pixel array.<wbr/> The weight
3336should be nonnegative.<wbr/></p>
3337<p>If all regions have 0 weight,<wbr/> then no specific metering area
3338needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003339outside 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 -08003340should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003341used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003342 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003343 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003344
3345
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003346 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3347 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003348
3349
3350 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003351 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003352 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003353 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003354 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003355 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003356
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003357 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003358
3359 <ul class="entry_type_enum">
3360 <li>
3361 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003362 <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 -08003363this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003364 </li>
3365 <li>
3366 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003367 <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 -08003368for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003369 </li>
3370 <li>
3371 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003372 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003373current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003374 </li>
3375 <li>
3376 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003377 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003378 </li>
3379 <li>
3380 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003381 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3382needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003383capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003384 </li>
3385 <li>
3386 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003387 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003388(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3389and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003390completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003391FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003392 </li>
3393 </ul>
3394
3395 </td> <!-- entry_type -->
3396
3397 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003398 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003399 </td>
3400
3401 <td class="entry_units">
3402 </td>
3403
3404 <td class="entry_range">
3405 </td>
3406
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003407 <td class="entry_tags">
3408 </td>
3409
3410 </tr>
3411 <tr class="entries_header">
3412 <th class="th_details" colspan="5">Details</th>
3413 </tr>
3414 <tr class="entry_cont">
3415 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003416 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3417resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3418or <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
3419the algorithm states to INACTIVE.<wbr/></p>
3420<p>The camera device can do several state transitions between two results,<wbr/> if it is
3421allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3422seen in a result.<wbr/></p>
3423<p>The state in the result is the state for this image (in sync with this image): if
3424AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3425be good to use.<wbr/></p>
3426<p>Below are state transition tables for different AE modes.<wbr/></p>
3427<table>
3428<thead>
3429<tr>
3430<th align="center">State</th>
3431<th align="center">Transition Cause</th>
3432<th align="center">New State</th>
3433<th align="center">Notes</th>
3434</tr>
3435</thead>
3436<tbody>
3437<tr>
3438<td align="center">INACTIVE</td>
3439<td align="center"></td>
3440<td align="center">INACTIVE</td>
3441<td align="center">Camera device auto exposure algorithm is disabled</td>
3442</tr>
3443</tbody>
3444</table>
3445<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3446<table>
3447<thead>
3448<tr>
3449<th align="center">State</th>
3450<th align="center">Transition Cause</th>
3451<th align="center">New State</th>
3452<th align="center">Notes</th>
3453</tr>
3454</thead>
3455<tbody>
3456<tr>
3457<td align="center">INACTIVE</td>
3458<td align="center">Camera device initiates AE scan</td>
3459<td align="center">SEARCHING</td>
3460<td align="center">Values changing</td>
3461</tr>
3462<tr>
3463<td align="center">INACTIVE</td>
3464<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3465<td align="center">LOCKED</td>
3466<td align="center">Values locked</td>
3467</tr>
3468<tr>
3469<td align="center">SEARCHING</td>
3470<td align="center">Camera device finishes AE scan</td>
3471<td align="center">CONVERGED</td>
3472<td align="center">Good values,<wbr/> not changing</td>
3473</tr>
3474<tr>
3475<td align="center">SEARCHING</td>
3476<td align="center">Camera device finishes AE scan</td>
3477<td align="center">FLASH_<wbr/>REQUIRED</td>
3478<td align="center">Converged but too dark w/<wbr/>o flash</td>
3479</tr>
3480<tr>
3481<td align="center">SEARCHING</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">CONVERGED</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">CONVERGED</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">FLASH_<wbr/>REQUIRED</td>
3500<td align="center">Camera device initiates AE scan</td>
3501<td align="center">SEARCHING</td>
3502<td align="center">Values changing</td>
3503</tr>
3504<tr>
3505<td align="center">FLASH_<wbr/>REQUIRED</td>
3506<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3507<td align="center">LOCKED</td>
3508<td align="center">Values locked</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">SEARCHING</td>
3514<td align="center">Values not good after unlock</td>
3515</tr>
3516<tr>
3517<td align="center">LOCKED</td>
3518<td align="center"><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">Values good after unlock</td>
3521</tr>
3522<tr>
3523<td align="center">LOCKED</td>
3524<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3525<td align="center">FLASH_<wbr/>REQUIRED</td>
3526<td align="center">Exposure good,<wbr/> but too dark</td>
3527</tr>
3528<tr>
3529<td align="center">PRECAPTURE</td>
3530<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3531<td align="center">CONVERGED</td>
3532<td align="center">Ready for high-quality capture</td>
3533</tr>
3534<tr>
3535<td align="center">PRECAPTURE</td>
3536<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3537<td align="center">LOCKED</td>
3538<td align="center">Ready for high-quality capture</td>
3539</tr>
3540<tr>
3541<td align="center">Any state</td>
3542<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3543<td align="center">PRECAPTURE</td>
3544<td align="center">Start AE precapture metering sequence</td>
3545</tr>
3546</tbody>
3547</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003548 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003549 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003550
3551
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003552 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3553 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003554
3555
3556 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003557 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003558 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003559 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003560 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003561 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003562
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003563 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003564
3565 <ul class="entry_type_enum">
3566 <li>
3567 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003568 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3569<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3570application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003571 </li>
3572 <li>
3573 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003574 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3575<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
3576is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3577the autofocus trigger action is called.<wbr/> When that trigger
3578is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3579the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3580<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3581and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003582 </li>
3583 <li>
3584 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003585 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3586autofocus trigger action is called.<wbr/></p>
3587<p>When that trigger is activated,<wbr/> AF must transition to
3588ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3589NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3590position to default,<wbr/> and sets the AF state to
3591INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003592 </li>
3593 <li>
3594 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003595 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3596position continually to attempt to provide a
3597constantly-in-focus image stream.<wbr/></p>
3598<p>The focusing behavior should be suitable for good quality
3599video recording; typically this means slower focus
3600movement and no overshoots.<wbr/> When the AF trigger is not
3601involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3602and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3603states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3604the algorithm should immediately transition into
3605AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3606lens position until a cancel AF trigger is received.<wbr/></p>
3607<p>Once cancel is received,<wbr/> the algorithm should transition
3608back to INACTIVE and resume passive scan.<wbr/> Note that this
3609behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3610ongoing PASSIVE_<wbr/>SCAN must immediately be
3611canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003612 </li>
3613 <li>
3614 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003615 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3616position continually to attempt to provide a
3617constantly-in-focus image stream.<wbr/></p>
3618<p>The focusing behavior should be suitable for still image
3619capture; typically this means focusing as fast as
3620possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3621algorithm should start in INACTIVE state,<wbr/> and then
3622transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3623appropriate as it attempts to maintain focus.<wbr/> When the AF
3624trigger is activated,<wbr/> the algorithm should finish its
3625PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3626AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3627lens position until a cancel AF trigger is received.<wbr/></p>
3628<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3629should transition back to INACTIVE and then act as if it
3630has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003631 </li>
3632 <li>
3633 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003634 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3635trigger is ignored,<wbr/> AF state should always be
3636INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003637 </li>
3638 </ul>
3639
3640 </td> <!-- entry_type -->
3641
3642 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003643 <p>Whether AF is currently enabled,<wbr/> and what
3644mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003645 </td>
3646
3647 <td class="entry_units">
3648 </td>
3649
3650 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003651 <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 -08003652 </td>
3653
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003654 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003655 <ul class="entry_tags">
3656 <li><a href="#tag_BC">BC</a></li>
3657 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003658 </td>
3659
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003660 </tr>
3661 <tr class="entries_header">
3662 <th class="th_details" colspan="5">Details</th>
3663 </tr>
3664 <tr class="entry_cont">
3665 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003666 <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 -08003667<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3668the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3669in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003670 </td>
3671 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003672
3673
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003674 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3675 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003676
3677
3678 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003679 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003680 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003681 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003682 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003683 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003684 <span class="entry_type_container">x</span>
3685
3686 <span class="entry_type_array">
3687 5 x area_count
3688 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003689 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003690
3691
3692 </td> <!-- entry_type -->
3693
3694 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003695 <p>List of areas to use for focus
3696estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003697 </td>
3698
3699 <td class="entry_units">
3700 </td>
3701
3702 <td class="entry_range">
3703 </td>
3704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003705 <td class="entry_tags">
3706 <ul class="entry_tags">
3707 <li><a href="#tag_BC">BC</a></li>
3708 </ul>
3709 </td>
3710
3711 </tr>
3712 <tr class="entries_header">
3713 <th class="th_details" colspan="5">Details</th>
3714 </tr>
3715 <tr class="entry_cont">
3716 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003717 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3718xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3719specified coordinates.<wbr/></p>
3720<p>The coordinate system is based on the active pixel array,<wbr/>
3721with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003722(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3723<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 -08003724bottom-right pixel in the active pixel array.<wbr/> The weight
3725should be nonnegative.<wbr/></p>
3726<p>If all regions have 0 weight,<wbr/> then no specific focus area
3727needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003728outside 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 -08003729should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003730used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003731 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003732 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003733
3734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003735 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3736 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003737
3738
3739 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003740 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003741 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003742 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003743 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003744 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003746 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747
3748 <ul class="entry_type_enum">
3749 <li>
3750 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003751 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3752to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3753this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003754 </li>
3755 <li>
3756 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003757 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3758currently doing an AF scan initiated by a continuous
3759autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003760 </li>
3761 <li>
3762 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003763 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3764believes it is in focus,<wbr/> but may restart scanning at
3765any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003766 </li>
3767 <li>
3768 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003769 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3770an AF scan because it was triggered by AF
3771trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003772 </li>
3773 <li>
3774 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003775 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3776believes it is focused correctly and is
3777locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003778 </li>
3779 <li>
3780 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003781 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3782failed to focus successfully and is
3783locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003784 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003785 <li>
3786 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003787 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3788passive scan without finding focus,<wbr/> and may restart
3789scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003790 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003791 </ul>
3792
3793 </td> <!-- entry_type -->
3794
3795 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003796 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003797 </td>
3798
3799 <td class="entry_units">
3800 </td>
3801
3802 <td class="entry_range">
3803 </td>
3804
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003805 <td class="entry_tags">
3806 </td>
3807
3808 </tr>
3809 <tr class="entries_header">
3810 <th class="th_details" colspan="5">Details</th>
3811 </tr>
3812 <tr class="entry_cont">
3813 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003814 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3815resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3816or <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
3817the algorithm states to INACTIVE.<wbr/></p>
3818<p>The camera device can do several state transitions between two results,<wbr/> if it is
3819allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3820seen in a result.<wbr/></p>
3821<p>The state in the result is the state for this image (in sync with this image): if
3822AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3823be sharp.<wbr/></p>
3824<p>Below are state transition tables for different AF modes.<wbr/></p>
3825<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>
3826<table>
3827<thead>
3828<tr>
3829<th align="center">State</th>
3830<th align="center">Transition Cause</th>
3831<th align="center">New State</th>
3832<th align="center">Notes</th>
3833</tr>
3834</thead>
3835<tbody>
3836<tr>
3837<td align="center">INACTIVE</td>
3838<td align="center"></td>
3839<td align="center">INACTIVE</td>
3840<td align="center">Never changes</td>
3841</tr>
3842</tbody>
3843</table>
3844<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>
3845<table>
3846<thead>
3847<tr>
3848<th align="center">State</th>
3849<th align="center">Transition Cause</th>
3850<th align="center">New State</th>
3851<th align="center">Notes</th>
3852</tr>
3853</thead>
3854<tbody>
3855<tr>
3856<td align="center">INACTIVE</td>
3857<td align="center">AF_<wbr/>TRIGGER</td>
3858<td align="center">ACTIVE_<wbr/>SCAN</td>
3859<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3860</tr>
3861<tr>
3862<td align="center">ACTIVE_<wbr/>SCAN</td>
3863<td align="center">AF sweep done</td>
3864<td align="center">FOCUSED_<wbr/>LOCKED</td>
3865<td align="center">Focused,<wbr/> Lens now locked</td>
3866</tr>
3867<tr>
3868<td align="center">ACTIVE_<wbr/>SCAN</td>
3869<td align="center">AF sweep done</td>
3870<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3871<td align="center">Not focused,<wbr/> Lens now locked</td>
3872</tr>
3873<tr>
3874<td align="center">ACTIVE_<wbr/>SCAN</td>
3875<td align="center">AF_<wbr/>CANCEL</td>
3876<td align="center">INACTIVE</td>
3877<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3878</tr>
3879<tr>
3880<td align="center">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">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">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3893<td align="center">AF_<wbr/>CANCEL</td>
3894<td align="center">INACTIVE</td>
3895<td align="center">Cancel/<wbr/>reset AF</td>
3896</tr>
3897<tr>
3898<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3899<td align="center">AF_<wbr/>TRIGGER</td>
3900<td align="center">ACTIVE_<wbr/>SCAN</td>
3901<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3902</tr>
3903<tr>
3904<td align="center">Any state</td>
3905<td align="center">Mode change</td>
3906<td align="center">INACTIVE</td>
3907<td align="center"></td>
3908</tr>
3909</tbody>
3910</table>
3911<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>
3912<table>
3913<thead>
3914<tr>
3915<th align="center">State</th>
3916<th align="center">Transition Cause</th>
3917<th align="center">New State</th>
3918<th align="center">Notes</th>
3919</tr>
3920</thead>
3921<tbody>
3922<tr>
3923<td align="center">INACTIVE</td>
3924<td align="center">Camera device initiates new scan</td>
3925<td align="center">PASSIVE_<wbr/>SCAN</td>
3926<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3927</tr>
3928<tr>
3929<td align="center">INACTIVE</td>
3930<td align="center">AF_<wbr/>TRIGGER</td>
3931<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3932<td align="center">AF state query,<wbr/> Lens now locked</td>
3933</tr>
3934<tr>
3935<td align="center">PASSIVE_<wbr/>SCAN</td>
3936<td align="center">Camera device completes current scan</td>
3937<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3938<td align="center">End AF scan,<wbr/> Lens now locked</td>
3939</tr>
3940<tr>
3941<td align="center">PASSIVE_<wbr/>SCAN</td>
3942<td align="center">Camera device fails current scan</td>
3943<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3944<td align="center">End AF scan,<wbr/> Lens now locked</td>
3945</tr>
3946<tr>
3947<td align="center">PASSIVE_<wbr/>SCAN</td>
3948<td align="center">AF_<wbr/>TRIGGER</td>
3949<td align="center">FOCUSED_<wbr/>LOCKED</td>
3950<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
3951</tr>
3952<tr>
3953<td align="center">PASSIVE_<wbr/>SCAN</td>
3954<td align="center">AF_<wbr/>TRIGGER</td>
3955<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3956<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
3957</tr>
3958<tr>
3959<td align="center">PASSIVE_<wbr/>SCAN</td>
3960<td align="center">AF_<wbr/>CANCEL</td>
3961<td align="center">INACTIVE</td>
3962<td align="center">Reset lens position,<wbr/> Lens now locked</td>
3963</tr>
3964<tr>
3965<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3966<td align="center">Camera device initiates new scan</td>
3967<td align="center">PASSIVE_<wbr/>SCAN</td>
3968<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3969</tr>
3970<tr>
3971<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3972<td align="center">Camera device initiates new scan</td>
3973<td align="center">PASSIVE_<wbr/>SCAN</td>
3974<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3975</tr>
3976<tr>
3977<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3978<td align="center">AF_<wbr/>TRIGGER</td>
3979<td align="center">FOCUSED_<wbr/>LOCKED</td>
3980<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3981</tr>
3982<tr>
3983<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3984<td align="center">AF_<wbr/>TRIGGER</td>
3985<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3986<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3987</tr>
3988<tr>
3989<td align="center">FOCUSED_<wbr/>LOCKED</td>
3990<td align="center">AF_<wbr/>TRIGGER</td>
3991<td align="center">FOCUSED_<wbr/>LOCKED</td>
3992<td align="center">No effect</td>
3993</tr>
3994<tr>
3995<td align="center">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<tr>
4001<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4002<td align="center">AF_<wbr/>TRIGGER</td>
4003<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4004<td align="center">No effect</td>
4005</tr>
4006<tr>
4007<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4008<td align="center">AF_<wbr/>CANCEL</td>
4009<td align="center">INACTIVE</td>
4010<td align="center">Restart AF scan</td>
4011</tr>
4012</tbody>
4013</table>
4014<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>
4015<table>
4016<thead>
4017<tr>
4018<th align="center">State</th>
4019<th align="center">Transition Cause</th>
4020<th align="center">New State</th>
4021<th align="center">Notes</th>
4022</tr>
4023</thead>
4024<tbody>
4025<tr>
4026<td align="center">INACTIVE</td>
4027<td align="center">Camera device initiates new scan</td>
4028<td align="center">PASSIVE_<wbr/>SCAN</td>
4029<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4030</tr>
4031<tr>
4032<td align="center">INACTIVE</td>
4033<td align="center">AF_<wbr/>TRIGGER</td>
4034<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4035<td align="center">AF state query,<wbr/> Lens now locked</td>
4036</tr>
4037<tr>
4038<td align="center">PASSIVE_<wbr/>SCAN</td>
4039<td align="center">Camera device completes current scan</td>
4040<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4041<td align="center">End AF scan,<wbr/> Lens now locked</td>
4042</tr>
4043<tr>
4044<td align="center">PASSIVE_<wbr/>SCAN</td>
4045<td align="center">Camera device fails current scan</td>
4046<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4047<td align="center">End AF scan,<wbr/> Lens now locked</td>
4048</tr>
4049<tr>
4050<td align="center">PASSIVE_<wbr/>SCAN</td>
4051<td align="center">AF_<wbr/>TRIGGER</td>
4052<td align="center">FOCUSED_<wbr/>LOCKED</td>
4053<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4054</tr>
4055<tr>
4056<td align="center">PASSIVE_<wbr/>SCAN</td>
4057<td align="center">AF_<wbr/>TRIGGER</td>
4058<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4059<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4060</tr>
4061<tr>
4062<td align="center">PASSIVE_<wbr/>SCAN</td>
4063<td align="center">AF_<wbr/>CANCEL</td>
4064<td align="center">INACTIVE</td>
4065<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4066</tr>
4067<tr>
4068<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4069<td align="center">Camera device initiates new scan</td>
4070<td align="center">PASSIVE_<wbr/>SCAN</td>
4071<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4072</tr>
4073<tr>
4074<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4075<td align="center">Camera device initiates new scan</td>
4076<td align="center">PASSIVE_<wbr/>SCAN</td>
4077<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4078</tr>
4079<tr>
4080<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4081<td align="center">AF_<wbr/>TRIGGER</td>
4082<td align="center">FOCUSED_<wbr/>LOCKED</td>
4083<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4084</tr>
4085<tr>
4086<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4087<td align="center">AF_<wbr/>TRIGGER</td>
4088<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4089<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4090</tr>
4091<tr>
4092<td align="center">FOCUSED_<wbr/>LOCKED</td>
4093<td align="center">AF_<wbr/>TRIGGER</td>
4094<td align="center">FOCUSED_<wbr/>LOCKED</td>
4095<td align="center">No effect</td>
4096</tr>
4097<tr>
4098<td align="center">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<tr>
4104<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4105<td align="center">AF_<wbr/>TRIGGER</td>
4106<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4107<td align="center">No effect</td>
4108</tr>
4109<tr>
4110<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4111<td align="center">AF_<wbr/>CANCEL</td>
4112<td align="center">INACTIVE</td>
4113<td align="center">Restart AF scan</td>
4114</tr>
4115</tbody>
4116</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004117 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004118 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004119
4120
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004121 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4122 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004123
4124
4125 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004126 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004127 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004128 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004129 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004130 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004131
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004132 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004133
4134
4135 </td> <!-- entry_type -->
4136
4137 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004138 <p>The ID sent with the latest
4139CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004140 </td>
4141
4142 <td class="entry_units">
4143 </td>
4144
4145 <td class="entry_range">
4146 </td>
4147
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004148 <td class="entry_tags">
4149 </td>
4150
4151 </tr>
4152 <tr class="entries_header">
4153 <th class="th_details" colspan="5">Details</th>
4154 </tr>
4155 <tr class="entry_cont">
4156 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004157 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4158received yet by HAL.<wbr/> Always updated even if AF algorithm
4159ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004160 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004161 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004162
4163
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004164 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4165 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004166
4167
4168 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004169 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004170 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004171 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004172 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004173 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004174
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004175 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004176
4177 <ul class="entry_type_enum">
4178 <li>
4179 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004180 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4181the application-selected color transform matrix
4182(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4183(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4184device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004185 </li>
4186 <li>
4187 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004188 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4189the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4190and <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 -08004191 </li>
4192 <li>
4193 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004194 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4195the camera device uses incandescent light as the assumed scene
4196illumination for white balance.<wbr/> While the exact white balance
4197transforms are up to the camera device,<wbr/> they will approximately
4198match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004199 </li>
4200 <li>
4201 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004202 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4203the camera device uses fluorescent light as the assumed scene
4204illumination for white balance.<wbr/> While the exact white balance
4205transforms are up to the camera device,<wbr/> they will approximately
4206match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004207 </li>
4208 <li>
4209 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004210 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4211the camera device uses warm fluorescent light as the assumed scene
4212illumination for white balance.<wbr/> While the exact white balance
4213transforms are up to the camera device,<wbr/> they will approximately
4214match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004215 </li>
4216 <li>
4217 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004218 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4219the camera device uses daylight light as the assumed scene
4220illumination for white balance.<wbr/> While the exact white balance
4221transforms are up to the camera device,<wbr/> they will approximately
4222match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004223 </li>
4224 <li>
4225 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</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 cloudy daylight light as the assumed scene
4228illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004229 </li>
4230 <li>
4231 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004232 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4233the camera device uses twilight light as the assumed scene
4234illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004235 </li>
4236 <li>
4237 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004238 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4239the camera device uses shade light as the assumed scene
4240illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004241 </li>
4242 </ul>
4243
4244 </td> <!-- entry_type -->
4245
4246 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004247 <p>Whether AWB is currently setting the color
4248transform fields,<wbr/> and what its illumination target
4249is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004250 </td>
4251
4252 <td class="entry_units">
4253 </td>
4254
4255 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004256 <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 -08004257 </td>
4258
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004259 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004260 <ul class="entry_tags">
4261 <li><a href="#tag_BC">BC</a></li>
4262 <li><a href="#tag_AWB">AWB</a></li>
4263 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004264 </td>
4265
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004266 </tr>
4267 <tr class="entries_header">
4268 <th class="th_details" colspan="5">Details</th>
4269 </tr>
4270 <tr class="entry_cont">
4271 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004272 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4273<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4274routine is enabled,<wbr/> overriding the application's selected
4275<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
4276<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4277<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4278routine is disabled.<wbr/> The applicantion manually controls the white
4279balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4280and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4281<p>When set to any other modes,<wbr/> the camera device's auto white balance
4282routine is disabled.<wbr/> The camera device uses each particular illumination
4283target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004284 </td>
4285 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004286
4287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004288 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4289 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004290
4291
4292 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004293 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004294 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004295 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004297 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004298 <span class="entry_type_container">x</span>
4299
4300 <span class="entry_type_array">
4301 5 x area_count
4302 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004303 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004304
4305
4306 </td> <!-- entry_type -->
4307
4308 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004309 <p>List of areas to use for illuminant
4310estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004311 </td>
4312
4313 <td class="entry_units">
4314 </td>
4315
4316 <td class="entry_range">
4317 </td>
4318
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004319 <td class="entry_tags">
4320 <ul class="entry_tags">
4321 <li><a href="#tag_BC">BC</a></li>
4322 </ul>
4323 </td>
4324
4325 </tr>
4326 <tr class="entries_header">
4327 <th class="th_details" colspan="5">Details</th>
4328 </tr>
4329 <tr class="entry_cont">
4330 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004331 <p>Only used in AUTO mode.<wbr/></p>
4332<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4333xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4334specified coordinates.<wbr/></p>
4335<p>The coordinate system is based on the active pixel array,<wbr/>
4336with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004337(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4338<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 -08004339bottom-right pixel in the active pixel array.<wbr/> The weight
4340should be nonnegative.<wbr/></p>
4341<p>If all regions have 0 weight,<wbr/> then no specific metering area
4342needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004343outside 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 -08004344should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004345used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004346 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004347 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004348
4349
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004350 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4351 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004352
4353
4354 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004355 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004356 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004357 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004358 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004359 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004360
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004361 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004362
4363 <ul class="entry_type_enum">
4364 <li>
4365 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004366 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4367starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004368 </li>
4369 <li>
4370 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004371 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004372values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004373 </li>
4374 <li>
4375 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004376 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004377current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004378 </li>
4379 <li>
4380 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004381 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004382 </li>
4383 </ul>
4384
4385 </td> <!-- entry_type -->
4386
4387 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004388 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004389 </td>
4390
4391 <td class="entry_units">
4392 </td>
4393
4394 <td class="entry_range">
4395 </td>
4396
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004397 <td class="entry_tags">
4398 </td>
4399
4400 </tr>
4401 <tr class="entries_header">
4402 <th class="th_details" colspan="5">Details</th>
4403 </tr>
4404 <tr class="entry_cont">
4405 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004406 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4407resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4408or <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
4409the algorithm states to INACTIVE.<wbr/></p>
4410<p>The camera device can do several state transitions between two results,<wbr/> if it is
4411allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4412a result.<wbr/></p>
4413<p>The state in the result is the state for this image (in sync with this image): if
4414AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4415be good to use.<wbr/></p>
4416<p>Below are state transition tables for different AWB modes.<wbr/></p>
4417<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4418<table>
4419<thead>
4420<tr>
4421<th align="center">State</th>
4422<th align="center">Transition Cause</th>
4423<th align="center">New State</th>
4424<th align="center">Notes</th>
4425</tr>
4426</thead>
4427<tbody>
4428<tr>
4429<td align="center">INACTIVE</td>
4430<td align="center"></td>
4431<td align="center">INACTIVE</td>
4432<td align="center">Camera device auto white balance algorithm is disabled</td>
4433</tr>
4434</tbody>
4435</table>
4436<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4437<table>
4438<thead>
4439<tr>
4440<th align="center">State</th>
4441<th align="center">Transition Cause</th>
4442<th align="center">New State</th>
4443<th align="center">Notes</th>
4444</tr>
4445</thead>
4446<tbody>
4447<tr>
4448<td align="center">INACTIVE</td>
4449<td align="center">Camera device initiates AWB scan</td>
4450<td align="center">SEARCHING</td>
4451<td align="center">Values changing</td>
4452</tr>
4453<tr>
4454<td align="center">INACTIVE</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">SEARCHING</td>
4461<td align="center">Camera device finishes AWB scan</td>
4462<td align="center">CONVERGED</td>
4463<td align="center">Good values,<wbr/> not changing</td>
4464</tr>
4465<tr>
4466<td align="center">SEARCHING</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">CONVERGED</td>
4473<td align="center">Camera device initiates AWB scan</td>
4474<td align="center">SEARCHING</td>
4475<td align="center">Values changing</td>
4476</tr>
4477<tr>
4478<td align="center">CONVERGED</td>
4479<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4480<td align="center">LOCKED</td>
4481<td align="center">Values locked</td>
4482</tr>
4483<tr>
4484<td align="center">LOCKED</td>
4485<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4486<td align="center">SEARCHING</td>
4487<td align="center">Values not good after unlock</td>
4488</tr>
4489<tr>
4490<td align="center">LOCKED</td>
4491<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4492<td align="center">CONVERGED</td>
4493<td align="center">Values good after unlock</td>
4494</tr>
4495</tbody>
4496</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004497 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004498 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004499
4500
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004501 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4502 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004503
4504
4505 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004506 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004507 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004508 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004509 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004510 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004512 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004513
4514 <ul class="entry_type_enum">
4515 <li>
4516 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004517 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4518routines are disabled,<wbr/> no other settings in
4519android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004520 </li>
4521 <li>
4522 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004523 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4524Manual control of capture parameters is disabled.<wbr/> All
4525controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4526effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004527 </li>
4528 <li>
4529 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004530 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4531control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4532controls; the HAL must ignore those settings while
4533USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4534scene mode).<wbr/> Other control entries are still active.<wbr/>
4535This setting can only be used if availableSceneModes !=
4536UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004537 </li>
4538 </ul>
4539
4540 </td> <!-- entry_type -->
4541
4542 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004543 <p>Overall mode of 3A control
4544routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004545 </td>
4546
4547 <td class="entry_units">
4548 </td>
4549
4550 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004551 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004552 </td>
4553
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004554 <td class="entry_tags">
4555 <ul class="entry_tags">
4556 <li><a href="#tag_BC">BC</a></li>
4557 </ul>
4558 </td>
4559
4560 </tr>
4561 <tr class="entries_header">
4562 <th class="th_details" colspan="5">Details</th>
4563 </tr>
4564 <tr class="entry_cont">
4565 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004566 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004567by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004568capture parameters itself.<wbr/></p>
4569<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004570android.<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 -08004571<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004572android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004573one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004574as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004575<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 -08004576 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004577 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004578
4579
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004580 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4581 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004582
4583
4584
4585 <!-- end of kind -->
4586 </tbody>
4587
4588 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004589 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004590
4591
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004592 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004593
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004594 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004595 <tr>
4596 <th class="th_name">Property Name</th>
4597 <th class="th_type">Type</th>
4598 <th class="th_description">Description</th>
4599 <th class="th_units">Units</th>
4600 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004601 <th class="th_tags">Tags</th>
4602 </tr>
4603 </thead>
4604
4605 <tbody>
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004617 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004618 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004619 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004620 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004621 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004622
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004623 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004624
4625 <ul class="entry_type_enum">
4626 <li>
4627 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004628 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4629Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004630 </li>
4631 <li>
4632 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004633 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4634rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004635 </li>
4636 </ul>
4637
4638 </td> <!-- entry_type -->
4639
4640 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004641 <p>Controls the quality of the demosaicing
4642processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004643 </td>
4644
4645 <td class="entry_units">
4646 </td>
4647
4648 <td class="entry_range">
4649 </td>
4650
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004651 <td class="entry_tags">
4652 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004653 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004654 </ul>
4655 </td>
4656
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004657 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004658
4659
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004660 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4661 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004662
4663
4664
4665 <!-- end of kind -->
4666 </tbody>
4667
4668 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004669 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004670
4671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004672 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004673
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004674 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004675 <tr>
4676 <th class="th_name">Property Name</th>
4677 <th class="th_type">Type</th>
4678 <th class="th_description">Description</th>
4679 <th class="th_units">Units</th>
4680 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004681 <th class="th_tags">Tags</th>
4682 </tr>
4683 </thead>
4684
4685 <tbody>
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004697 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004698 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004699 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004700 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004701 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004702
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004703 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004704
4705 <ul class="entry_type_enum">
4706 <li>
4707 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004708 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004709 </li>
4710 <li>
4711 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004712 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4713output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 </li>
4715 <li>
4716 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004717 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4718quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004719 </li>
4720 </ul>
4721
4722 </td> <!-- entry_type -->
4723
4724 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004725 <p>Operation mode for edge
4726enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004727 </td>
4728
4729 <td class="entry_units">
4730 </td>
4731
4732 <td class="entry_range">
4733 </td>
4734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004735 <td class="entry_tags">
4736 </td>
4737
4738 </tr>
4739 <tr class="entries_header">
4740 <th class="th_details" colspan="5">Details</th>
4741 </tr>
4742 <tr class="entry_cont">
4743 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004744 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4745enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004746<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004747will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004748camera device will use the highest-quality enhancement algorithms,<wbr/>
4749even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004750not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004751 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004752 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004753
4754
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004755 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4756 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004757
4758
4759 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004760 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004761 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004762 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004763 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004764 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004766 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004767
4768
4769 </td> <!-- entry_type -->
4770
4771 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004772 <p>Control the amount of edge enhancement
4773applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004774 </td>
4775
4776 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004777 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004778 </td>
4779
4780 <td class="entry_range">
4781 </td>
4782
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004783 <td class="entry_tags">
4784 </td>
4785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004786 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004787
4788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004789 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4790 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004791
4792
4793
4794 <!-- end of kind -->
4795 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004796 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004797
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004798 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004799 <tr>
4800 <th class="th_name">Property Name</th>
4801 <th class="th_type">Type</th>
4802 <th class="th_description">Description</th>
4803 <th class="th_units">Units</th>
4804 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004805 <th class="th_tags">Tags</th>
4806 </tr>
4807 </thead>
4808
4809 <tbody>
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004821 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004822 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004823 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004824 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004825 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004827 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828
4829 <ul class="entry_type_enum">
4830 <li>
4831 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004832 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004833 </li>
4834 <li>
4835 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004836 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4837output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004838 </li>
4839 <li>
4840 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004841 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4842quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004843 </li>
4844 </ul>
4845
4846 </td> <!-- entry_type -->
4847
4848 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004849 <p>Operation mode for edge
4850enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004851 </td>
4852
4853 <td class="entry_units">
4854 </td>
4855
4856 <td class="entry_range">
4857 </td>
4858
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004859 <td class="entry_tags">
4860 </td>
4861
4862 </tr>
4863 <tr class="entries_header">
4864 <th class="th_details" colspan="5">Details</th>
4865 </tr>
4866 <tr class="entry_cont">
4867 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004868 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4869enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004870<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004871will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004872camera device will use the highest-quality enhancement algorithms,<wbr/>
4873even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004874not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004875 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004876 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004877
4878
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004879 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4880 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004881
4882
4883
4884 <!-- end of kind -->
4885 </tbody>
4886
4887 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004888 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004889
4890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004891 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004892
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004893 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004894 <tr>
4895 <th class="th_name">Property Name</th>
4896 <th class="th_type">Type</th>
4897 <th class="th_description">Description</th>
4898 <th class="th_units">Units</th>
4899 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004900 <th class="th_tags">Tags</th>
4901 </tr>
4902 </thead>
4903
4904 <tbody>
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004916 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004917 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004918 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004919 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004920 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004921
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004922 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004923
4924
4925 </td> <!-- entry_type -->
4926
4927 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004928 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004929 </td>
4930
4931 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004932 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004933 </td>
4934
4935 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004936 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004937 </td>
4938
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004939 <td class="entry_tags">
4940 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004941 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004942 </ul>
4943 </td>
4944
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004945 </tr>
4946 <tr class="entries_header">
4947 <th class="th_details" colspan="5">Details</th>
4948 </tr>
4949 <tr class="entry_cont">
4950 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004951 <p>Power for snapshot may use a different scale than
4952for torch mode.<wbr/> Only one entry for torch mode will be
4953used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004954 </td>
4955 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004956
4957
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004958 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4959 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004960
4961
4962 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004963 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004964 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004965 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004966 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004967 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004968
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004969 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004970
4971
4972 </td> <!-- entry_type -->
4973
4974 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004975 <p>Firing time of flash relative to start of
4976exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004977 </td>
4978
4979 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004980 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004981 </td>
4982
4983 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004984 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004985 </td>
4986
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004987 <td class="entry_tags">
4988 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004989 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004990 </ul>
4991 </td>
4992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004993 </tr>
4994 <tr class="entries_header">
4995 <th class="th_details" colspan="5">Details</th>
4996 </tr>
4997 <tr class="entry_cont">
4998 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004999 <p>Clamped to (0,<wbr/> exposure time - flash
5000duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005001 </td>
5002 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005003
5004
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005005 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5006 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005007
5008
5009 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005010 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005011 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005012 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005013 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005014 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005015
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005016 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005017
5018 <ul class="entry_type_enum">
5019 <li>
5020 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005021 <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 -08005022 </li>
5023 <li>
5024 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005025 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5026for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5027<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005028 </li>
5029 <li>
5030 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005031 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005032 </li>
5033 </ul>
5034
5035 </td> <!-- entry_type -->
5036
5037 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005038 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005039 </td>
5040
5041 <td class="entry_units">
5042 </td>
5043
5044 <td class="entry_range">
5045 </td>
5046
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005047 <td class="entry_tags">
5048 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005049 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005050 </ul>
5051 </td>
5052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005053 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005054 <tr class="entries_header">
5055 <th class="th_details" colspan="5">Details</th>
5056 </tr>
5057 <tr class="entry_cont">
5058 <td class="entry_details" colspan="5">
5059 <p>This control is only effective when flash unit is available
5060(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5061<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/>
5062Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5063ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5064<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5065<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5066device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5067control should be used along with AE precapture metering sequence
5068(<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>
5069<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5070for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5071 </td>
5072 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005073
5074
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005075 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5076 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005077
5078
5079
5080 <!-- end of kind -->
5081 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005082 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005083
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005084 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005085 <tr>
5086 <th class="th_name">Property Name</th>
5087 <th class="th_type">Type</th>
5088 <th class="th_description">Description</th>
5089 <th class="th_units">Units</th>
5090 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005091 <th class="th_tags">Tags</th>
5092 </tr>
5093 </thead>
5094
5095 <tbody>
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005109 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005110 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005111 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005112 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005113 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005114
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005115 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005116
5117
5118 </td> <!-- entry_type -->
5119
5120 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005121 <p>Whether this camera has a
5122flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005123 </td>
5124
5125 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005126 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005127 </td>
5128
5129 <td class="entry_range">
5130 </td>
5131
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005132 <td class="entry_tags">
5133 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005134 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005135 </ul>
5136 </td>
5137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005138 </tr>
5139 <tr class="entries_header">
5140 <th class="th_details" colspan="5">Details</th>
5141 </tr>
5142 <tr class="entry_cont">
5143 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005144 <p>If no flash,<wbr/> none of the flash controls do
5145anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005146 </td>
5147 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005148
5149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005150 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5151 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005152
5153
5154 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005155 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005156 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005157 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005158 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005159 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005160
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005161 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005162
5163
5164 </td> <!-- entry_type -->
5165
5166 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005167 <p>Time taken before flash can fire
5168again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005169 </td>
5170
5171 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005172 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005173 </td>
5174
5175 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005176 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005177 </td>
5178
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005179 <td class="entry_tags">
5180 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005181 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005182 </ul>
5183 </td>
5184
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005185 </tr>
5186 <tr class="entries_header">
5187 <th class="th_details" colspan="5">Details</th>
5188 </tr>
5189 <tr class="entry_cont">
5190 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005191 <p>1 second too long/<wbr/>too short for recharge? Should
5192this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005193 </td>
5194 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005195
5196
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005197 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5198 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005199
5200
5201
5202
5203
5204 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005205 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005206 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005207 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005208 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005209 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005210
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005211 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005212
5213
5214 </td> <!-- entry_type -->
5215
5216 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005217 <p>The x,<wbr/>y whitepoint of the
5218flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005219 </td>
5220
5221 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005222 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005223 </td>
5224
5225 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005226 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005227 </td>
5228
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005229 <td class="entry_tags">
5230 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005231 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005232 </ul>
5233 </td>
5234
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005235 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005236
5237
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005238 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5239 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005240
5241
5242 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005243 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005244 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005245 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005246 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005247 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005248
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005249 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005250
5251
5252 </td> <!-- entry_type -->
5253
5254 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005255 <p>Max energy output of the flash for a full
5256power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005257 </td>
5258
5259 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005260 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005261 </td>
5262
5263 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005264 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005265 </td>
5266
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005267 <td class="entry_tags">
5268 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005269 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005270 </ul>
5271 </td>
5272
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005273 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005274
5275
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005276 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5277 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005278
5279
5280
5281 <!-- end of kind -->
5282 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005283 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005285 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286 <tr>
5287 <th class="th_name">Property Name</th>
5288 <th class="th_type">Type</th>
5289 <th class="th_description">Description</th>
5290 <th class="th_units">Units</th>
5291 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005292 <th class="th_tags">Tags</th>
5293 </tr>
5294 </thead>
5295
5296 <tbody>
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005308 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005309 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005310 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005311 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005312 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005313
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005314 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005315
5316
5317 </td> <!-- entry_type -->
5318
5319 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005320 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005321 </td>
5322
5323 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005324 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005325 </td>
5326
5327 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005328 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005329 </td>
5330
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005331 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005332 <ul class="entry_tags">
5333 <li><a href="#tag_V1">V1</a></li>
5334 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005335 </td>
5336
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005337 </tr>
5338 <tr class="entries_header">
5339 <th class="th_details" colspan="5">Details</th>
5340 </tr>
5341 <tr class="entry_cont">
5342 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005343 <p>Power for snapshot may use a different scale than
5344for torch mode.<wbr/> Only one entry for torch mode will be
5345used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005346 </td>
5347 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005348
5349
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005350 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5351 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005352
5353
5354 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005355 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005356 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005357 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005358 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005359 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005360
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005361 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005362
5363
5364 </td> <!-- entry_type -->
5365
5366 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005367 <p>Firing time of flash relative to start of
5368exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005369 </td>
5370
5371 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005372 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005373 </td>
5374
5375 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005376 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005377 </td>
5378
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005379 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005380 <ul class="entry_tags">
5381 <li><a href="#tag_V1">V1</a></li>
5382 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005383 </td>
5384
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005385 </tr>
5386 <tr class="entries_header">
5387 <th class="th_details" colspan="5">Details</th>
5388 </tr>
5389 <tr class="entry_cont">
5390 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005391 <p>Clamped to (0,<wbr/> exposure time - flash
5392duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005393 </td>
5394 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005395
5396
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005397 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5398 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005399
5400
5401 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005402 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005403 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005404 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005405 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005406 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005407
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005408 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005409
5410 <ul class="entry_type_enum">
5411 <li>
5412 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005413 <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 -08005414 </li>
5415 <li>
5416 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005417 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5418for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5419<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005420 </li>
5421 <li>
5422 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005423 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005424 </li>
5425 </ul>
5426
5427 </td> <!-- entry_type -->
5428
5429 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005430 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005431 </td>
5432
5433 <td class="entry_units">
5434 </td>
5435
5436 <td class="entry_range">
5437 </td>
5438
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005439 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005440 <ul class="entry_tags">
5441 <li><a href="#tag_BC">BC</a></li>
5442 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005443 </td>
5444
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005445 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005446 <tr class="entries_header">
5447 <th class="th_details" colspan="5">Details</th>
5448 </tr>
5449 <tr class="entry_cont">
5450 <td class="entry_details" colspan="5">
5451 <p>This control is only effective when flash unit is available
5452(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5453<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/>
5454Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5455ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5456<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5457<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5458device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5459control should be used along with AE precapture metering sequence
5460(<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>
5461<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5462for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5463 </td>
5464 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005465
5466
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005467 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5468 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005469
5470
5471 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005472 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005473 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005474 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005475 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005476 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005477
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005478 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005479
5480 <ul class="entry_type_enum">
5481 <li>
5482 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005483 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005484 </li>
5485 <li>
5486 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005487 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5488charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005489 </li>
5490 <li>
5491 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005492 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5493ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005494 </li>
5495 <li>
5496 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005497 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5498for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005499 </li>
5500 </ul>
5501
5502 </td> <!-- entry_type -->
5503
5504 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005505 <p>Current state of the flash
5506unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005507 </td>
5508
5509 <td class="entry_units">
5510 </td>
5511
5512 <td class="entry_range">
5513 </td>
5514
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005515 <td class="entry_tags">
5516 </td>
5517
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005518 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005519
5520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005521 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5522 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005523
5524
5525
5526 <!-- end of kind -->
5527 </tbody>
5528
5529 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005530 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005531
5532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005533 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005534
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005535 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005536 <tr>
5537 <th class="th_name">Property Name</th>
5538 <th class="th_type">Type</th>
5539 <th class="th_description">Description</th>
5540 <th class="th_units">Units</th>
5541 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005542 <th class="th_tags">Tags</th>
5543 </tr>
5544 </thead>
5545
5546 <tbody>
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005558 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005559 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005560 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005561 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005562 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005563
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005564 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005565
5566 <ul class="entry_type_enum">
5567 <li>
5568 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005569 <span class="entry_type_enum_notes"><p>No geometric correction is
5570applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005571 </li>
5572 <li>
5573 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005574 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5575bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005576 </li>
5577 <li>
5578 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005579 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5580quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005581 </li>
5582 </ul>
5583
5584 </td> <!-- entry_type -->
5585
5586 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005587 <p>Operating mode of geometric
5588correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005589 </td>
5590
5591 <td class="entry_units">
5592 </td>
5593
5594 <td class="entry_range">
5595 </td>
5596
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005597 <td class="entry_tags">
5598 </td>
5599
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005600 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005601
5602
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005603 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5604 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005605
5606
5607 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005608 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005609 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005610 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005611 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005612 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005613
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005614 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005615
5616
5617 </td> <!-- entry_type -->
5618
5619 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005620 <p>Control the amount of shading correction
5621applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005622 </td>
5623
5624 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005625 unitless: 1-10; 10 is full shading
5626 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627 </td>
5628
5629 <td class="entry_range">
5630 </td>
5631
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005632 <td class="entry_tags">
5633 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005634 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005635 </ul>
5636 </td>
5637
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005638 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005639
5640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005641 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5642 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005643
5644
5645
5646 <!-- end of kind -->
5647 </tbody>
5648
5649 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005650 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005651
5652
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005653 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005654
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005655 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005656 <tr>
5657 <th class="th_name">Property Name</th>
5658 <th class="th_type">Type</th>
5659 <th class="th_description">Description</th>
5660 <th class="th_units">Units</th>
5661 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005662 <th class="th_tags">Tags</th>
5663 </tr>
5664 </thead>
5665
5666 <tbody>
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005678 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005679 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005680 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005681 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005682 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005683
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005684 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005685
5686 <ul class="entry_type_enum">
5687 <li>
5688 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005689 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5690applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005691 </li>
5692 <li>
5693 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005694 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5695Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005696 </li>
5697 <li>
5698 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005699 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5700quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005701 </li>
5702 </ul>
5703
5704 </td> <!-- entry_type -->
5705
5706 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005707 <p>Set operational mode for hot pixel
5708correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005709 </td>
5710
5711 <td class="entry_units">
5712 </td>
5713
5714 <td class="entry_range">
5715 </td>
5716
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717 <td class="entry_tags">
5718 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005719 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005720 </ul>
5721 </td>
5722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005723 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005724
5725
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005726 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5727 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005728
5729
5730
5731 <!-- end of kind -->
5732 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005733 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005734
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005735 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005736 <tr>
5737 <th class="th_name">Property Name</th>
5738 <th class="th_type">Type</th>
5739 <th class="th_description">Description</th>
5740 <th class="th_units">Units</th>
5741 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005742 <th class="th_tags">Tags</th>
5743 </tr>
5744 </thead>
5745
5746 <tbody>
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005760 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005761 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005762 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005763 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005764 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005765 <span class="entry_type_container">x</span>
5766
5767 <span class="entry_type_array">
5768 2 x n
5769 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005770 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005771 <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 -08005772
5773
5774 </td> <!-- entry_type -->
5775
5776 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005777 <p>Location of hot/<wbr/>defective pixels on
5778sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005779 </td>
5780
5781 <td class="entry_units">
5782 </td>
5783
5784 <td class="entry_range">
5785 </td>
5786
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005787 <td class="entry_tags">
5788 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005789 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005790 </ul>
5791 </td>
5792
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005793 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005794
5795
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005796 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5797 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005798
5799
5800
5801
5802
5803
5804 <!-- end of kind -->
5805 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005806 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005807
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005808 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005809 <tr>
5810 <th class="th_name">Property Name</th>
5811 <th class="th_type">Type</th>
5812 <th class="th_description">Description</th>
5813 <th class="th_units">Units</th>
5814 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005815 <th class="th_tags">Tags</th>
5816 </tr>
5817 </thead>
5818
5819 <tbody>
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005831 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005832 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005833 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005834 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005835 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005836
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005837 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005838
5839 <ul class="entry_type_enum">
5840 <li>
5841 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005842 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5843applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005844 </li>
5845 <li>
5846 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005847 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5848Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005849 </li>
5850 <li>
5851 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005852 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5853quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005854 </li>
5855 </ul>
5856
5857 </td> <!-- entry_type -->
5858
5859 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005860 <p>Set operational mode for hot pixel
5861correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005862 </td>
5863
5864 <td class="entry_units">
5865 </td>
5866
5867 <td class="entry_range">
5868 </td>
5869
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005870 <td class="entry_tags">
5871 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005872 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005873 </ul>
5874 </td>
5875
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005876 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005877
5878
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005879 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5880 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005881
5882
5883
5884 <!-- end of kind -->
5885 </tbody>
5886
5887 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005888 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005889
5890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005891 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005892
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005893 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005894 <tr>
5895 <th class="th_name">Property Name</th>
5896 <th class="th_type">Type</th>
5897 <th class="th_description">Description</th>
5898 <th class="th_units">Units</th>
5899 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005900 <th class="th_tags">Tags</th>
5901 </tr>
5902 </thead>
5903
5904 <tbody>
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005916 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005917 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005918 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005919 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005920 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005921 <span class="entry_type_container">x</span>
5922
5923 <span class="entry_type_array">
5924 3
5925 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005926 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005927 <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 -08005928
5929
5930 </td> <!-- entry_type -->
5931
5932 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005933 <p>GPS coordinates to include in output JPEG
5934EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935 </td>
5936
5937 <td class="entry_units">
5938 </td>
5939
5940 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005941 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005942 </td>
5943
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005944 <td class="entry_tags">
5945 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005946 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005947 </ul>
5948 </td>
5949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005950 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005951
5952
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005953 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5954 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005955
5956
5957 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005958 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005959 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005962 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005963
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005964 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005965
5966
5967 </td> <!-- entry_type -->
5968
5969 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005970 <p>32 characters describing GPS algorithm to
5971include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972 </td>
5973
5974 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005975 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005976 </td>
5977
5978 <td class="entry_range">
5979 </td>
5980
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005981 <td class="entry_tags">
5982 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005983 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984 </ul>
5985 </td>
5986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005987 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005988
5989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005990 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5991 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005992
5993
5994 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005995 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005996 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005997 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005999 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006002
6003
6004 </td> <!-- entry_type -->
6005
6006 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006007 <p>Time GPS fix was made to include in
6008EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006009 </td>
6010
6011 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006012 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006013 </td>
6014
6015 <td class="entry_range">
6016 </td>
6017
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006018 <td class="entry_tags">
6019 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006020 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006021 </ul>
6022 </td>
6023
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006024 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006025
6026
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006027 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6028 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006029
6030
6031 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006032 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006033 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006034 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006035 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006036 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006037
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006038 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006039
6040
6041 </td> <!-- entry_type -->
6042
6043 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006044 <p>Orientation of JPEG image to
6045write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006046 </td>
6047
6048 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006049 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006050 </td>
6051
6052 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006053 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006054 </td>
6055
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006056 <td class="entry_tags">
6057 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006058 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006059 </ul>
6060 </td>
6061
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006062 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006063
6064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006065 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6066 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006067
6068
6069 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006070 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006071 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006072 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006073 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006074 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006075
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006076 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006077
6078
6079 </td> <!-- entry_type -->
6080
6081 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006082 <p>Compression quality of the final JPEG
6083image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006084 </td>
6085
6086 <td class="entry_units">
6087 </td>
6088
6089 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006090 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006091 </td>
6092
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006093 <td class="entry_tags">
6094 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006095 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006096 </ul>
6097 </td>
6098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006099 </tr>
6100 <tr class="entries_header">
6101 <th class="th_details" colspan="5">Details</th>
6102 </tr>
6103 <tr class="entry_cont">
6104 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006105 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006106 </td>
6107 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006108
6109
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006110 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6111 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006112
6113
6114 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006115 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006116 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006117 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006118 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006119 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006120
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006121 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006122
6123
6124 </td> <!-- entry_type -->
6125
6126 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006127 <p>Compression quality of JPEG
6128thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006129 </td>
6130
6131 <td class="entry_units">
6132 </td>
6133
6134 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006135 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006136 </td>
6137
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006138 <td class="entry_tags">
6139 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006140 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006141 </ul>
6142 </td>
6143
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006144 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006145
6146
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006147 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6148 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006149
6150
6151 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006152 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006153 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006154 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006155 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006156 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006157 <span class="entry_type_container">x</span>
6158
6159 <span class="entry_type_array">
6160 2
6161 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006162 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006163
6164
6165 </td> <!-- entry_type -->
6166
6167 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006168 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006169 </td>
6170
6171 <td class="entry_units">
6172 </td>
6173
6174 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006175 <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 -08006176 </td>
6177
6178 <td class="entry_tags">
6179 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006180 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006181 </ul>
6182 </td>
6183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006184 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006185 <tr class="entries_header">
6186 <th class="th_details" colspan="5">Details</th>
6187 </tr>
6188 <tr class="entry_cont">
6189 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006190 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6191but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006192<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6193the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006194 </td>
6195 </tr>
6196
6197
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006198 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6199 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006200
6201
6202
6203 <!-- end of kind -->
6204 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006205 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006206
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006207 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006208 <tr>
6209 <th class="th_name">Property Name</th>
6210 <th class="th_type">Type</th>
6211 <th class="th_description">Description</th>
6212 <th class="th_units">Units</th>
6213 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006214 <th class="th_tags">Tags</th>
6215 </tr>
6216 </thead>
6217
6218 <tbody>
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006230 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006231 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006232 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006233 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006234 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006235 <span class="entry_type_container">x</span>
6236
6237 <span class="entry_type_array">
6238 2 x n
6239 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006240 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006241
6242
6243 </td> <!-- entry_type -->
6244
6245 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006246 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006247 </td>
6248
6249 <td class="entry_units">
6250 </td>
6251
6252 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006253 <p>Will include at least one valid resolution,<wbr/> plus
6254(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006255 </td>
6256
6257 <td class="entry_tags">
6258 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006259 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006260 </ul>
6261 </td>
6262
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006263 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006264 <tr class="entries_header">
6265 <th class="th_details" colspan="5">Details</th>
6266 </tr>
6267 <tr class="entry_cont">
6268 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006269 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006270<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006271<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6272If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6273<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006274aspect 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 -08006275The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006276in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006277<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 -08006278one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6279and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006280<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006281</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006282 </td>
6283 </tr>
6284
6285
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006286 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6287 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006288
6289
6290 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006291 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006292 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006293 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006295 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006297 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006298
6299
6300 </td> <!-- entry_type -->
6301
6302 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006303 <p>Maximum size in bytes for the compressed
6304JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006305 </td>
6306
6307 <td class="entry_units">
6308 </td>
6309
6310 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006311 <p>Must be large enough to fit any JPEG produced by
6312the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006313 </td>
6314
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006315 <td class="entry_tags">
6316 </td>
6317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006318 </tr>
6319 <tr class="entries_header">
6320 <th class="th_details" colspan="5">Details</th>
6321 </tr>
6322 <tr class="entry_cont">
6323 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006324 <p>This is used for sizing the gralloc buffers for
6325JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006326 </td>
6327 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006328
6329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006330 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6331 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006332
6333
6334
6335 <!-- end of kind -->
6336 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006337 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006338
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006339 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006340 <tr>
6341 <th class="th_name">Property Name</th>
6342 <th class="th_type">Type</th>
6343 <th class="th_description">Description</th>
6344 <th class="th_units">Units</th>
6345 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006346 <th class="th_tags">Tags</th>
6347 </tr>
6348 </thead>
6349
6350 <tbody>
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006362 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006363 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006364 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006365 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006366 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006367 <span class="entry_type_container">x</span>
6368
6369 <span class="entry_type_array">
6370 3
6371 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006372 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006373 <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 -08006374
6375
6376 </td> <!-- entry_type -->
6377
6378 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006379 <p>GPS coordinates to include in output JPEG
6380EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006381 </td>
6382
6383 <td class="entry_units">
6384 </td>
6385
6386 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006387 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006388 </td>
6389
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006390 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006391 <ul class="entry_tags">
6392 <li><a href="#tag_BC">BC</a></li>
6393 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006394 </td>
6395
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006396 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006397
6398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006399 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6400 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006401
6402
6403 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006404 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006405 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006406 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006407 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006408 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006409
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006410 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006411
6412
6413 </td> <!-- entry_type -->
6414
6415 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006416 <p>32 characters describing GPS algorithm to
6417include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006418 </td>
6419
6420 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006421 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006422 </td>
6423
6424 <td class="entry_range">
6425 </td>
6426
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006427 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006428 <ul class="entry_tags">
6429 <li><a href="#tag_BC">BC</a></li>
6430 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006431 </td>
6432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006433 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006434
6435
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006436 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6437 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006438
6439
6440 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006441 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006442 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006443 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006444 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006445 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006446
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006447 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006448
6449
6450 </td> <!-- entry_type -->
6451
6452 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006453 <p>Time GPS fix was made to include in
6454EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006455 </td>
6456
6457 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006458 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006459 </td>
6460
6461 <td class="entry_range">
6462 </td>
6463
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006464 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006465 <ul class="entry_tags">
6466 <li><a href="#tag_BC">BC</a></li>
6467 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006468 </td>
6469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006470 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006471
6472
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006473 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6474 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006475
6476
6477 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006478 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006479 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006480 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006481 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006482 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006484 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485
6486
6487 </td> <!-- entry_type -->
6488
6489 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006490 <p>Orientation of JPEG image to
6491write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006492 </td>
6493
6494 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006495 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006496 </td>
6497
6498 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006499 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006500 </td>
6501
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006502 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006503 <ul class="entry_tags">
6504 <li><a href="#tag_BC">BC</a></li>
6505 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006506 </td>
6507
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006508 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006509
6510
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006511 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6512 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006513
6514
6515 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006516 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006517 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006518 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006520 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006521
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006522 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006523
6524
6525 </td> <!-- entry_type -->
6526
6527 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006528 <p>Compression quality of the final JPEG
6529image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006530 </td>
6531
6532 <td class="entry_units">
6533 </td>
6534
6535 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006536 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006537 </td>
6538
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006539 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006540 <ul class="entry_tags">
6541 <li><a href="#tag_BC">BC</a></li>
6542 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006543 </td>
6544
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006545 </tr>
6546 <tr class="entries_header">
6547 <th class="th_details" colspan="5">Details</th>
6548 </tr>
6549 <tr class="entry_cont">
6550 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006551 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006552 </td>
6553 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006554
6555
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006556 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6557 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006558
6559
6560 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006561 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006562 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006563 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006565 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006567 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006568
6569
6570 </td> <!-- entry_type -->
6571
6572 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006573 <p>The size of the compressed JPEG image,<wbr/> in
6574bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006575 </td>
6576
6577 <td class="entry_units">
6578 </td>
6579
6580 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006581 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006582 </td>
6583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006584 <td class="entry_tags">
6585 </td>
6586
6587 </tr>
6588 <tr class="entries_header">
6589 <th class="th_details" colspan="5">Details</th>
6590 </tr>
6591 <tr class="entry_cont">
6592 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006593 <p>If no JPEG output is produced for the request,<wbr/>
6594this must be 0.<wbr/></p>
6595<p>Otherwise,<wbr/> this describes the real size of the compressed
6596JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006597if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6598has <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 -08006599the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6600500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006601 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006602 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006603
6604
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006605 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6606 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006607
6608
6609 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006610 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006611 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006612 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006613 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006614 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006615
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006616 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006617
6618
6619 </td> <!-- entry_type -->
6620
6621 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006622 <p>Compression quality of JPEG
6623thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006624 </td>
6625
6626 <td class="entry_units">
6627 </td>
6628
6629 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006630 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006631 </td>
6632
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006633 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006634 <ul class="entry_tags">
6635 <li><a href="#tag_BC">BC</a></li>
6636 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006637 </td>
6638
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006639 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006640
6641
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006642 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6643 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006644
6645
6646 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006647 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006648 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006649 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006651 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006652 <span class="entry_type_container">x</span>
6653
6654 <span class="entry_type_array">
6655 2
6656 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006657 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006658
6659
6660 </td> <!-- entry_type -->
6661
6662 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006663 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006664 </td>
6665
6666 <td class="entry_units">
6667 </td>
6668
6669 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006670 <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 -08006671 </td>
6672
6673 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006674 <ul class="entry_tags">
6675 <li><a href="#tag_BC">BC</a></li>
6676 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006677 </td>
6678
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006679 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006680 <tr class="entries_header">
6681 <th class="th_details" colspan="5">Details</th>
6682 </tr>
6683 <tr class="entry_cont">
6684 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006685 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6686but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006687<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6688the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006689 </td>
6690 </tr>
6691
6692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006693 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6694 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006695
6696
6697
6698 <!-- end of kind -->
6699 </tbody>
6700
6701 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006702 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006703
6704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006705 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006706
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006707 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006708 <tr>
6709 <th class="th_name">Property Name</th>
6710 <th class="th_type">Type</th>
6711 <th class="th_description">Description</th>
6712 <th class="th_units">Units</th>
6713 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006714 <th class="th_tags">Tags</th>
6715 </tr>
6716 </thead>
6717
6718 <tbody>
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006730 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006731 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006732 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006734 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006735
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006736 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006737
6738
6739 </td> <!-- entry_type -->
6740
6741 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006742 <p>The ratio of lens focal length to the effective
6743aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006744 </td>
6745
6746 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006747 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006748 </td>
6749
6750 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006751 <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 -08006752 </td>
6753
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006754 <td class="entry_tags">
6755 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006756 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006757 </ul>
6758 </td>
6759
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006760 </tr>
6761 <tr class="entries_header">
6762 <th class="th_details" colspan="5">Details</th>
6763 </tr>
6764 <tr class="entry_cont">
6765 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006766 <p>This will only be supported on the camera devices that
6767have variable aperture lens.<wbr/> The aperture value can only be
6768one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6769<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6770this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6771<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6772to achieve manual exposure control.<wbr/></p>
6773<p>The requested aperture value may take several frames to reach the
6774requested value; the camera device will report the current (intermediate)
6775aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6776<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6777the ON modes,<wbr/> this will be overridden by the camera device
6778auto-exposure algorithm,<wbr/> the overridden values are then provided
6779back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006780 </td>
6781 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006782
6783
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006784 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6785 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006786
6787
6788 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006789 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006790 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006791 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006792 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006793 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006794
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006795 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006796
6797
6798 </td> <!-- entry_type -->
6799
6800 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006801 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006802 </td>
6803
6804 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006805 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006806 </td>
6807
6808 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006809 <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 -08006810 </td>
6811
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006812 <td class="entry_tags">
6813 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006814 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006815 </ul>
6816 </td>
6817
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006818 </tr>
6819 <tr class="entries_header">
6820 <th class="th_details" colspan="5">Details</th>
6821 </tr>
6822 <tr class="entry_cont">
6823 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006824 <p>This will not be supported on most camera devices.<wbr/> On devices
6825where this is supported,<wbr/> this may only be set to one of the
6826values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6827<p>Lens filters are typically used to lower the amount of light the
6828sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6829step is the standard logarithmic representation,<wbr/> which are
6830non-negative,<wbr/> and inversely proportional to the amount of light
6831hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6832in no reduction of the incoming light,<wbr/> and setting this to 2 would
6833mean that the filter is set to reduce incoming light by two stops
6834(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006835 </td>
6836 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006837
6838
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006839 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6840 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006841
6842
6843 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006844 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006845 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006846 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006848 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006850 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006851
6852
6853 </td> <!-- entry_type -->
6854
6855 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006856 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006857 </td>
6858
6859 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006860 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006861 </td>
6862
6863 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006864 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006865 </td>
6866
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006867 <td class="entry_tags">
6868 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006869 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006870 </ul>
6871 </td>
6872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006873 </tr>
6874 <tr class="entries_header">
6875 <th class="th_details" colspan="5">Details</th>
6876 </tr>
6877 <tr class="entry_cont">
6878 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006879 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006880 </td>
6881 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006882
6883
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006884 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6885 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006886
6887
6888 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006889 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006890 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006891 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006892 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006893 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006894
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006895 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006896
6897
6898 </td> <!-- entry_type -->
6899
6900 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006901 <p>Distance to plane of sharpest focus,<wbr/>
6902measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006903 </td>
6904
6905 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006906 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006907 </td>
6908
6909 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006910 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006911 </td>
6912
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006913 <td class="entry_tags">
6914 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006915 <li><a href="#tag_BC">BC</a></li>
6916 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006917 </ul>
6918 </td>
6919
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006920 </tr>
6921 <tr class="entries_header">
6922 <th class="th_details" colspan="5">Details</th>
6923 </tr>
6924 <tr class="entry_cont">
6925 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006926 <p>0 = infinity focus.<wbr/> Used value should be clamped
6927to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006928 </td>
6929 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006930
6931
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006932 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6933 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006934
6935
6936 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006937 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006938 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006939 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006940 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006941 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006942
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006943 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006944
6945 <ul class="entry_type_enum">
6946 <li>
6947 <span class="entry_type_enum_name">OFF</span>
6948 </li>
6949 <li>
6950 <span class="entry_type_enum_name">ON</span>
6951 <span class="entry_type_enum_optional">optional</span>
6952 </li>
6953 </ul>
6954
6955 </td> <!-- entry_type -->
6956
6957 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006958 <p>Whether optical image stabilization is
6959enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006960 </td>
6961
6962 <td class="entry_units">
6963 </td>
6964
6965 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006966 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006967 </td>
6968
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006969 <td class="entry_tags">
6970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006971 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006972 </ul>
6973 </td>
6974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006975 </tr>
6976 <tr class="entries_header">
6977 <th class="th_details" colspan="5">Details</th>
6978 </tr>
6979 <tr class="entry_cont">
6980 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006981 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006982 </td>
6983 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006984
6985
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006986 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6987 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006988
6989
6990
6991 <!-- end of kind -->
6992 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006993 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006994
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006995 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006996 <tr>
6997 <th class="th_name">Property Name</th>
6998 <th class="th_type">Type</th>
6999 <th class="th_description">Description</th>
7000 <th class="th_units">Units</th>
7001 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007002 <th class="th_tags">Tags</th>
7003 </tr>
7004 </thead>
7005
7006 <tbody>
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007020 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007021 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007022 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007024 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025 <span class="entry_type_container">x</span>
7026
7027 <span class="entry_type_array">
7028 n
7029 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007030 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007031
7032
7033 </td> <!-- entry_type -->
7034
7035 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007036 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007037values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007038 </td>
7039
7040 <td class="entry_units">
7041 </td>
7042
7043 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007044 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007045 </td>
7046
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007047 <td class="entry_tags">
7048 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007049 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007050 </ul>
7051 </td>
7052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007053 </tr>
7054 <tr class="entries_header">
7055 <th class="th_details" colspan="5">Details</th>
7056 </tr>
7057 <tr class="entry_cont">
7058 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007059 <p>If the camera device doesn't support variable apertures,<wbr/>
7060listed value will be the fixed aperture.<wbr/></p>
7061<p>If the camera device supports variable apertures,<wbr/> the aperture value
7062in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007063 </td>
7064 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007065
7066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007067 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7068 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007069
7070
7071 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007072 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007073 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007074 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007075 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007076 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007077 <span class="entry_type_container">x</span>
7078
7079 <span class="entry_type_array">
7080 n
7081 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007082 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007083
7084
7085 </td> <!-- entry_type -->
7086
7087 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007088 <p>List of supported neutral density filter values for
7089<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007090 </td>
7091
7092 <td class="entry_units">
7093 </td>
7094
7095 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007096 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007097 </td>
7098
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007099 <td class="entry_tags">
7100 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007101 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007102 </ul>
7103 </td>
7104
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007105 </tr>
7106 <tr class="entries_header">
7107 <th class="th_details" colspan="5">Details</th>
7108 </tr>
7109 <tr class="entry_cont">
7110 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007111 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7112availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7113list contains only the exact filter density values available on
7114this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007115 </td>
7116 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007117
7118
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007119 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7120 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007121
7122
7123 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007124 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007125 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007126 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007127 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007128 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007129 <span class="entry_type_container">x</span>
7130
7131 <span class="entry_type_array">
7132 n
7133 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007134 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007135 <div class="entry_type_notes">the list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007136
7137
7138 </td> <!-- entry_type -->
7139
7140 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007141 <p>If fitted with optical zoom,<wbr/> what focal
7142lengths are available.<wbr/> If not,<wbr/> the static focal
7143length</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007144 </td>
7145
7146 <td class="entry_units">
7147 </td>
7148
7149 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007150 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007151 </td>
7152
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153 <td class="entry_tags">
7154 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007155 <li><a href="#tag_BC">BC</a></li>
7156 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007157 </ul>
7158 </td>
7159
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007160 </tr>
7161 <tr class="entries_header">
7162 <th class="th_details" colspan="5">Details</th>
7163 </tr>
7164 <tr class="entry_cont">
7165 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007166 <p>If optical zoom not supported,<wbr/> only one value
7167should be reported</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007168 </td>
7169 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007170
7171
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007172 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7173 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007174
7175
7176 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007177 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007178 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007179 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007181 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007182 <span class="entry_type_container">x</span>
7183
7184 <span class="entry_type_array">
7185 n
7186 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007187 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007188 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007189
7190
7191 </td> <!-- entry_type -->
7192
7193 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007194 <p>List of supported optical image
7195stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007196 </td>
7197
7198 <td class="entry_units">
7199 </td>
7200
7201 <td class="entry_range">
7202 </td>
7203
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007204 <td class="entry_tags">
7205 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007206 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007207 </ul>
7208 </td>
7209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007210 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007211
7212
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007213 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7214 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007215
7216
7217 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007218 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007219 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007222 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007223 <span class="entry_type_container">x</span>
7224
7225 <span class="entry_type_array">
7226 2 x 3 x n x m
7227 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007228 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007229 <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 -08007230
7231
7232 </td> <!-- entry_type -->
7233
7234 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007235 <p>A low-resolution map for correction of
7236geometric distortions and chromatic aberrations,<wbr/> per
7237color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007238 </td>
7239
7240 <td class="entry_units">
7241 </td>
7242
7243 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007244 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007245 </td>
7246
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007247 <td class="entry_tags">
7248 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007249 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007250 </ul>
7251 </td>
7252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007253 </tr>
7254 <tr class="entries_header">
7255 <th class="th_details" colspan="5">Details</th>
7256 </tr>
7257 <tr class="entry_cont">
7258 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007259 <p>[DNG wants a function instead].<wbr/> What's easiest
7260for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7261j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7262j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7263entry 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 -08007264 </td>
7265 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007266
7267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007268 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7269 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007270
7271
7272 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007273 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007274 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007275 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007276 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007277 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007278 <span class="entry_type_container">x</span>
7279
7280 <span class="entry_type_array">
7281 2
7282 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007283 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007284 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007285
7286
7287 </td> <!-- entry_type -->
7288
7289 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007290 <p>Dimensions of geometric correction
7291map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007292 </td>
7293
7294 <td class="entry_units">
7295 </td>
7296
7297 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007298 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007299 </td>
7300
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007301 <td class="entry_tags">
7302 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007303 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007304 </ul>
7305 </td>
7306
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007307 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007308
7309
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007310 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7311 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007312
7313
7314 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007315 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007316 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007317 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007318 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007319 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007320
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007321 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007322
7323
7324 </td> <!-- entry_type -->
7325
7326 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007327 <p>Hyperfocal distance for this lens; set to
73280 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007329 </td>
7330
7331 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007332 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007333 </td>
7334
7335 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007336 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007337 </td>
7338
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007339 <td class="entry_tags">
7340 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007341 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007342 </ul>
7343 </td>
7344
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007345 </tr>
7346 <tr class="entries_header">
7347 <th class="th_details" colspan="5">Details</th>
7348 </tr>
7349 <tr class="entry_cont">
7350 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007351 <p>The hyperfocal distance is used for the old
7352API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007353 </td>
7354 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007355
7356
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007357 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7358 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007359
7360
7361 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007362 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007363 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007364 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007365 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007366 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007367
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007368 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007369
7370
7371 </td> <!-- entry_type -->
7372
7373 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007374 <p>Shortest distance from frontmost surface
7375of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007376 </td>
7377
7378 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007379 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007380 </td>
7381
7382 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007383 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007384 </td>
7385
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007386 <td class="entry_tags">
7387 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007388 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007389 </ul>
7390 </td>
7391
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007392 </tr>
7393 <tr class="entries_header">
7394 <th class="th_details" colspan="5">Details</th>
7395 </tr>
7396 <tr class="entry_cont">
7397 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007398 <p>If the lens is fixed-focus,<wbr/> this should be
73990</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007400 </td>
7401 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007402
7403
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007404 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7405 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007406
7407
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007409 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007410 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007411 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007412 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007413 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007414 <span class="entry_type_container">x</span>
7415
7416 <span class="entry_type_array">
7417 2
7418 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007419 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007420 <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 -08007421
7422
7423 </td> <!-- entry_type -->
7424
7425 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007426 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007427 </td>
7428
7429 <td class="entry_units">
7430 </td>
7431
7432 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007433 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007434 </td>
7435
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007436 <td class="entry_tags">
7437 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007438 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007439 </ul>
7440 </td>
7441
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007442 </tr>
7443 <tr class="entries_header">
7444 <th class="th_details" colspan="5">Details</th>
7445 </tr>
7446 <tr class="entry_cont">
7447 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007448 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7449must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007450 </td>
7451 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007452
7453
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007454 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7455 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007456
7457
7458
7459
7460
7461 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007462 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007463 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007464 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007465 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007466 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007467
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007468 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007469
7470 <ul class="entry_type_enum">
7471 <li>
7472 <span class="entry_type_enum_name">FRONT</span>
7473 </li>
7474 <li>
7475 <span class="entry_type_enum_name">BACK</span>
7476 </li>
7477 </ul>
7478
7479 </td> <!-- entry_type -->
7480
7481 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007482 <p>Direction the camera faces relative to
7483device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007484 </td>
7485
7486 <td class="entry_units">
7487 </td>
7488
7489 <td class="entry_range">
7490 </td>
7491
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007492 <td class="entry_tags">
7493 </td>
7494
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007495 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007496
7497
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007498 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7499 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007500
7501
7502 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007503 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007504 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007505 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007506 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007507 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508 <span class="entry_type_container">x</span>
7509
7510 <span class="entry_type_array">
7511 2
7512 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007513 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007514 <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 -08007515
7516
7517 </td> <!-- entry_type -->
7518
7519 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007520 <p>Relative angle of camera optical axis to the
7521perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007522 </td>
7523
7524 <td class="entry_units">
7525 </td>
7526
7527 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007528 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007529 </td>
7530
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007531 <td class="entry_tags">
7532 <ul class="entry_tags">
7533 <li><a href="#tag_ADV">ADV</a></li>
7534 </ul>
7535 </td>
7536
7537 </tr>
7538 <tr class="entries_header">
7539 <th class="th_details" colspan="5">Details</th>
7540 </tr>
7541 <tr class="entry_cont">
7542 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007543 <p>Examples:</p>
7544<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007545is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007546<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007547device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007548<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7549the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007550<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007551direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007552 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007553 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007554
7555
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007556 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7557 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007558
7559
7560 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007561 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007562 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007563 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007565 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 <span class="entry_type_container">x</span>
7567
7568 <span class="entry_type_array">
7569 3, location in mm, in the sensor coordinate
7570 system
7571 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007572 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007573
7574
7575 </td> <!-- entry_type -->
7576
7577 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007578 <p>Coordinates of camera optical axis on
7579device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007580 </td>
7581
7582 <td class="entry_units">
7583 </td>
7584
7585 <td class="entry_range">
7586 </td>
7587
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007588 <td class="entry_tags">
7589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007590 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007591 </ul>
7592 </td>
7593
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007595
7596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7598 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007599
7600
7601
7602 <!-- end of kind -->
7603 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007604 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007605
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007606 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007607 <tr>
7608 <th class="th_name">Property Name</th>
7609 <th class="th_type">Type</th>
7610 <th class="th_description">Description</th>
7611 <th class="th_units">Units</th>
7612 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007613 <th class="th_tags">Tags</th>
7614 </tr>
7615 </thead>
7616
7617 <tbody>
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007629 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007630 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007631 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007632 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007633 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007634
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007635 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636
7637
7638 </td> <!-- entry_type -->
7639
7640 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007641 <p>The ratio of lens focal length to the effective
7642aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007643 </td>
7644
7645 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007646 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007647 </td>
7648
7649 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007650 <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 -08007651 </td>
7652
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007653 <td class="entry_tags">
7654 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007655 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007656 </ul>
7657 </td>
7658
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007659 </tr>
7660 <tr class="entries_header">
7661 <th class="th_details" colspan="5">Details</th>
7662 </tr>
7663 <tr class="entry_cont">
7664 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007665 <p>This will only be supported on the camera devices that
7666have variable aperture lens.<wbr/> The aperture value can only be
7667one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7668<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7669this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7670<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7671to achieve manual exposure control.<wbr/></p>
7672<p>The requested aperture value may take several frames to reach the
7673requested value; the camera device will report the current (intermediate)
7674aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7675<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7676the ON modes,<wbr/> this will be overridden by the camera device
7677auto-exposure algorithm,<wbr/> the overridden values are then provided
7678back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007679 </td>
7680 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007681
7682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007683 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7684 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007685
7686
7687 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007688 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007689 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007690 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007692 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007693
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007694 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007695
7696
7697 </td> <!-- entry_type -->
7698
7699 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007700 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007701 </td>
7702
7703 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007704 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007705 </td>
7706
7707 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007708 <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 -08007709 </td>
7710
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007711 <td class="entry_tags">
7712 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007713 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007714 </ul>
7715 </td>
7716
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007717 </tr>
7718 <tr class="entries_header">
7719 <th class="th_details" colspan="5">Details</th>
7720 </tr>
7721 <tr class="entry_cont">
7722 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007723 <p>This will not be supported on most camera devices.<wbr/> On devices
7724where this is supported,<wbr/> this may only be set to one of the
7725values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7726<p>Lens filters are typically used to lower the amount of light the
7727sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7728step is the standard logarithmic representation,<wbr/> which are
7729non-negative,<wbr/> and inversely proportional to the amount of light
7730hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7731in no reduction of the incoming light,<wbr/> and setting this to 2 would
7732mean that the filter is set to reduce incoming light by two stops
7733(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007734 </td>
7735 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007736
7737
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007738 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7739 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007740
7741
7742 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007743 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007744 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007745 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007746 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007747 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007748
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007749 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007750
7751
7752 </td> <!-- entry_type -->
7753
7754 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007755 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007756 </td>
7757
7758 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007759 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007760 </td>
7761
7762 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007763 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007764 </td>
7765
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007766 <td class="entry_tags">
7767 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007768 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007769 </ul>
7770 </td>
7771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007772 </tr>
7773 <tr class="entries_header">
7774 <th class="th_details" colspan="5">Details</th>
7775 </tr>
7776 <tr class="entry_cont">
7777 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007778 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007779 </td>
7780 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007781
7782
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007783 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7784 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007785
7786
7787 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007788 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007789 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007790 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007791 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007792 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007793
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007794 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007795
7796
7797 </td> <!-- entry_type -->
7798
7799 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007800 <p>Distance to plane of sharpest focus,<wbr/>
7801measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007802 </td>
7803
7804 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007805 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007806 </td>
7807
7808 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007809 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007810 </td>
7811
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007812 <td class="entry_tags">
7813 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007814 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007815 </ul>
7816 </td>
7817
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007818 </tr>
7819 <tr class="entries_header">
7820 <th class="th_details" colspan="5">Details</th>
7821 </tr>
7822 <tr class="entry_cont">
7823 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007824 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007825 </td>
7826 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007827
7828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007829 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7830 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007831
7832
7833 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007834 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007835 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007836 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007838 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007839 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007840
Zhijun He50451ad2013-09-26 10:27:47 -07007841 <span class="entry_type_array">
7842 2
7843 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007844 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007845 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007846
7847
7848 </td> <!-- entry_type -->
7849
7850 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007851 <p>The range of scene distances that are in
7852sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007853 </td>
7854
7855 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007856 pair of focus distances in diopters: (near,<wbr/>
7857 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007858 </td>
7859
7860 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007861 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007862 </td>
7863
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007864 <td class="entry_tags">
7865 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007866 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007867 </ul>
7868 </td>
7869
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007870 </tr>
7871 <tr class="entries_header">
7872 <th class="th_details" colspan="5">Details</th>
7873 </tr>
7874 <tr class="entry_cont">
7875 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007876 <p>If variable focus not supported,<wbr/> can still report
7877fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007878 </td>
7879 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007880
7881
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007882 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7883 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007884
7885
7886 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007887 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007888 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007889 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007890 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007891 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007892
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007893 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007894
7895 <ul class="entry_type_enum">
7896 <li>
7897 <span class="entry_type_enum_name">OFF</span>
7898 </li>
7899 <li>
7900 <span class="entry_type_enum_name">ON</span>
7901 <span class="entry_type_enum_optional">optional</span>
7902 </li>
7903 </ul>
7904
7905 </td> <!-- entry_type -->
7906
7907 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007908 <p>Whether optical image stabilization is
7909enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007910 </td>
7911
7912 <td class="entry_units">
7913 </td>
7914
7915 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007916 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007917 </td>
7918
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007919 <td class="entry_tags">
7920 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007921 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007922 </ul>
7923 </td>
7924
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007925 </tr>
7926 <tr class="entries_header">
7927 <th class="th_details" colspan="5">Details</th>
7928 </tr>
7929 <tr class="entry_cont">
7930 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007931 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007932 </td>
7933 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007934
7935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007936 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7937 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007938
7939
7940 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007941 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007942 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007943 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007944 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007945 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007946
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007947 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007948
7949 <ul class="entry_type_enum">
7950 <li>
7951 <span class="entry_type_enum_name">STATIONARY</span>
7952 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07007953 <li>
7954 <span class="entry_type_enum_name">MOVING</span>
7955 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007956 </ul>
7957
7958 </td> <!-- entry_type -->
7959
7960 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007961 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007962 </td>
7963
7964 <td class="entry_units">
7965 </td>
7966
7967 <td class="entry_range">
7968 </td>
7969
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007970 <td class="entry_tags">
7971 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007972 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007973 </ul>
7974 </td>
7975
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007976 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007977
7978
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007979 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7980 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007981
7982
7983
7984 <!-- end of kind -->
7985 </tbody>
7986
7987 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007988 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007989
7990
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007991 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007992
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007993 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007994 <tr>
7995 <th class="th_name">Property Name</th>
7996 <th class="th_type">Type</th>
7997 <th class="th_description">Description</th>
7998 <th class="th_units">Units</th>
7999 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008000 <th class="th_tags">Tags</th>
8001 </tr>
8002 </thead>
8003
8004 <tbody>
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008016 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008017 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008018 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008019 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008020 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008023
8024 <ul class="entry_type_enum">
8025 <li>
8026 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008027 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008028 </li>
8029 <li>
8030 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008031 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8032output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008033 </li>
8034 <li>
8035 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008036 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8037quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008038 </li>
8039 </ul>
8040
8041 </td> <!-- entry_type -->
8042
8043 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008044 <p>Mode of operation for the noise reduction
8045algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008046 </td>
8047
8048 <td class="entry_units">
8049 </td>
8050
8051 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008052 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008053 </td>
8054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008055 <td class="entry_tags">
8056 <ul class="entry_tags">
8057 <li><a href="#tag_V1">V1</a></li>
8058 </ul>
8059 </td>
8060
8061 </tr>
8062 <tr class="entries_header">
8063 <th class="th_details" colspan="5">Details</th>
8064 </tr>
8065 <tr class="entry_cont">
8066 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008067 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8068will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008069<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8070will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8071will use the highest-quality noise filtering algorithms,<wbr/>
8072even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008073slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008074 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008075 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008076
8077
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008078 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8079 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008080
8081
8082 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008083 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008084 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008085 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008086 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008087 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008088
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008089 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008090
8091
8092 </td> <!-- entry_type -->
8093
8094 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008095 <p>Control the amount of noise reduction
8096applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008097 </td>
8098
8099 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008100 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008101 </td>
8102
8103 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008104 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008105 </td>
8106
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008107 <td class="entry_tags">
8108 </td>
8109
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008110 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008111
8112
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008113 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8114 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008115
8116
8117
8118 <!-- end of kind -->
8119 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008120 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008121
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008122 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008123 <tr>
8124 <th class="th_name">Property Name</th>
8125 <th class="th_type">Type</th>
8126 <th class="th_description">Description</th>
8127 <th class="th_units">Units</th>
8128 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008129 <th class="th_tags">Tags</th>
8130 </tr>
8131 </thead>
8132
8133 <tbody>
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008145 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008146 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008147 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008148 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008149 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008150
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008151 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008152
8153 <ul class="entry_type_enum">
8154 <li>
8155 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008156 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008157 </li>
8158 <li>
8159 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008160 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8161output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008162 </li>
8163 <li>
8164 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008165 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8166quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008167 </li>
8168 </ul>
8169
8170 </td> <!-- entry_type -->
8171
8172 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008173 <p>Mode of operation for the noise reduction
8174algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008175 </td>
8176
8177 <td class="entry_units">
8178 </td>
8179
8180 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008181 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008182 </td>
8183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008184 <td class="entry_tags">
8185 <ul class="entry_tags">
8186 <li><a href="#tag_V1">V1</a></li>
8187 </ul>
8188 </td>
8189
8190 </tr>
8191 <tr class="entries_header">
8192 <th class="th_details" colspan="5">Details</th>
8193 </tr>
8194 <tr class="entry_cont">
8195 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008196 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8197will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008198<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8199will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8200will use the highest-quality noise filtering algorithms,<wbr/>
8201even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008202slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008203 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008204 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008205
8206
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008207 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8208 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008209
8210
8211
8212 <!-- end of kind -->
8213 </tbody>
8214
8215 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008216 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008217
8218
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008219 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008220
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008221 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008222 <tr>
8223 <th class="th_name">Property Name</th>
8224 <th class="th_type">Type</th>
8225 <th class="th_description">Description</th>
8226 <th class="th_units">Units</th>
8227 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008228 <th class="th_tags">Tags</th>
8229 </tr>
8230 </thead>
8231
8232 <tbody>
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008244 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008245 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008246 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008248 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008249
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008250 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008251
8252
8253 </td> <!-- entry_type -->
8254
8255 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008256 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008257scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008258region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8259and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008260 </td>
8261
8262 <td class="entry_units">
8263 </td>
8264
8265 <td class="entry_range">
8266 </td>
8267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008268 <td class="entry_tags">
8269 </td>
8270
8271 </tr>
8272 <tr class="entries_header">
8273 <th class="th_details" colspan="5">Details</th>
8274 </tr>
8275 <tr class="entry_cont">
8276 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008277 <p>Normalized coordinates refer to those in the
8278(-1000,<wbr/>1000) range mentioned in the
8279android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008280<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008281sensor array-relative coordinates for all region data.<wbr/> Does
8282not need to be listed in static metadata.<wbr/> Support will be
8283removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008284 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008285 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008286
8287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008288 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8289 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008290
8291
8292 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008293 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008294 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008295 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008297 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008298
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008299 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008300
8301
8302 </td> <!-- entry_type -->
8303
8304 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008305 <p>If set to 1,<wbr/> then the camera service always
8306switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8307trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008308 </td>
8309
8310 <td class="entry_units">
8311 </td>
8312
8313 <td class="entry_range">
8314 </td>
8315
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008316 <td class="entry_tags">
8317 </td>
8318
8319 </tr>
8320 <tr class="entries_header">
8321 <th class="th_details" colspan="5">Details</th>
8322 </tr>
8323 <tr class="entry_cont">
8324 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008325 <p>HAL implementations should implement AF trigger
8326modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8327CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8328not need to be listed in static metadata.<wbr/> Support will be
8329removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008330 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008331 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008332
8333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008334 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8335 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008336
8337
8338 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008339 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008340 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008341 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008343 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008344
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008345 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008346
8347
8348 </td> <!-- entry_type -->
8349
8350 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008351 <p>If set to 1,<wbr/> the camera service uses
8352CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8353HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8354shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008355 </td>
8356
8357 <td class="entry_units">
8358 </td>
8359
8360 <td class="entry_range">
8361 </td>
8362
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008363 <td class="entry_tags">
8364 </td>
8365
8366 </tr>
8367 <tr class="entries_header">
8368 <th class="th_details" colspan="5">Details</th>
8369 </tr>
8370 <tr class="entry_cont">
8371 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008372 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008373to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008374zero-shutter-lag,<wbr/> instead of relying on an explicit
8375format setting.<wbr/> Does not need to be listed in static
8376metadata.<wbr/> Support will be removed in future versions of
8377camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008378 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008379 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008380
8381
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008382 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8383 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008384
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008385
8386 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008387 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008388 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008389 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008390 <td class="entry_type">
8391 <span class="entry_type_name">byte</span>
8392
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008393 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008394
8395
8396 </td> <!-- entry_type -->
8397
8398 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008399 <p>If set to 1,<wbr/> the HAL will always split result
8400metadata for a single capture into multiple buffers,<wbr/>
8401returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008402 </td>
8403
8404 <td class="entry_units">
8405 </td>
8406
8407 <td class="entry_range">
8408 </td>
8409
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008410 <td class="entry_tags">
8411 </td>
8412
8413 </tr>
8414 <tr class="entries_header">
8415 <th class="th_details" colspan="5">Details</th>
8416 </tr>
8417 <tr class="entry_cont">
8418 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008419 <p>Does not need to be listed in static
8420metadata.<wbr/> Support for partial results will be reworked in
8421future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008422working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008423consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008424 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008425 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008426
8427
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008428 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8429 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008430
8431
8432
8433 <!-- end of kind -->
8434 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008435 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008436
8437 <thead class="entries_header">
8438 <tr>
8439 <th class="th_name">Property Name</th>
8440 <th class="th_type">Type</th>
8441 <th class="th_description">Description</th>
8442 <th class="th_units">Units</th>
8443 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008444 <th class="th_tags">Tags</th>
8445 </tr>
8446 </thead>
8447
8448 <tbody>
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008460 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008461 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008462 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008463 <td class="entry_type">
8464 <span class="entry_type_name entry_type_name_enum">byte</span>
8465
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008466 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008467
8468 <ul class="entry_type_enum">
8469 <li>
8470 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008471 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8472for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008473 </li>
8474 <li>
8475 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008476 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8477capture.<wbr/> More result buffers for this capture will be sent
8478by the HAL,<wbr/> the last of which will be marked
8479FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008480 </li>
8481 </ul>
8482
8483 </td> <!-- entry_type -->
8484
8485 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008486 <p>Whether a result given to the framework is the
8487final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008488subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008489values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008490 </td>
8491
8492 <td class="entry_units">
8493 </td>
8494
8495 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008496 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008497 </td>
8498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008499 <td class="entry_tags">
8500 </td>
8501
8502 </tr>
8503 <tr class="entries_header">
8504 <th class="th_details" colspan="5">Details</th>
8505 </tr>
8506 <tr class="entry_cont">
8507 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008508 <p>The entries in the result metadata buffers for a
8509single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008510FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008511requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8512always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8513before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8514in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8515capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8516only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008517 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008518 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008519
8520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008521 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8522 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008523
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008524
8525
8526 <!-- end of kind -->
8527 </tbody>
8528
8529 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008530 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008531
8532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008533 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008534
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008535 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008536 <tr>
8537 <th class="th_name">Property Name</th>
8538 <th class="th_type">Type</th>
8539 <th class="th_description">Description</th>
8540 <th class="th_units">Units</th>
8541 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008542 <th class="th_tags">Tags</th>
8543 </tr>
8544 </thead>
8545
8546 <tbody>
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008558 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008559 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008560 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008561 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008562 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008563
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008564 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008565
8566
8567 </td> <!-- entry_type -->
8568
8569 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008570 <p>A frame counter set by the framework.<wbr/> Must
8571be maintained unchanged in output frame.<wbr/> This value monotonically
8572increases with every new result (that is,<wbr/> each new result has a unique
8573frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008574 </td>
8575
8576 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008577 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008578 </td>
8579
8580 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008581 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008582 </td>
8583
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008584 <td class="entry_tags">
8585 </td>
8586
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008587 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008588
8589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008590 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8591 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008592
8593
8594 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008595 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008596 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008597 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008599 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008600
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008601 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008602
8603
8604 </td> <!-- entry_type -->
8605
8606 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008607 <p>An application-specified ID for the current
8608request.<wbr/> Must be maintained unchanged in output
8609frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008610 </td>
8611
8612 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008613 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008614 </td>
8615
8616 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008617 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008618 </td>
8619
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008620 <td class="entry_tags">
8621 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008622 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008623 </ul>
8624 </td>
8625
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008626 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008627
8628
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008629 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8630 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008631
8632
8633 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008634 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008635 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008636 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008637 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008638 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008639 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008640
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008641 <span class="entry_type_array">
8642 n
8643 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008644 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008645
8646
8647 </td> <!-- entry_type -->
8648
8649 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008650 <p>List which camera reprocess stream is used
8651for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008652 </td>
8653
8654 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008655 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008656 </td>
8657
8658 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008659 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8660reprocess stream ID.<wbr/></p>
8661<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8662reprocess streams may be included in a single request; they
8663must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008664 </td>
8665
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008666 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008667 <ul class="entry_tags">
8668 <li><a href="#tag_HAL2">HAL2</a></li>
8669 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008670 </td>
8671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008672 </tr>
8673 <tr class="entries_header">
8674 <th class="th_details" colspan="5">Details</th>
8675 </tr>
8676 <tr class="entry_cont">
8677 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008678 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008679REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008680 </td>
8681 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008682
8683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008684 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8685 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008686
8687
8688 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008689 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008690 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008691 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008692 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008693 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008694
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008695 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008696
8697 <ul class="entry_type_enum">
8698 <li>
8699 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008700 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8701for application-bound buffer data.<wbr/> If no
8702application-bound streams exist,<wbr/> no frame should be
8703placed in the output frame queue.<wbr/> If such streams
8704exist,<wbr/> a frame should be placed on the output queue
8705with null metadata but with the necessary output buffer
8706information.<wbr/> Timestamp information should still be
8707included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008708 </li>
8709 <li>
8710 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008711 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8712only be produced if they are separately
8713enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008714 </li>
8715 </ul>
8716
8717 </td> <!-- entry_type -->
8718
8719 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008720 <p>How much metadata to produce on
8721output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008722 </td>
8723
8724 <td class="entry_units">
8725 </td>
8726
8727 <td class="entry_range">
8728 </td>
8729
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008730 <td class="entry_tags">
8731 </td>
8732
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008733 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008734
8735
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008736 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8737 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008738
8739
8740 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008741 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008742 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008743 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008744 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008745 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008746 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008747
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008748 <span class="entry_type_array">
8749 n
8750 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008751 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008752
8753
8754 </td> <!-- entry_type -->
8755
8756 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008757 <p>Lists which camera output streams image data
8758from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008759 </td>
8760
8761 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008762 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008763 </td>
8764
8765 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008766 <p>List must only include streams that have been
8767created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008768 </td>
8769
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008770 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008771 <ul class="entry_tags">
8772 <li><a href="#tag_HAL2">HAL2</a></li>
8773 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008774 </td>
8775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008776 </tr>
8777 <tr class="entries_header">
8778 <th class="th_details" colspan="5">Details</th>
8779 </tr>
8780 <tr class="entry_cont">
8781 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008782 <p>If no output streams are listed,<wbr/> then the image
8783data should simply be discarded.<wbr/> The image data must
8784still be captured for metadata and statistics production,<wbr/>
8785and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008786 </td>
8787 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008788
8789
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008790 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8791 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008792
8793
8794 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008795 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008796 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008797 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008798 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008799 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008800
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008801 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008802
8803 <ul class="entry_type_enum">
8804 <li>
8805 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008806 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8807and process it according to the
8808settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008809 </li>
8810 <li>
8811 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008812 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8813android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8814source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8815needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008816 </li>
8817 </ul>
8818
8819 </td> <!-- entry_type -->
8820
8821 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008822 <p>The type of the request; either CAPTURE or
8823REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008824 </td>
8825
8826 <td class="entry_units">
8827 </td>
8828
8829 <td class="entry_range">
8830 </td>
8831
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008832 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008833 <ul class="entry_tags">
8834 <li><a href="#tag_HAL2">HAL2</a></li>
8835 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008836 </td>
8837
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008838 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008839
8840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008841 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8842 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008843
8844
8845
8846 <!-- end of kind -->
8847 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008848 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008849
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008850 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008851 <tr>
8852 <th class="th_name">Property Name</th>
8853 <th class="th_type">Type</th>
8854 <th class="th_description">Description</th>
8855 <th class="th_units">Units</th>
8856 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008857 <th class="th_tags">Tags</th>
8858 </tr>
8859 </thead>
8860
8861 <tbody>
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008874 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008875 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008876 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008877 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008878 <span class="entry_type_container">x</span>
8879
8880 <span class="entry_type_array">
8881 3
8882 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008883 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008884
8885
8886 </td> <!-- entry_type -->
8887
8888 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008889 <p>How many output streams can be allocated at
8890the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008891 </td>
8892
8893 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008894 The number of raw sensor streams; the number of
8895 processed,<wbr/> uncompressed streams; and the number of
8896 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008897 </td>
8898
8899 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008900 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008901for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008902 </td>
8903
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008904 <td class="entry_tags">
8905 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008906 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008907 </ul>
8908 </td>
8909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008910 </tr>
8911 <tr class="entries_header">
8912 <th class="th_details" colspan="5">Details</th>
8913 </tr>
8914 <tr class="entry_cont">
8915 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008916 <p>Video snapshot with preview callbacks requires 3
8917processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8918one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008919 </td>
8920 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008921
8922
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008923 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8924 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008925
8926
8927 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008928 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008929 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008930 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008931 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008932 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008933 <span class="entry_type_container">x</span>
8934
8935 <span class="entry_type_array">
8936 1
8937 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008938 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008939
8940
8941 </td> <!-- entry_type -->
8942
8943 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008944 <p>How many reprocessing streams of any type
8945can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008946 </td>
8947
8948 <td class="entry_units">
8949 </td>
8950
8951 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008952 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008953 </td>
8954
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008955 <td class="entry_tags">
8956 </td>
8957
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008958 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008959
8960
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008961 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8962 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008963
8964
8965
8966 <!-- end of kind -->
8967 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008968 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008969
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008970 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008971 <tr>
8972 <th class="th_name">Property Name</th>
8973 <th class="th_type">Type</th>
8974 <th class="th_description">Description</th>
8975 <th class="th_units">Units</th>
8976 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008977 <th class="th_tags">Tags</th>
8978 </tr>
8979 </thead>
8980
8981 <tbody>
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008993 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008994 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008995 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008996 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008997 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008998
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008999 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009000
9001
9002 </td> <!-- entry_type -->
9003
9004 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009005 <p>A frame counter set by the framework.<wbr/> This value monotonically
9006increases with every new result (that is,<wbr/> each new result has a unique
9007frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009008 </td>
9009
9010 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009011 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009012 </td>
9013
9014 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009015 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009016 </td>
9017
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009018 <td class="entry_tags">
9019 </td>
9020
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009021 </tr>
9022 <tr class="entries_header">
9023 <th class="th_details" colspan="5">Details</th>
9024 </tr>
9025 <tr class="entry_cont">
9026 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009027 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009028 </td>
9029 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009030
9031
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009032 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9033 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009034
9035
9036 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009037 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009038 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009039 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009040 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009041 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009042
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009043 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044
9045
9046 </td> <!-- entry_type -->
9047
9048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009049 <p>An application-specified ID for the current
9050request.<wbr/> Must be maintained unchanged in output
9051frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009052 </td>
9053
9054 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009055 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009056 </td>
9057
9058 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009059 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009060 </td>
9061
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009062 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009063 <ul class="entry_tags">
9064 <li><a href="#tag_V1">V1</a></li>
9065 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009066 </td>
9067
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009068 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009069
9070
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009071 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9072 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009073
9074
9075 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009076 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009077 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009078 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009079 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009080 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009081
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009082 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009083
9084 <ul class="entry_type_enum">
9085 <li>
9086 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009087 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9088for application-bound buffer data.<wbr/> If no
9089application-bound streams exist,<wbr/> no frame should be
9090placed in the output frame queue.<wbr/> If such streams
9091exist,<wbr/> a frame should be placed on the output queue
9092with null metadata but with the necessary output buffer
9093information.<wbr/> Timestamp information should still be
9094included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009095 </li>
9096 <li>
9097 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009098 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9099only be produced if they are separately
9100enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009101 </li>
9102 </ul>
9103
9104 </td> <!-- entry_type -->
9105
9106 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009107 <p>How much metadata to produce on
9108output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009109 </td>
9110
9111 <td class="entry_units">
9112 </td>
9113
9114 <td class="entry_range">
9115 </td>
9116
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009117 <td class="entry_tags">
9118 </td>
9119
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009120 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009121
9122
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009123 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9124 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009125
9126
9127 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009128 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009129 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009130 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009131 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009132 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009133 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009134
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009135 <span class="entry_type_array">
9136 n
9137 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009138 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009139
9140
9141 </td> <!-- entry_type -->
9142
9143 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009144 <p>Lists which camera output streams image data
9145from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009146 </td>
9147
9148 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009149 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009150 </td>
9151
9152 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009153 <p>List must only include streams that have been
9154created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009155 </td>
9156
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009157 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009158 <ul class="entry_tags">
9159 <li><a href="#tag_HAL2">HAL2</a></li>
9160 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009161 </td>
9162
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009163 </tr>
9164 <tr class="entries_header">
9165 <th class="th_details" colspan="5">Details</th>
9166 </tr>
9167 <tr class="entry_cont">
9168 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009169 <p>If no output streams are listed,<wbr/> then the image
9170data should simply be discarded.<wbr/> The image data must
9171still be captured for metadata and statistics production,<wbr/>
9172and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009173 </td>
9174 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009175
9176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009177 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9178 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009179
9180
9181
9182 <!-- end of kind -->
9183 </tbody>
9184
9185 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009186 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009187
9188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009189 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009190
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009191 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009192 <tr>
9193 <th class="th_name">Property Name</th>
9194 <th class="th_type">Type</th>
9195 <th class="th_description">Description</th>
9196 <th class="th_units">Units</th>
9197 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009198 <th class="th_tags">Tags</th>
9199 </tr>
9200 </thead>
9201
9202 <tbody>
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009214 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009215 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009216 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009217 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009218 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009219 <span class="entry_type_container">x</span>
9220
9221 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009222 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009223 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009224 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009225
9226
9227 </td> <!-- entry_type -->
9228
9229 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009230 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9231<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9232(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9233output.<wbr/> Each stream must use this rectangle to produce its
9234output,<wbr/> cropping to a smaller region if necessary to
9235maintain the stream's aspect ratio.<wbr/></p>
9236<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009237 </td>
9238
9239 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009240 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9241 in pixels; (0,<wbr/>0) is top-left corner of
9242 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009243 </td>
9244
9245 <td class="entry_range">
9246 </td>
9247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009248 <td class="entry_tags">
9249 <ul class="entry_tags">
9250 <li><a href="#tag_BC">BC</a></li>
9251 </ul>
9252 </td>
9253
9254 </tr>
9255 <tr class="entries_header">
9256 <th class="th_details" colspan="5">Details</th>
9257 </tr>
9258 <tr class="entry_cont">
9259 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009260 <p>Any additional per-stream cropping must be done to
9261maximize the final pixel area of the stream.<wbr/></p>
9262<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9263ratio,<wbr/> then 4:3 streams should use the exact crop
9264region.<wbr/> 16:9 streams should further crop vertically
9265(letterbox).<wbr/></p>
9266<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9267outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9268streams should match exactly.<wbr/> These additional crops must
9269be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009270<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009271times,<wbr/> no matter what the relative aspect ratios of the
9272crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009273corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009274larger than active pixel array.<wbr/> Width and height may be
9275rounded to nearest larger supportable width,<wbr/> especially
9276for raw output,<wbr/> where only a few fixed scales may be
9277possible.<wbr/> The width and height of the crop region cannot
9278be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9279android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9280activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9281respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009282 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009283 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009284
9285
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009286 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9287 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009288
9289
9290
9291 <!-- end of kind -->
9292 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009293 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009295 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009296 <tr>
9297 <th class="th_name">Property Name</th>
9298 <th class="th_type">Type</th>
9299 <th class="th_description">Description</th>
9300 <th class="th_units">Units</th>
9301 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009302 <th class="th_tags">Tags</th>
9303 </tr>
9304 </thead>
9305
9306 <tbody>
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009318 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009319 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009320 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009321 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009322 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009323 <span class="entry_type_container">x</span>
9324
9325 <span class="entry_type_array">
9326 n
9327 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009328 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009329
9330 <ul class="entry_type_enum">
9331 <li>
9332 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009333 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009334 <span class="entry_type_enum_value">0x20</span>
9335 </li>
9336 <li>
9337 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009338 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009339 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009340 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009341 </li>
9342 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009343 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009344 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009345 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009346 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009347 </li>
9348 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009349 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9350 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009351 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009352 </li>
9353 <li>
9354 <span class="entry_type_enum_name">YCbCr_420_888</span>
9355 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009356 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009357 </li>
9358 <li>
9359 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009360 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009361 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009362 </li>
9363 </ul>
9364
9365 </td> <!-- entry_type -->
9366
9367 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009368 <p>The list of image formats that are supported by this
9369camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009370 </td>
9371
9372 <td class="entry_units">
9373 </td>
9374
9375 <td class="entry_range">
9376 </td>
9377
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009378 <td class="entry_tags">
9379 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009380 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009381 </ul>
9382 </td>
9383
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009384 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009385 <tr class="entries_header">
9386 <th class="th_details" colspan="5">Details</th>
9387 </tr>
9388 <tr class="entry_cont">
9389 <td class="entry_details" colspan="5">
9390 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9391<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9392 </td>
9393 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009394
Zhijun Heb8317e22014-01-16 09:47:07 -08009395 <tr class="entries_header">
9396 <th class="th_details" colspan="5">HAL Implementation Details</th>
9397 </tr>
9398 <tr class="entry_cont">
9399 <td class="entry_details" colspan="5">
9400 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9401system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9402<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9403gralloc module will select a format based on the usage flags provided
9404by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9405usually used by preview and recording streams,<wbr/> where the application doesn't
9406need access the image data.<wbr/></p>
9407<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9408needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9409<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9410 </td>
9411 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009415
9416
9417 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009418 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009419 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009422 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009423 <span class="entry_type_container">x</span>
9424
9425 <span class="entry_type_array">
9426 n
9427 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009428 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009429
9430
9431 </td> <!-- entry_type -->
9432
9433 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009434 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009435for 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 -08009436 </td>
9437
9438 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009439 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009440 </td>
9441
9442 <td class="entry_range">
9443 </td>
9444
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009445 <td class="entry_tags">
9446 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009447 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009448 </ul>
9449 </td>
9450
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009451 </tr>
9452 <tr class="entries_header">
9453 <th class="th_details" colspan="5">Details</th>
9454 </tr>
9455 <tr class="entry_cont">
9456 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009457 <p>This corresponds to the minimum steady-state frame duration when only
9458that JPEG stream is active and captured in a burst,<wbr/> with all
9459processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9460<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009461frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009462durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009463 </td>
9464 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009465
9466
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009467 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9468 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009469
9470
9471 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009472 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009473 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009474 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009475 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009476 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009477 <span class="entry_type_container">x</span>
9478
9479 <span class="entry_type_array">
9480 n x 2
9481 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009482 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009483
9484
9485 </td> <!-- entry_type -->
9486
9487 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009488 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009489 </td>
9490
9491 <td class="entry_units">
9492 </td>
9493
9494 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009495 </td>
9496
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009497 <td class="entry_tags">
9498 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009499 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009500 </ul>
9501 </td>
9502
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009503 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009504 <tr class="entries_header">
9505 <th class="th_details" colspan="5">Details</th>
9506 </tr>
9507 <tr class="entry_cont">
9508 <td class="entry_details" colspan="5">
9509 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9510sensor 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>
9511 </td>
9512 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009513
Zhijun Heb8317e22014-01-16 09:47:07 -08009514 <tr class="entries_header">
9515 <th class="th_details" colspan="5">HAL Implementation Details</th>
9516 </tr>
9517 <tr class="entry_cont">
9518 <td class="entry_details" colspan="5">
9519 <p>The HAL must include sensor maximum resolution
9520(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9521and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9522 </td>
9523 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009527
9528
9529 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009530 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009531 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009532 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009533 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009534 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009535
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009536 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009537
9538
9539 </td> <!-- entry_type -->
9540
9541 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009542 <p>The maximum ratio between active area width
9543and crop region width,<wbr/> or between active area height and
9544crop region height,<wbr/> if the crop region height is larger
9545than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009546 </td>
9547
9548 <td class="entry_units">
9549 </td>
9550
9551 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009552 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009553 </td>
9554
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009556 <ul class="entry_tags">
9557 <li><a href="#tag_BC">BC</a></li>
9558 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009559 </td>
9560
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009561 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009562
9563
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009564 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9565 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009566
9567
9568 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009569 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009570 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009571 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009572 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009573 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009574 <span class="entry_type_container">x</span>
9575
9576 <span class="entry_type_array">
9577 n
9578 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009579 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009580
9581
9582 </td> <!-- entry_type -->
9583
9584 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009585 <p>For each available processed output size (defined in
9586<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9587minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009588 </td>
9589
9590 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009591 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009592 </td>
9593
9594 <td class="entry_range">
9595 </td>
9596
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009597 <td class="entry_tags">
9598 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009599 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009600 </ul>
9601 </td>
9602
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009603 </tr>
9604 <tr class="entries_header">
9605 <th class="th_details" colspan="5">Details</th>
9606 </tr>
9607 <tr class="entry_cont">
9608 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009609 <p>This should correspond to the frame duration when only that processed
9610stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9611set to FAST.<wbr/></p>
9612<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9613be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009614 </td>
9615 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009616
9617
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009618 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9619 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009620
9621
9622 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009623 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009624 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009625 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009626 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009627 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009628 <span class="entry_type_container">x</span>
9629
9630 <span class="entry_type_array">
9631 n x 2
9632 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009633 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009634
9635
9636 </td> <!-- entry_type -->
9637
9638 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009639 <p>The resolutions available for use with
9640processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9641platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009642encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009643 </td>
9644
9645 <td class="entry_units">
9646 </td>
9647
9648 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009649 </td>
9650
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009651 <td class="entry_tags">
9652 <ul class="entry_tags">
9653 <li><a href="#tag_BC">BC</a></li>
9654 </ul>
9655 </td>
9656
9657 </tr>
9658 <tr class="entries_header">
9659 <th class="th_details" colspan="5">Details</th>
9660 </tr>
9661 <tr class="entry_cont">
9662 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009663 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9664<p>For a given use case,<wbr/> the actual maximum supported resolution
9665may be lower than what is listed here,<wbr/> depending on the destination
9666Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9667the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9668smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9669can provide.<wbr/></p>
9670<p>Please reference the documentation for the image data destination to
9671check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009672 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009673 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009674
Zhijun Heb8317e22014-01-16 09:47:07 -08009675 <tr class="entries_header">
9676 <th class="th_details" colspan="5">HAL Implementation Details</th>
9677 </tr>
9678 <tr class="entry_cont">
9679 <td class="entry_details" colspan="5">
9680 <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/>
9681the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9682and each below resolution if it is smaller than or equal to the sensor
9683maximum resolution (if they are not listed in JPEG sizes already):</p>
9684<ul>
9685<li>240p (320 x 240)</li>
9686<li>480p (640 x 480)</li>
9687<li>720p (1280 x 720)</li>
9688<li>1080p (1920 x 1080)</li>
9689</ul>
9690<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/>
9691the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9692 </td>
9693 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009694
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009695 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9696 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009697
9698
9699 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009700 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009701 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009702 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009703 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009704 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009705 <span class="entry_type_container">x</span>
9706
9707 <span class="entry_type_array">
9708 n
9709 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009710 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009711
9712
9713 </td> <!-- entry_type -->
9714
9715 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009716 <p>For each available processed output size (defined in
9717<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9718supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009719 </td>
9720
9721 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009722 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009723 </td>
9724
9725 <td class="entry_range">
9726 </td>
9727
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009728 <td class="entry_tags">
9729 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009730 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009731 </ul>
9732 </td>
9733
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009734 </tr>
9735 <tr class="entries_header">
9736 <th class="th_details" colspan="5">Details</th>
9737 </tr>
9738 <tr class="entry_cont">
9739 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009740 <p>Should correspond to the frame duration when only the raw stream is
9741active.<wbr/></p>
9742<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009743frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009744durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009745 </td>
9746 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009747
9748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009749 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9750 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009751
9752
9753 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009754 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009755 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009756 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009758 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009759 <span class="entry_type_container">x</span>
9760
9761 <span class="entry_type_array">
9762 n x 2
9763 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009764 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009765
9766
9767 </td> <!-- entry_type -->
9768
9769 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009770 <p>The resolutions available for use with raw
9771sensor output streams,<wbr/> listed as width,<wbr/>
9772height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009773 </td>
9774
9775 <td class="entry_units">
9776 </td>
9777
9778 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009779 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009780 </td>
9781
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009782 <td class="entry_tags">
9783 </td>
9784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009785 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009786
9787
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009788 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9789 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009790
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009791
9792
9793 <!-- end of kind -->
9794 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009795 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009796
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009797 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009798 <tr>
9799 <th class="th_name">Property Name</th>
9800 <th class="th_type">Type</th>
9801 <th class="th_description">Description</th>
9802 <th class="th_units">Units</th>
9803 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009804 <th class="th_tags">Tags</th>
9805 </tr>
9806 </thead>
9807
9808 <tbody>
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009820 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009821 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009822 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009823 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009824 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009825 <span class="entry_type_container">x</span>
9826
9827 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009828 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009829 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009830 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009831
9832
9833 </td> <!-- entry_type -->
9834
9835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009836 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9837<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9838(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9839output.<wbr/> Each stream must use this rectangle to produce its
9840output,<wbr/> cropping to a smaller region if necessary to
9841maintain the stream's aspect ratio.<wbr/></p>
9842<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009843 </td>
9844
9845 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009846 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9847 in pixels; (0,<wbr/>0) is top-left corner of
9848 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009849 </td>
9850
9851 <td class="entry_range">
9852 </td>
9853
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009854 <td class="entry_tags">
9855 <ul class="entry_tags">
9856 <li><a href="#tag_BC">BC</a></li>
9857 </ul>
9858 </td>
9859
9860 </tr>
9861 <tr class="entries_header">
9862 <th class="th_details" colspan="5">Details</th>
9863 </tr>
9864 <tr class="entry_cont">
9865 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009866 <p>Any additional per-stream cropping must be done to
9867maximize the final pixel area of the stream.<wbr/></p>
9868<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9869ratio,<wbr/> then 4:3 streams should use the exact crop
9870region.<wbr/> 16:9 streams should further crop vertically
9871(letterbox).<wbr/></p>
9872<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9873outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9874streams should match exactly.<wbr/> These additional crops must
9875be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009876<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009877times,<wbr/> no matter what the relative aspect ratios of the
9878crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009879corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009880larger than active pixel array.<wbr/> Width and height may be
9881rounded to nearest larger supportable width,<wbr/> especially
9882for raw output,<wbr/> where only a few fixed scales may be
9883possible.<wbr/> The width and height of the crop region cannot
9884be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9885android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9886activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9887respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009888 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009889 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009890
9891
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009892 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9893 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009894
9895
9896
9897 <!-- end of kind -->
9898 </tbody>
9899
9900 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009901 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009902
9903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009904 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009905
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009906 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009907 <tr>
9908 <th class="th_name">Property Name</th>
9909 <th class="th_type">Type</th>
9910 <th class="th_description">Description</th>
9911 <th class="th_units">Units</th>
9912 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009913 <th class="th_tags">Tags</th>
9914 </tr>
9915 </thead>
9916
9917 <tbody>
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009929 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009930 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009931 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009932 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009933 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009935 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009936
9937
9938 </td> <!-- entry_type -->
9939
9940 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009941 <p>Duration each pixel is exposed to
9942light.<wbr/></p>
9943<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
9944duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009945 </td>
9946
9947 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009948 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009949 </td>
9950
9951 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009952 <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 -08009953 </td>
9954
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009955 <td class="entry_tags">
9956 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009957 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009958 </ul>
9959 </td>
9960
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009961 </tr>
9962 <tr class="entries_header">
9963 <th class="th_details" colspan="5">Details</th>
9964 </tr>
9965 <tr class="entry_cont">
9966 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009967 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009968 </td>
9969 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009970
9971
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009972 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9973 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009974
9975
9976 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009977 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009978 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009979 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009981 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009982
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009983 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009984
9985
9986 </td> <!-- entry_type -->
9987
9988 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009989 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009990start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009991 </td>
9992
9993 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009994 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009995 </td>
9996
9997 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009998 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
9999android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10000is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010001 </td>
10002
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010003 <td class="entry_tags">
10004 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010005 <li><a href="#tag_V1">V1</a></li>
10006 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010007 </ul>
10008 </td>
10009
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010010 </tr>
10011 <tr class="entries_header">
10012 <th class="th_details" colspan="5">Details</th>
10013 </tr>
10014 <tr class="entry_cont">
10015 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010016 <p>The maximum frame rate that can be supported by a camera subsystem is
10017a function of many factors:</p>
10018<ul>
10019<li>Requested resolutions of output image streams</li>
10020<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10021<li>The bandwidth of the imager interface</li>
10022<li>The bandwidth of the various ISP processing blocks</li>
10023</ul>
10024<p>Since these factors can vary greatly between different ISPs and
10025sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10026restrictions with as simple a model as possible.<wbr/></p>
10027<p>The model presented has the following characteristics:</p>
10028<ul>
10029<li>The image sensor is always configured to output the smallest
10030resolution possible given the application's requested output stream
10031sizes.<wbr/> The smallest resolution is defined as being at least as large
10032as the largest requested output stream size; the camera pipeline must
10033never digitally upsample sensor data when the crop region covers the
10034whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10035resolutions are configured,<wbr/> the sensor can provide a higher frame
10036rate.<wbr/></li>
10037<li>Since any request may use any or all the currently configured
10038output streams,<wbr/> the sensor and ISP must be configured to support
10039scaling a single capture to all the streams at the same time.<wbr/> This
10040means the camera pipeline must be ready to produce the largest
10041requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10042frame rate of a given configured stream set is governed only by the
10043largest requested stream resolution.<wbr/></li>
10044<li>Using more than one output stream in a request does not affect the
10045frame duration.<wbr/></li>
10046<li>JPEG streams act like processed YUV streams in requests for which
10047they are not included; in requests in which they are directly
10048referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10049JPEG stream requires the underlying YUV data to always be ready for
10050use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10051frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10052<li>The JPEG processor can run concurrently to the rest of the camera
10053pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10054</ul>
10055<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10056is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10057These are used to determine the maximum frame rate /<wbr/> minimum frame
10058duration that is possible for a given stream configuration.<wbr/></p>
10059<p>Specifically,<wbr/> the application can use the following rules to
10060determine the minimum frame duration it can request from the HAL
10061device:</p>
10062<ol>
10063<li>Given the application's currently configured set of output
10064streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10065<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10066<code>SP</code>.<wbr/></li>
10067<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10068count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10069<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10070<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
10071no exact match for <code>RP == RJ</code> (in particular there isn't an available
10072processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10073to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10074there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10075the processed resolution closest to <code>RJ</code>.<wbr/></li>
10076<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
10077no exact match for <code>RR == RP</code> (in particular there isn't an available
10078raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10079or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10080there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10081the raw resolution closest to <code>RP</code>.<wbr/></li>
10082<li>Look up the matching minimum frame durations in the property lists
10083<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10084<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10085<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10086minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10087<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10088supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10089<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10090supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10091<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10092the application,<wbr/> then the HAL will have to delay JPEG-using requests
10093whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10094This will happen whenever a JPEG-using request starts capture less
10095than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10096supported frame duration will vary between the values calculated in
10097#6 and #7.<wbr/></li>
10098</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010099 </td>
10100 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010101
10102
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010103 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10104 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010105
10106
10107 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010108 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010109 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010110 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010112 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010113
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010114 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010115
10116
10117 </td> <!-- entry_type -->
10118
10119 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010120 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010121implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010122below 'maximum analog sensitivity'.<wbr/></p>
10123<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10124gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010125 </td>
10126
10127 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010128 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010129 </td>
10130
10131 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010132 <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 -080010133 </td>
10134
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010135 <td class="entry_tags">
10136 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010137 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010138 </ul>
10139 </td>
10140
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010141 </tr>
10142 <tr class="entries_header">
10143 <th class="th_details" colspan="5">Details</th>
10144 </tr>
10145 <tr class="entry_cont">
10146 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010147 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010148 </td>
10149 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010150
10151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010152 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10153 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010154
10155
10156
10157 <!-- end of kind -->
10158 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010159 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010160
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010161 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010162 <tr>
10163 <th class="th_name">Property Name</th>
10164 <th class="th_type">Type</th>
10165 <th class="th_description">Description</th>
10166 <th class="th_units">Units</th>
10167 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010168 <th class="th_tags">Tags</th>
10169 </tr>
10170 </thead>
10171
10172 <tbody>
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010186 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010187 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010188 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010189 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010190 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010191 <span class="entry_type_container">x</span>
10192
10193 <span class="entry_type_array">
10194 4
10195 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010196 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010197 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010198
10199
10200 </td> <!-- entry_type -->
10201
10202 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010203 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010204active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010205pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010206 </td>
10207
10208 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010209 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10210 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010211 </td>
10212
10213 <td class="entry_range">
10214 </td>
10215
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010216 <td class="entry_tags">
10217 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010218 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010219 </ul>
10220 </td>
10221
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010222 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010223
10224
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010225 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10226 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010227
10228
Zhijun He69fc0ea2013-07-17 09:42:58 -070010229 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010230 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010231 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010232 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010233 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010234 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010235 <span class="entry_type_container">x</span>
10236
10237 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010238 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010239 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010240 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010241 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010242
10243
10244 </td> <!-- entry_type -->
10245
10246 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010247 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010248 </td>
10249
10250 <td class="entry_units">
10251 </td>
10252
10253 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010254 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010255 </td>
10256
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010257 <td class="entry_tags">
10258 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010259 <li><a href="#tag_BC">BC</a></li>
10260 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010261 </ul>
10262 </td>
10263
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010264 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010265
10266
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010267 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10268 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010269
10270
10271 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010272 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010273 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010274 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010275 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010276 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010277
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010278 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010279
10280 <ul class="entry_type_enum">
10281 <li>
10282 <span class="entry_type_enum_name">RGGB</span>
10283 </li>
10284 <li>
10285 <span class="entry_type_enum_name">GRBG</span>
10286 </li>
10287 <li>
10288 <span class="entry_type_enum_name">GBRG</span>
10289 </li>
10290 <li>
10291 <span class="entry_type_enum_name">BGGR</span>
10292 </li>
10293 <li>
10294 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010295 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10296values for each pixel,<wbr/> instead of just 1 16-bit value
10297per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010298 </li>
10299 </ul>
10300
10301 </td> <!-- entry_type -->
10302
10303 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010304 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010305represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010306the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010307 </td>
10308
10309 <td class="entry_units">
10310 </td>
10311
10312 <td class="entry_range">
10313 </td>
10314
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010315 <td class="entry_tags">
10316 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010317 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010318 </ul>
10319 </td>
10320
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010321 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010322
10323
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010324 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10325 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010326
10327
10328 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010329 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010330 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010331 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010332 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010333 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010334 <span class="entry_type_container">x</span>
10335
10336 <span class="entry_type_array">
10337 2
10338 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010339 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010340 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010341
10342
10343 </td> <!-- entry_type -->
10344
10345 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010346 <p>Range of valid exposure
10347times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010348 </td>
10349
10350 <td class="entry_units">
10351 </td>
10352
10353 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010354 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10355sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010356 </td>
10357
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010358 <td class="entry_tags">
10359 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010360 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010361 </ul>
10362 </td>
10363
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010364 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010365
10366
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010367 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10368 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010369
10370
10371 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010372 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010373 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010374 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010375 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010376 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010377
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010378 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010379
10380
10381 </td> <!-- entry_type -->
10382
10383 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010384 <p>Maximum possible frame duration (minimum frame
10385rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010386 </td>
10387
10388 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010389 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010390 </td>
10391
10392 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010393 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010394 </td>
10395
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010396 <td class="entry_tags">
10397 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010398 <li><a href="#tag_BC">BC</a></li>
10399 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010400 </ul>
10401 </td>
10402
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010403 </tr>
10404 <tr class="entries_header">
10405 <th class="th_details" colspan="5">Details</th>
10406 </tr>
10407 <tr class="entry_cont">
10408 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010409 <p>Minimum duration is a function of resolution,<wbr/>
10410processing settings.<wbr/> See
10411android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10412android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010413<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 -080010414 </td>
10415 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010416
10417
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010418 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10419 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010420
10421
10422 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010423 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010424 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010425 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010426 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010427 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010428 <span class="entry_type_container">x</span>
10429
10430 <span class="entry_type_array">
10431 2
10432 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010433 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010434 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010435
10436
10437 </td> <!-- entry_type -->
10438
10439 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010440 <p>The physical dimensions of the full pixel
10441array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010442 </td>
10443
10444 <td class="entry_units">
10445 </td>
10446
10447 <td class="entry_range">
10448 </td>
10449
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010450 <td class="entry_tags">
10451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010452 <li><a href="#tag_V1">V1</a></li>
10453 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010454 </ul>
10455 </td>
10456
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010457 </tr>
10458 <tr class="entries_header">
10459 <th class="th_details" colspan="5">Details</th>
10460 </tr>
10461 <tr class="entry_cont">
10462 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010463 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010464 </td>
10465 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010466
10467
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010468 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10469 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010470
10471
10472 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010473 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010474 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010475 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010476 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010477 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010478 <span class="entry_type_container">x</span>
10479
10480 <span class="entry_type_array">
10481 2
10482 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010483 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010484
10485
10486 </td> <!-- entry_type -->
10487
10488 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010489 <p>Dimensions of full pixel array,<wbr/> possibly
10490including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010491 </td>
10492
10493 <td class="entry_units">
10494 </td>
10495
10496 <td class="entry_range">
10497 </td>
10498
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010499 <td class="entry_tags">
10500 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010501 <li><a href="#tag_DNG">DNG</a></li>
10502 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010503 </ul>
10504 </td>
10505
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010506 </tr>
10507 <tr class="entries_header">
10508 <th class="th_details" colspan="5">Details</th>
10509 </tr>
10510 <tr class="entry_cont">
10511 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010512 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010513match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010514android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010515 </td>
10516 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010517
10518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010519 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10520 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010521
10522
10523 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010524 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010525 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010526 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010527 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010528 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010529
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010530 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010531
10532
10533 </td> <!-- entry_type -->
10534
10535 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010536 <p>Maximum raw value output by
10537sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010538 </td>
10539
10540 <td class="entry_units">
10541 </td>
10542
10543 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010544 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010545 </td>
10546
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010547 <td class="entry_tags">
10548 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010549 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010550 </ul>
10551 </td>
10552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010553 </tr>
10554 <tr class="entries_header">
10555 <th class="th_details" colspan="5">Details</th>
10556 </tr>
10557 <tr class="entry_cont">
10558 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010559 <p>Defines sensor bit depth (10-14 bits is
10560expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010561 </td>
10562 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010563
10564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010565 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10566 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010567
10568
10569
10570
10571
10572 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010573 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010574 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010575 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010576 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010577 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010578
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010579 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010580
10581
10582 </td> <!-- entry_type -->
10583
10584 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010585 <p>Gain factor from electrons to raw units when
10586ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010587 </td>
10588
10589 <td class="entry_units">
10590 </td>
10591
10592 <td class="entry_range">
10593 </td>
10594
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010595 <td class="entry_tags">
10596 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010597 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010598 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010599 </ul>
10600 </td>
10601
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010602 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010603
10604
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010605 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10606 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010607
10608
10609 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010610 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010611 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010612 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010613 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010614 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010615 <span class="entry_type_container">x</span>
10616
10617 <span class="entry_type_array">
10618 4
10619 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010620 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010621 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010622
10623
10624 </td> <!-- entry_type -->
10625
10626 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010627 <p>A fixed black level offset for each of the
10628Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010629 </td>
10630
10631 <td class="entry_units">
10632 </td>
10633
10634 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010635 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010636 </td>
10637
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010638 <td class="entry_tags">
10639 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010640 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010641 </ul>
10642 </td>
10643
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010644 </tr>
10645 <tr class="entries_header">
10646 <th class="th_details" colspan="5">Details</th>
10647 </tr>
10648 <tr class="entry_cont">
10649 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010650 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10651tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010652 </td>
10653 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010654
10655
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010656 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10657 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010658
10659
10660 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010661 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010662 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010663 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010664 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010665 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010666 <span class="entry_type_container">x</span>
10667
10668 <span class="entry_type_array">
10669 9
10670 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010671 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010672 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010673
10674
10675 </td> <!-- entry_type -->
10676
10677 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010678 <p>Per-device calibration on top of color space
10679transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010680 </td>
10681
10682 <td class="entry_units">
10683 </td>
10684
10685 <td class="entry_range">
10686 </td>
10687
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010688 <td class="entry_tags">
10689 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010690 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010691 </ul>
10692 </td>
10693
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010694 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010695
10696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010697 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10698 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010699
10700
10701 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010702 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010703 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010704 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010705 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010706 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010707 <span class="entry_type_container">x</span>
10708
10709 <span class="entry_type_array">
10710 9
10711 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010712 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010713 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010714
10715
10716 </td> <!-- entry_type -->
10717
10718 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010719 <p>Per-device calibration on top of color space
10720transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010721 </td>
10722
10723 <td class="entry_units">
10724 </td>
10725
10726 <td class="entry_range">
10727 </td>
10728
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010729 <td class="entry_tags">
10730 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010731 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010732 </ul>
10733 </td>
10734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010735 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010736
10737
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010738 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10739 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010740
10741
10742 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010743 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010744 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010745 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010746 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010747 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010748 <span class="entry_type_container">x</span>
10749
10750 <span class="entry_type_array">
10751 9
10752 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010753 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010754 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010755
10756
10757 </td> <!-- entry_type -->
10758
10759 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010760 <p>Linear mapping from XYZ (D50) color space to
10761reference linear sensor color,<wbr/> for first reference
10762illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010763 </td>
10764
10765 <td class="entry_units">
10766 </td>
10767
10768 <td class="entry_range">
10769 </td>
10770
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010771 <td class="entry_tags">
10772 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010773 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010774 </ul>
10775 </td>
10776
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010777 </tr>
10778 <tr class="entries_header">
10779 <th class="th_details" colspan="5">Details</th>
10780 </tr>
10781 <tr class="entry_cont">
10782 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010783 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10784black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10785At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010786 </td>
10787 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010788
10789
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010790 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10791 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010792
10793
10794 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010795 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010796 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010797 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010798 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010799 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010800 <span class="entry_type_container">x</span>
10801
10802 <span class="entry_type_array">
10803 9
10804 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010805 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010806 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010807
10808
10809 </td> <!-- entry_type -->
10810
10811 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010812 <p>Linear mapping from XYZ (D50) color space to
10813reference linear sensor color,<wbr/> for second reference
10814illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010815 </td>
10816
10817 <td class="entry_units">
10818 </td>
10819
10820 <td class="entry_range">
10821 </td>
10822
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010823 <td class="entry_tags">
10824 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010825 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010826 </ul>
10827 </td>
10828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010829 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010830
10831
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010832 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10833 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010834
10835
10836 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010837 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010838 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010839 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010840 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010841 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010842 <span class="entry_type_container">x</span>
10843
10844 <span class="entry_type_array">
10845 9
10846 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010847 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010848 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010849
10850
10851 </td> <!-- entry_type -->
10852
10853 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010854 <p>Used by DNG for better WB
10855adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010856 </td>
10857
10858 <td class="entry_units">
10859 </td>
10860
10861 <td class="entry_range">
10862 </td>
10863
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010864 <td class="entry_tags">
10865 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010866 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010867 </ul>
10868 </td>
10869
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010870 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010871
10872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010873 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10874 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010875
10876
10877 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010878 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010879 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010880 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010881 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010882 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010883 <span class="entry_type_container">x</span>
10884
10885 <span class="entry_type_array">
10886 9
10887 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010888 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010889 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010890
10891
10892 </td> <!-- entry_type -->
10893
10894 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010895 <p>Used by DNG for better WB
10896adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010897 </td>
10898
10899 <td class="entry_units">
10900 </td>
10901
10902 <td class="entry_range">
10903 </td>
10904
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010905 <td class="entry_tags">
10906 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010907 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010908 </ul>
10909 </td>
10910
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010911 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010912
10913
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010914 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10915 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010916
10917
10918 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010919 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010920 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010921 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010922 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010923 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010924
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010925 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010926
10927
10928 </td> <!-- entry_type -->
10929
10930 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010931 <p>Maximum sensitivity that is implemented
10932purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010933 </td>
10934
10935 <td class="entry_units">
10936 </td>
10937
10938 <td class="entry_range">
10939 </td>
10940
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010941 <td class="entry_tags">
10942 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010943 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010944 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010945 </ul>
10946 </td>
10947
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010948 </tr>
10949 <tr class="entries_header">
10950 <th class="th_details" colspan="5">Details</th>
10951 </tr>
10952 <tr class="entry_cont">
10953 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010954 <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 -080010955equal to this,<wbr/> all applied gain must be analog.<wbr/> For
10956values above this,<wbr/> it can be a mix of analog and
10957digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010958 </td>
10959 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010960
10961
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010962 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10963 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010964
10965
10966 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010967 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010968 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010969 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010970 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010971 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010972 <span class="entry_type_container">x</span>
10973
10974 <span class="entry_type_array">
10975 2
10976 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010977 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010978 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010979
10980
10981 </td> <!-- entry_type -->
10982
10983 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010984 <p>Estimation of sensor noise
10985characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010986 </td>
10987
10988 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010989 var(raw pixel value) = electrons * (baseGainFactor
10990 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
10991 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010992 </td>
10993
10994 <td class="entry_range">
10995 </td>
10996
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010997 <td class="entry_tags">
10998 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010999 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011000 </ul>
11001 </td>
11002
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011003 </tr>
11004 <tr class="entries_header">
11005 <th class="th_details" colspan="5">Details</th>
11006 </tr>
11007 <tr class="entry_cont">
11008 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011009 <p>A represents sensor read noise before analog
11010amplification; B represents noise from A/<wbr/>D conversion and
11011other circuits after amplification.<wbr/> Both noise sources
11012are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11013across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011014 </td>
11015 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011016
11017
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011018 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11019 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011020
11021
11022 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011023 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011024 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011025 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011026 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011027 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011028
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011029 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011030
11031
11032 </td> <!-- entry_type -->
11033
11034 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011035 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011036image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011037screen in its native orientation.<wbr/> Also defines the
11038direction of rolling shutter readout,<wbr/> which is from top
11039to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011040 </td>
11041
11042 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011043 degrees clockwise rotation,<wbr/> only multiples of
11044 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011045 </td>
11046
11047 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011048 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011049 </td>
11050
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011051 <td class="entry_tags">
11052 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011053 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011054 </ul>
11055 </td>
11056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011057 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011058
11059
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011060 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11061 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011062
11063
11064 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011065 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011066 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011067 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011068 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011069 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011070
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011071 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011072
11073 <ul class="entry_type_enum">
11074 <li>
11075 <span class="entry_type_enum_name">DAYLIGHT</span>
11076 <span class="entry_type_enum_value">1</span>
11077 </li>
11078 <li>
11079 <span class="entry_type_enum_name">FLUORESCENT</span>
11080 <span class="entry_type_enum_value">2</span>
11081 </li>
11082 <li>
11083 <span class="entry_type_enum_name">TUNGSTEN</span>
11084 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011085 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011086 </li>
11087 <li>
11088 <span class="entry_type_enum_name">FLASH</span>
11089 <span class="entry_type_enum_value">4</span>
11090 </li>
11091 <li>
11092 <span class="entry_type_enum_name">FINE_WEATHER</span>
11093 <span class="entry_type_enum_value">9</span>
11094 </li>
11095 <li>
11096 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11097 <span class="entry_type_enum_value">10</span>
11098 </li>
11099 <li>
11100 <span class="entry_type_enum_name">SHADE</span>
11101 <span class="entry_type_enum_value">11</span>
11102 </li>
11103 <li>
11104 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11105 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011106 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011107 </li>
11108 <li>
11109 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11110 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011111 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011112 </li>
11113 <li>
11114 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11115 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011116 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011117 </li>
11118 <li>
11119 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11120 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011121 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011122 </li>
11123 <li>
11124 <span class="entry_type_enum_name">STANDARD_A</span>
11125 <span class="entry_type_enum_value">17</span>
11126 </li>
11127 <li>
11128 <span class="entry_type_enum_name">STANDARD_B</span>
11129 <span class="entry_type_enum_value">18</span>
11130 </li>
11131 <li>
11132 <span class="entry_type_enum_name">STANDARD_C</span>
11133 <span class="entry_type_enum_value">19</span>
11134 </li>
11135 <li>
11136 <span class="entry_type_enum_name">D55</span>
11137 <span class="entry_type_enum_value">20</span>
11138 </li>
11139 <li>
11140 <span class="entry_type_enum_name">D65</span>
11141 <span class="entry_type_enum_value">21</span>
11142 </li>
11143 <li>
11144 <span class="entry_type_enum_name">D75</span>
11145 <span class="entry_type_enum_value">22</span>
11146 </li>
11147 <li>
11148 <span class="entry_type_enum_name">D50</span>
11149 <span class="entry_type_enum_value">23</span>
11150 </li>
11151 <li>
11152 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11153 <span class="entry_type_enum_value">24</span>
11154 </li>
11155 </ul>
11156
11157 </td> <!-- entry_type -->
11158
11159 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011160 <p>Light source used to define transform
111611</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011162 </td>
11163
11164 <td class="entry_units">
11165 </td>
11166
11167 <td class="entry_range">
11168 </td>
11169
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011170 <td class="entry_tags">
11171 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011172 <li><a href="#tag_DNG">DNG</a></li>
11173 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011174 </ul>
11175 </td>
11176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011177 </tr>
11178 <tr class="entries_header">
11179 <th class="th_details" colspan="5">Details</th>
11180 </tr>
11181 <tr class="entry_cont">
11182 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011183 <p>[EXIF LightSource tag] Must all these be
11184supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011185 </td>
11186 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011187
11188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011189 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11190 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011191
11192
11193 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011194 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011195 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011196 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011197 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011198 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011199
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011200 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011201
11202
11203 </td> <!-- entry_type -->
11204
11205 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011206 <p>Light source used to define transform
112072</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011208 </td>
11209
11210 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011211 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011212 </td>
11213
11214 <td class="entry_range">
11215 </td>
11216
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011217 <td class="entry_tags">
11218 </td>
11219
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011220 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011221
11222
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011223 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11224 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011225
11226
11227
11228 <!-- end of kind -->
11229 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011230 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011231
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011232 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011233 <tr>
11234 <th class="th_name">Property Name</th>
11235 <th class="th_type">Type</th>
11236 <th class="th_description">Description</th>
11237 <th class="th_units">Units</th>
11238 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011239 <th class="th_tags">Tags</th>
11240 </tr>
11241 </thead>
11242
11243 <tbody>
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011255 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011256 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011257 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011258 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011259 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011260
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011261 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011262
11263
11264 </td> <!-- entry_type -->
11265
11266 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011267 <p>Duration each pixel is exposed to
11268light.<wbr/></p>
11269<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11270duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011271 </td>
11272
11273 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011274 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011275 </td>
11276
11277 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011278 <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 -080011279 </td>
11280
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011281 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011282 <ul class="entry_tags">
11283 <li><a href="#tag_V1">V1</a></li>
11284 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011285 </td>
11286
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011287 </tr>
11288 <tr class="entries_header">
11289 <th class="th_details" colspan="5">Details</th>
11290 </tr>
11291 <tr class="entry_cont">
11292 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011293 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011294 </td>
11295 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011296
11297
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011298 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11299 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011300
11301
11302 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011303 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011304 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011305 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011306 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011307 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011308
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011309 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011310
11311
11312 </td> <!-- entry_type -->
11313
11314 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011315 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011316start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011317 </td>
11318
11319 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011320 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011321 </td>
11322
11323 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011324 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11325android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11326is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011327 </td>
11328
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011329 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011330 <ul class="entry_tags">
11331 <li><a href="#tag_V1">V1</a></li>
11332 <li><a href="#tag_BC">BC</a></li>
11333 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011334 </td>
11335
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011336 </tr>
11337 <tr class="entries_header">
11338 <th class="th_details" colspan="5">Details</th>
11339 </tr>
11340 <tr class="entry_cont">
11341 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011342 <p>The maximum frame rate that can be supported by a camera subsystem is
11343a function of many factors:</p>
11344<ul>
11345<li>Requested resolutions of output image streams</li>
11346<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11347<li>The bandwidth of the imager interface</li>
11348<li>The bandwidth of the various ISP processing blocks</li>
11349</ul>
11350<p>Since these factors can vary greatly between different ISPs and
11351sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11352restrictions with as simple a model as possible.<wbr/></p>
11353<p>The model presented has the following characteristics:</p>
11354<ul>
11355<li>The image sensor is always configured to output the smallest
11356resolution possible given the application's requested output stream
11357sizes.<wbr/> The smallest resolution is defined as being at least as large
11358as the largest requested output stream size; the camera pipeline must
11359never digitally upsample sensor data when the crop region covers the
11360whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11361resolutions are configured,<wbr/> the sensor can provide a higher frame
11362rate.<wbr/></li>
11363<li>Since any request may use any or all the currently configured
11364output streams,<wbr/> the sensor and ISP must be configured to support
11365scaling a single capture to all the streams at the same time.<wbr/> This
11366means the camera pipeline must be ready to produce the largest
11367requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11368frame rate of a given configured stream set is governed only by the
11369largest requested stream resolution.<wbr/></li>
11370<li>Using more than one output stream in a request does not affect the
11371frame duration.<wbr/></li>
11372<li>JPEG streams act like processed YUV streams in requests for which
11373they are not included; in requests in which they are directly
11374referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11375JPEG stream requires the underlying YUV data to always be ready for
11376use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11377frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11378<li>The JPEG processor can run concurrently to the rest of the camera
11379pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11380</ul>
11381<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11382is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11383These are used to determine the maximum frame rate /<wbr/> minimum frame
11384duration that is possible for a given stream configuration.<wbr/></p>
11385<p>Specifically,<wbr/> the application can use the following rules to
11386determine the minimum frame duration it can request from the HAL
11387device:</p>
11388<ol>
11389<li>Given the application's currently configured set of output
11390streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11391<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11392<code>SP</code>.<wbr/></li>
11393<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11394count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11395<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11396<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
11397no exact match for <code>RP == RJ</code> (in particular there isn't an available
11398processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11399to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11400there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11401the processed resolution closest to <code>RJ</code>.<wbr/></li>
11402<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
11403no exact match for <code>RR == RP</code> (in particular there isn't an available
11404raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11405or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11406there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11407the raw resolution closest to <code>RP</code>.<wbr/></li>
11408<li>Look up the matching minimum frame durations in the property lists
11409<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11410<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11411<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11412minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11413<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11414supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11415<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11416supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11417<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11418the application,<wbr/> then the HAL will have to delay JPEG-using requests
11419whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11420This will happen whenever a JPEG-using request starts capture less
11421than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11422supported frame duration will vary between the values calculated in
11423#6 and #7.<wbr/></li>
11424</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011425 </td>
11426 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011427
11428
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011429 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11430 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011431
11432
11433 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011434 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011435 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011436 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011437 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011438 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011439
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011440 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011441
11442
11443 </td> <!-- entry_type -->
11444
11445 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011446 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011447implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011448below 'maximum analog sensitivity'.<wbr/></p>
11449<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11450gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011451 </td>
11452
11453 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011454 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011455 </td>
11456
11457 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011458 <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 -080011459 </td>
11460
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011461 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011462 <ul class="entry_tags">
11463 <li><a href="#tag_V1">V1</a></li>
11464 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011465 </td>
11466
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011467 </tr>
11468 <tr class="entries_header">
11469 <th class="th_details" colspan="5">Details</th>
11470 </tr>
11471 <tr class="entry_cont">
11472 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011473 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011474 </td>
11475 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011476
11477
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011478 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11479 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011480
11481
11482 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011483 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011484 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011485 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011486 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011487 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011488
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011489 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011490
11491
11492 </td> <!-- entry_type -->
11493
11494 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011495 <p>Time at start of exposure of first
11496row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011497 </td>
11498
11499 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011500 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011501 </td>
11502
11503 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011504 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011505 </td>
11506
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011507 <td class="entry_tags">
11508 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011509 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011510 </ul>
11511 </td>
11512
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011513 </tr>
11514 <tr class="entries_header">
11515 <th class="th_details" colspan="5">Details</th>
11516 </tr>
11517 <tr class="entry_cont">
11518 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011519 <p>Monotonic,<wbr/> should be synced to other timestamps in
11520system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011521 </td>
11522 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011523
11524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011527
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011528
11529 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011530 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011531 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011532 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011533 <td class="entry_type">
11534 <span class="entry_type_name">float</span>
11535
11536 <span class="entry_type_visibility"> [public]</span>
11537
11538
11539 </td> <!-- entry_type -->
11540
11541 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011542 <p>The temperature of the sensor,<wbr/> sampled at the time
11543exposure began for this frame.<wbr/></p>
11544<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11545somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011546 </td>
11547
11548 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011549 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011550 </td>
11551
11552 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011553 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011554 </td>
11555
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011556 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011557 <ul class="entry_tags">
11558 <li><a href="#tag_FULL">FULL</a></li>
11559 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011560 </td>
11561
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011562 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011563
11564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011565 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11566 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011567
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011568
11569
11570 <!-- end of kind -->
11571 </tbody>
11572
11573 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011574 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011575
11576
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011577 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011578
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011579 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011580 <tr>
11581 <th class="th_name">Property Name</th>
11582 <th class="th_type">Type</th>
11583 <th class="th_description">Description</th>
11584 <th class="th_units">Units</th>
11585 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011586 <th class="th_tags">Tags</th>
11587 </tr>
11588 </thead>
11589
11590 <tbody>
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601 <tr class="entry" id="controls_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011602 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011603 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011604 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011605 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011606 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011608 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011609
11610 <ul class="entry_type_enum">
11611 <li>
11612 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011613 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011614 </li>
11615 <li>
11616 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011617 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11618bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011619 </li>
11620 <li>
11621 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011622 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11623quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011624 </li>
11625 </ul>
11626
11627 </td> <!-- entry_type -->
11628
11629 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011630 <p>Quality of lens shading correction applied
11631to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011632 </td>
11633
11634 <td class="entry_units">
11635 </td>
11636
11637 <td class="entry_range">
11638 </td>
11639
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011640 <td class="entry_tags">
11641 </td>
11642
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011643 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011644
11645
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011646 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11647 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011648
11649
11650 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011651 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011652 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011653 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011654 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011655 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011657 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011658
11659
11660 </td> <!-- entry_type -->
11661
11662 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011663 <p>Control the amount of shading correction
11664applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011665 </td>
11666
11667 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011668 unitless: 1-10; 10 is full shading
11669 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011670 </td>
11671
11672 <td class="entry_range">
11673 </td>
11674
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011675 <td class="entry_tags">
11676 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011677 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011678 </ul>
11679 </td>
11680
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011681 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011682
11683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011684 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11685 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011686
11687
11688
11689 <!-- end of kind -->
11690 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011691 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011692
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011693 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011694 <tr>
11695 <th class="th_name">Property Name</th>
11696 <th class="th_type">Type</th>
11697 <th class="th_description">Description</th>
11698 <th class="th_units">Units</th>
11699 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011700 <th class="th_tags">Tags</th>
11701 </tr>
11702 </thead>
11703
11704 <tbody>
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715 <tr class="entry" id="dynamic_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011716 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011717 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011718 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011720 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011721
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011722 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011723
11724 <ul class="entry_type_enum">
11725 <li>
11726 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011727 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011728 </li>
11729 <li>
11730 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011731 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11732bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011733 </li>
11734 <li>
11735 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011736 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11737quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011738 </li>
11739 </ul>
11740
11741 </td> <!-- entry_type -->
11742
11743 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011744 <p>Quality of lens shading correction applied
11745to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011746 </td>
11747
11748 <td class="entry_units">
11749 </td>
11750
11751 <td class="entry_range">
11752 </td>
11753
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011754 <td class="entry_tags">
11755 </td>
11756
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011757 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011758
11759
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011760 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11761 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011762
11763
11764
11765 <!-- end of kind -->
11766 </tbody>
11767
11768 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011769 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011770
11771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011772 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011773
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011774 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011775 <tr>
11776 <th class="th_name">Property Name</th>
11777 <th class="th_type">Type</th>
11778 <th class="th_description">Description</th>
11779 <th class="th_units">Units</th>
11780 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011781 <th class="th_tags">Tags</th>
11782 </tr>
11783 </thead>
11784
11785 <tbody>
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011797 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011798 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011799 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011800 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011801 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011802
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011803 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011804
11805 <ul class="entry_type_enum">
11806 <li>
11807 <span class="entry_type_enum_name">OFF</span>
11808 </li>
11809 <li>
11810 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011811 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11812only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011813 </li>
11814 <li>
11815 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011816 <span class="entry_type_enum_notes"><p>Optional Return all face
11817metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011818 </li>
11819 </ul>
11820
11821 </td> <!-- entry_type -->
11822
11823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011824 <p>State of the face detector
11825unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011826 </td>
11827
11828 <td class="entry_units">
11829 </td>
11830
11831 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011832 <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 -080011833 </td>
11834
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011835 <td class="entry_tags">
11836 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011837 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011838 </ul>
11839 </td>
11840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011841 </tr>
11842 <tr class="entries_header">
11843 <th class="th_details" colspan="5">Details</th>
11844 </tr>
11845 <tr class="entry_cont">
11846 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011847 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011848should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011849fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011850<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 -080011851 </td>
11852 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011853
11854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011855 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11856 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011857
11858
11859 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011860 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011861 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011862 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011863 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011864 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011865
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011866 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011867
11868 <ul class="entry_type_enum">
11869 <li>
11870 <span class="entry_type_enum_name">OFF</span>
11871 </li>
11872 <li>
11873 <span class="entry_type_enum_name">ON</span>
11874 </li>
11875 </ul>
11876
11877 </td> <!-- entry_type -->
11878
11879 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011880 <p>Operating mode for histogram
11881generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011882 </td>
11883
11884 <td class="entry_units">
11885 </td>
11886
11887 <td class="entry_range">
11888 </td>
11889
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011890 <td class="entry_tags">
11891 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011892 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011893 </ul>
11894 </td>
11895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011896 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011897
11898
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011899 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11900 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011901
11902
11903 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011904 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011905 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011906 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011907 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011908 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011909
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011910 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011911
11912 <ul class="entry_type_enum">
11913 <li>
11914 <span class="entry_type_enum_name">OFF</span>
11915 </li>
11916 <li>
11917 <span class="entry_type_enum_name">ON</span>
11918 </li>
11919 </ul>
11920
11921 </td> <!-- entry_type -->
11922
11923 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011924 <p>Operating mode for sharpness map
11925generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011926 </td>
11927
11928 <td class="entry_units">
11929 </td>
11930
11931 <td class="entry_range">
11932 </td>
11933
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011934 <td class="entry_tags">
11935 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011936 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011937 </ul>
11938 </td>
11939
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011940 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011941
11942
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011943 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11944 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011945
Zhijun He69fc0ea2013-07-17 09:42:58 -070011946
11947 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011948 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011949 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011950 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011951 <td class="entry_type">
11952 <span class="entry_type_name entry_type_name_enum">byte</span>
11953
11954 <span class="entry_type_visibility"> [public]</span>
11955
11956 <ul class="entry_type_enum">
11957 <li>
11958 <span class="entry_type_enum_name">OFF</span>
11959 </li>
11960 <li>
11961 <span class="entry_type_enum_name">ON</span>
11962 </li>
11963 </ul>
11964
11965 </td> <!-- entry_type -->
11966
11967 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011968 <p>Whether the HAL needs to output the lens
11969shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011970 </td>
11971
11972 <td class="entry_units">
11973 </td>
11974
11975 <td class="entry_range">
11976 </td>
11977
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011978 <td class="entry_tags">
11979 </td>
11980
11981 </tr>
11982 <tr class="entries_header">
11983 <th class="th_details" colspan="5">Details</th>
11984 </tr>
11985 <tr class="entry_cont">
11986 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011987 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011988<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 -080011989the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011990 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011991 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011992
11993
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011994 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11995 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011996
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011997
11998
11999 <!-- end of kind -->
12000 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012001 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012002
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012003 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012004 <tr>
12005 <th class="th_name">Property Name</th>
12006 <th class="th_type">Type</th>
12007 <th class="th_description">Description</th>
12008 <th class="th_units">Units</th>
12009 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012010 <th class="th_tags">Tags</th>
12011 </tr>
12012 </thead>
12013
12014 <tbody>
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012028 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012029 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012030 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012031 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012032 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012033 <span class="entry_type_container">x</span>
12034
12035 <span class="entry_type_array">
12036 n
12037 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012038 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012039 <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 -080012040
12041
12042 </td> <!-- entry_type -->
12043
12044 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012045 <p>Which face detection modes are available,<wbr/>
12046if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012047 </td>
12048
12049 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012050 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012051 OFF
12052 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012053 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012054 </td>
12055
12056 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012057 </td>
12058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012059 <td class="entry_tags">
12060 </td>
12061
12062 </tr>
12063 <tr class="entries_header">
12064 <th class="th_details" colspan="5">Details</th>
12065 </tr>
12066 <tr class="entry_cont">
12067 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012068 <p>OFF means face detection is disabled,<wbr/> it must
12069be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012070<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012071<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12072<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012073<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012074<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12075<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012076 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012077 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012078
12079
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012080 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12081 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012082
12083
12084 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012085 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012086 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012087 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012088 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012089 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012090
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012091 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012092
12093
12094 </td> <!-- entry_type -->
12095
12096 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012097 <p>Number of histogram buckets
12098supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012099 </td>
12100
12101 <td class="entry_units">
12102 </td>
12103
12104 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012105 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012106 </td>
12107
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012108 <td class="entry_tags">
12109 </td>
12110
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012111 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012112
12113
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012114 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12115 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012116
12117
12118 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012119 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012120 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012121 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012122 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012123 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012124
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012125 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012126
12127
12128 </td> <!-- entry_type -->
12129
12130 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012131 <p>Maximum number of simultaneously detectable
12132faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012133 </td>
12134
12135 <td class="entry_units">
12136 </td>
12137
12138 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012139 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012140modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012141 </td>
12142
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012143 <td class="entry_tags">
12144 </td>
12145
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012146 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012147
12148
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012149 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12150 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012151
12152
12153 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012154 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012155 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012156 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012157 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012158 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012159
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012160 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012161
12162
12163 </td> <!-- entry_type -->
12164
12165 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012166 <p>Maximum value possible for a histogram
12167bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012168 </td>
12169
12170 <td class="entry_units">
12171 </td>
12172
12173 <td class="entry_range">
12174 </td>
12175
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012176 <td class="entry_tags">
12177 </td>
12178
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012179 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012180
12181
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012182 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12183 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012184
12185
12186 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012187 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012188 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012189 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012190 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012191 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012192
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012193 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012194
12195
12196 </td> <!-- entry_type -->
12197
12198 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012199 <p>Maximum value possible for a sharpness map
12200region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012201 </td>
12202
12203 <td class="entry_units">
12204 </td>
12205
12206 <td class="entry_range">
12207 </td>
12208
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012209 <td class="entry_tags">
12210 </td>
12211
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012212 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012213
12214
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012215 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12216 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012217
12218
12219 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012220 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012221 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012222 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012223 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012224 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012225 <span class="entry_type_container">x</span>
12226
12227 <span class="entry_type_array">
12228 2
12229 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012230 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012231 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012232
12233
12234 </td> <!-- entry_type -->
12235
12236 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012237 <p>Dimensions of the sharpness
12238map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012239 </td>
12240
12241 <td class="entry_units">
12242 </td>
12243
12244 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012245 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012246 </td>
12247
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012248 <td class="entry_tags">
12249 </td>
12250
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012251 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012252
12253
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012254 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12255 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012256
12257
12258
12259
12260
12261
12262 <!-- end of kind -->
12263 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012264 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012265
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012266 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012267 <tr>
12268 <th class="th_name">Property Name</th>
12269 <th class="th_type">Type</th>
12270 <th class="th_description">Description</th>
12271 <th class="th_units">Units</th>
12272 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012273 <th class="th_tags">Tags</th>
12274 </tr>
12275 </thead>
12276
12277 <tbody>
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012289 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012290 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012291 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012292 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012293 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012295 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012296
12297 <ul class="entry_type_enum">
12298 <li>
12299 <span class="entry_type_enum_name">OFF</span>
12300 </li>
12301 <li>
12302 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012303 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12304only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012305 </li>
12306 <li>
12307 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012308 <span class="entry_type_enum_notes"><p>Optional Return all face
12309metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012310 </li>
12311 </ul>
12312
12313 </td> <!-- entry_type -->
12314
12315 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012316 <p>State of the face detector
12317unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012318 </td>
12319
12320 <td class="entry_units">
12321 </td>
12322
12323 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012324 <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 -080012325 </td>
12326
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012327 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012328 <ul class="entry_tags">
12329 <li><a href="#tag_BC">BC</a></li>
12330 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012331 </td>
12332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012333 </tr>
12334 <tr class="entries_header">
12335 <th class="th_details" colspan="5">Details</th>
12336 </tr>
12337 <tr class="entry_cont">
12338 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012339 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012340should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012341fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012342<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 -080012343 </td>
12344 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012345
12346
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012347 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12348 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012349
12350
12351 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012352 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012353 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012354 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012355 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012356 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012357 <span class="entry_type_container">x</span>
12358
12359 <span class="entry_type_array">
12360 n
12361 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012362 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012363
12364
12365 </td> <!-- entry_type -->
12366
12367 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012368 <p>List of unique IDs for detected
12369faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012370 </td>
12371
12372 <td class="entry_units">
12373 </td>
12374
12375 <td class="entry_range">
12376 </td>
12377
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012378 <td class="entry_tags">
12379 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012380 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012381 </ul>
12382 </td>
12383
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012384 </tr>
12385 <tr class="entries_header">
12386 <th class="th_details" colspan="5">Details</th>
12387 </tr>
12388 <tr class="entry_cont">
12389 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012390 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012391 </td>
12392 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012393
12394
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012395 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12396 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012397
12398
12399 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012400 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012401 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012402 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012403 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012404 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012405 <span class="entry_type_container">x</span>
12406
12407 <span class="entry_type_array">
12408 n x 6
12409 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012410 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012411 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012412
12413
12414 </td> <!-- entry_type -->
12415
12416 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012417 <p>List of landmarks for detected
12418faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012419 </td>
12420
12421 <td class="entry_units">
12422 </td>
12423
12424 <td class="entry_range">
12425 </td>
12426
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012427 <td class="entry_tags">
12428 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012429 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012430 </ul>
12431 </td>
12432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012433 </tr>
12434 <tr class="entries_header">
12435 <th class="th_details" colspan="5">Details</th>
12436 </tr>
12437 <tr class="entry_cont">
12438 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012439 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012440 </td>
12441 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012442
12443
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012444 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12445 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012446
12447
12448 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012449 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012450 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012451 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012452 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012453 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012454 <span class="entry_type_container">x</span>
12455
12456 <span class="entry_type_array">
12457 n x 4
12458 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012459 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012460 <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 -080012461
12462
12463 </td> <!-- entry_type -->
12464
12465 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012466 <p>List of the bounding rectangles for detected
12467faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012468 </td>
12469
12470 <td class="entry_units">
12471 </td>
12472
12473 <td class="entry_range">
12474 </td>
12475
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012476 <td class="entry_tags">
12477 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012478 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012479 </ul>
12480 </td>
12481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012482 </tr>
12483 <tr class="entries_header">
12484 <th class="th_details" colspan="5">Details</th>
12485 </tr>
12486 <tr class="entry_cont">
12487 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012488 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012489 </td>
12490 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012491
12492
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012493 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12494 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012495
12496
12497 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012498 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012499 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012500 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012501 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012502 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012503 <span class="entry_type_container">x</span>
12504
12505 <span class="entry_type_array">
12506 n
12507 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012508 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012509
12510
12511 </td> <!-- entry_type -->
12512
12513 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012514 <p>List of the face confidence scores for
12515detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012516 </td>
12517
12518 <td class="entry_units">
12519 </td>
12520
12521 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012522 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012523 </td>
12524
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012525 <td class="entry_tags">
12526 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012527 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012528 </ul>
12529 </td>
12530
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012531 </tr>
12532 <tr class="entries_header">
12533 <th class="th_details" colspan="5">Details</th>
12534 </tr>
12535 <tr class="entry_cont">
12536 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012537 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12538meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012539 </td>
12540 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012541
12542
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012543 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12544 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012545
12546
12547 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012548 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012549 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012550 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012551 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012552 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012553 <span class="entry_type_container">x</span>
12554
12555 <span class="entry_type_array">
12556 n x 3
12557 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012558 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012559 <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 -080012560
12561
12562 </td> <!-- entry_type -->
12563
12564 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012565 <p>A 3-channel histogram based on the raw
12566sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012567 </td>
12568
12569 <td class="entry_units">
12570 </td>
12571
12572 <td class="entry_range">
12573 </td>
12574
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012575 <td class="entry_tags">
12576 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012577 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012578 </ul>
12579 </td>
12580
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012581 </tr>
12582 <tr class="entries_header">
12583 <th class="th_details" colspan="5">Details</th>
12584 </tr>
12585 <tr class="entry_cont">
12586 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012587 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012588(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 -080012589(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12590supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012591 </td>
12592 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012593
12594
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012595 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12596 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012597
12598
12599 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012600 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012601 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012602 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012603 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012604 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012605
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012606 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012607
12608 <ul class="entry_type_enum">
12609 <li>
12610 <span class="entry_type_enum_name">OFF</span>
12611 </li>
12612 <li>
12613 <span class="entry_type_enum_name">ON</span>
12614 </li>
12615 </ul>
12616
12617 </td> <!-- entry_type -->
12618
12619 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012620 <p>Operating mode for histogram
12621generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012622 </td>
12623
12624 <td class="entry_units">
12625 </td>
12626
12627 <td class="entry_range">
12628 </td>
12629
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012630 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012631 <ul class="entry_tags">
12632 <li><a href="#tag_V1">V1</a></li>
12633 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012634 </td>
12635
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012636 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012637
12638
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012639 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12640 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012641
12642
12643 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012644 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012645 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012646 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012647 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012648 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012649 <span class="entry_type_container">x</span>
12650
12651 <span class="entry_type_array">
12652 n x m x 3
12653 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012654 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012655 <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 -080012656
12657
12658 </td> <!-- entry_type -->
12659
12660 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012661 <p>A 3-channel sharpness map,<wbr/> based on the raw
12662sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012663 </td>
12664
12665 <td class="entry_units">
12666 </td>
12667
12668 <td class="entry_range">
12669 </td>
12670
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012671 <td class="entry_tags">
12672 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012673 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012674 </ul>
12675 </td>
12676
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012677 </tr>
12678 <tr class="entries_header">
12679 <th class="th_details" colspan="5">Details</th>
12680 </tr>
12681 <tr class="entry_cont">
12682 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012683 <p>If only a monochrome sharpness map is supported,<wbr/>
12684all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012685 </td>
12686 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012687
12688
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012689 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12690 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012691
12692
12693 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012694 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012695 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012696 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012697 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012698 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012699
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012700 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012701
12702 <ul class="entry_type_enum">
12703 <li>
12704 <span class="entry_type_enum_name">OFF</span>
12705 </li>
12706 <li>
12707 <span class="entry_type_enum_name">ON</span>
12708 </li>
12709 </ul>
12710
12711 </td> <!-- entry_type -->
12712
12713 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012714 <p>Operating mode for sharpness map
12715generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012716 </td>
12717
12718 <td class="entry_units">
12719 </td>
12720
12721 <td class="entry_range">
12722 </td>
12723
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012724 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012725 <ul class="entry_tags">
12726 <li><a href="#tag_V1">V1</a></li>
12727 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012728 </td>
12729
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012730 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012731
12732
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012733 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12734 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012735
Zhijun He69fc0ea2013-07-17 09:42:58 -070012736
12737 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012738 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012739 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012740 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012741 <td class="entry_type">
12742 <span class="entry_type_name">float</span>
12743 <span class="entry_type_container">x</span>
12744
12745 <span class="entry_type_array">
12746 4 x n x m
12747 </span>
12748 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012749 <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 -070012750
12751
12752 </td> <!-- entry_type -->
12753
12754 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012755 <p>The shading map is a low-resolution floating-point map
12756that lists the coefficients used to correct for vignetting,<wbr/> for each
12757Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012758 </td>
12759
12760 <td class="entry_units">
12761 </td>
12762
12763 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012764 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012765 </td>
12766
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012767 <td class="entry_tags">
12768 </td>
12769
12770 </tr>
12771 <tr class="entries_header">
12772 <th class="th_details" colspan="5">Details</th>
12773 </tr>
12774 <tr class="entry_cont">
12775 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012776 <p>The least shaded section of the image should have a gain factor
12777of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012778<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 -080012779must take into account the colorCorrection settings.<wbr/></p>
12780<p>The shading map is for the entire active pixel array,<wbr/> and is not
12781affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012782entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012783pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12784map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12785(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12786pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12787The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12788<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12789channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12790The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012791is 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 -080012792<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12793and must be smaller than 64x64.<wbr/></p>
12794<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012795<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12796<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012797[ 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/>
12798 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/>
12799 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/>
12800 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/>
12801 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/>
12802 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 -080012803</code></pre>
12804<p>The low-resolution scaling map images for each channel are
12805(displayed using nearest-neighbor interpolation):</p>
12806<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12807<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12808<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12809<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012810<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012811image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012812<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 -070012813 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012814 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012815
12816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012817 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12818 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012819
12820
12821 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012823 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012824 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012825 <td class="entry_type">
12826 <span class="entry_type_name">float</span>
12827 <span class="entry_type_container">x</span>
12828
12829 <span class="entry_type_array">
12830 4
12831 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012832 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012833 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012834
12835
12836 </td> <!-- entry_type -->
12837
12838 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012839 <p>The best-fit color channel gains calculated
12840by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012841 </td>
12842
12843 <td class="entry_units">
12844 </td>
12845
12846 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012847 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012848 </td>
12849
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012850 <td class="entry_tags">
12851 </td>
12852
12853 </tr>
12854 <tr class="entries_header">
12855 <th class="th_details" colspan="5">Details</th>
12856 </tr>
12857 <tr class="entry_cont">
12858 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012859 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012860since statistics processing on data from a new frame
12861typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012862applied to that frame.<wbr/></p>
12863<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012864see <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 -080012865<p>This value should always be calculated by the AWB block,<wbr/>
12866regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012867 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012868 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012869
12870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012871 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12872 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012873
12874
12875 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012876 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012877 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012878 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012879 <td class="entry_type">
12880 <span class="entry_type_name">rational</span>
12881 <span class="entry_type_container">x</span>
12882
12883 <span class="entry_type_array">
12884 3 x 3
12885 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012886 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012887 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012888
12889
12890 </td> <!-- entry_type -->
12891
12892 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012893 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012894calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080012895output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012896 </td>
12897
12898 <td class="entry_units">
12899 </td>
12900
12901 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012902 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012903 </td>
12904
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012905 <td class="entry_tags">
12906 </td>
12907
12908 </tr>
12909 <tr class="entries_header">
12910 <th class="th_details" colspan="5">Details</th>
12911 </tr>
12912 <tr class="entry_cont">
12913 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012914 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012915statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080012916for the next frame.<wbr/> These are the values the HAL believes
12917are the best fit for the current output frame.<wbr/> This may
12918be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012919statistics processing on data from a new frame typically
12920completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080012921that frame.<wbr/></p>
12922<p>These estimates must be provided for all frames,<wbr/> even if
12923capture settings and color transforms are set by the application.<wbr/></p>
12924<p>This value should always be calculated by the AWB block,<wbr/>
12925regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012926 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012927 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012928
12929
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012930 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12931 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012932
12933
12934 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012935 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012936 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012937 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012938 <td class="entry_type">
12939 <span class="entry_type_name entry_type_name_enum">byte</span>
12940
12941 <span class="entry_type_visibility"> [public]</span>
12942
12943 <ul class="entry_type_enum">
12944 <li>
12945 <span class="entry_type_enum_name">NONE</span>
12946 </li>
12947 <li>
12948 <span class="entry_type_enum_name">50HZ</span>
12949 </li>
12950 <li>
12951 <span class="entry_type_enum_name">60HZ</span>
12952 </li>
12953 </ul>
12954
12955 </td> <!-- entry_type -->
12956
12957 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012958 <p>The HAL estimated scene illumination lighting
12959frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012960 </td>
12961
12962 <td class="entry_units">
12963 </td>
12964
12965 <td class="entry_range">
12966 </td>
12967
Zhijun He69fc0ea2013-07-17 09:42:58 -070012968 <td class="entry_tags">
12969 </td>
12970
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012971 </tr>
12972 <tr class="entries_header">
12973 <th class="th_details" colspan="5">Details</th>
12974 </tr>
12975 <tr class="entry_cont">
12976 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012977 <p>Report NONE if there doesn't appear to be flickering
12978illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012979 </td>
12980 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012981
12982
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012983 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12984 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012985
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012986
12987
12988 <!-- end of kind -->
12989 </tbody>
12990
12991 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012992 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012993
12994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012995 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012996
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012997 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012998 <tr>
12999 <th class="th_name">Property Name</th>
13000 <th class="th_type">Type</th>
13001 <th class="th_description">Description</th>
13002 <th class="th_units">Units</th>
13003 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013004 <th class="th_tags">Tags</th>
13005 </tr>
13006 </thead>
13007
13008 <tbody>
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013020 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013021 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013022 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013023 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013024 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013025 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013026
Zhijun He704d1282013-08-19 15:26:33 -070013027 <span class="entry_type_array">
13028 n x 2
13029 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013030 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013031 <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 -080013032
13033
13034 </td> <!-- entry_type -->
13035
13036 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013037 <p>Table mapping blue input values to output
13038values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013039 </td>
13040
13041 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013042 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013043 </td>
13044
13045 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013046 <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 -080013047 </td>
13048
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013049 <td class="entry_tags">
13050 </td>
13051
13052 </tr>
13053 <tr class="entries_header">
13054 <th class="th_details" colspan="5">Details</th>
13055 </tr>
13056 <tr class="entry_cont">
13057 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013058 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013059channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13060<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 -080013061 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013062 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013063
13064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013065 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13066 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013067
13068
13069 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013070 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013071 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013072 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013073 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013074 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013075 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013076
Zhijun He704d1282013-08-19 15:26:33 -070013077 <span class="entry_type_array">
13078 n x 2
13079 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013080 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013081 <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 -080013082
13083
13084 </td> <!-- entry_type -->
13085
13086 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013087 <p>Table mapping green input values to output
13088values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013089 </td>
13090
13091 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013092 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013093 </td>
13094
13095 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013096 <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 -080013097 </td>
13098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013099 <td class="entry_tags">
13100 </td>
13101
13102 </tr>
13103 <tr class="entries_header">
13104 <th class="th_details" colspan="5">Details</th>
13105 </tr>
13106 <tr class="entry_cont">
13107 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013108 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013109channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13110<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 -080013111 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013112 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013113
13114
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013115 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13116 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013117
13118
13119 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013120 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013121 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013122 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013123 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013124 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013125 <span class="entry_type_container">x</span>
13126
13127 <span class="entry_type_array">
13128 n x 2
13129 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013130 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013131 <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 -080013132
13133
13134 </td> <!-- entry_type -->
13135
13136 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013137 <p>Table mapping red input values to output
13138values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013139 </td>
13140
13141 <td class="entry_units">
13142 </td>
13143
13144 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013145 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013146 </td>
13147
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013148 <td class="entry_tags">
13149 <ul class="entry_tags">
13150 <li><a href="#tag_DNG">DNG</a></li>
13151 </ul>
13152 </td>
13153
13154 </tr>
13155 <tr class="entries_header">
13156 <th class="th_details" colspan="5">Details</th>
13157 </tr>
13158 <tr class="entry_cont">
13159 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013160 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013161channel,<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 -080013162<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013163the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013164are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013165between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013166<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013167defined points.<wbr/> The points will be listed in increasing
13168order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
131690.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13170for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
131710.<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 -080013172 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013173 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013174
13175
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013176 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13177 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013178
13179
13180 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013181 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013182 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013183 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013184 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013185 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013186
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013187 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013188
13189 <ul class="entry_type_enum">
13190 <li>
13191 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013192 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13193android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013194 </li>
13195 <li>
13196 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013197 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13198bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013199 </li>
13200 <li>
13201 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013202 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13203quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013204 </li>
13205 </ul>
13206
13207 </td> <!-- entry_type -->
13208
13209 <td class="entry_description">
13210 </td>
13211
13212 <td class="entry_units">
13213 </td>
13214
13215 <td class="entry_range">
13216 </td>
13217
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013218 <td class="entry_tags">
13219 </td>
13220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013221 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013222
13223
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013224 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13225 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013226
13227
13228
13229 <!-- end of kind -->
13230 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013231 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013232
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013233 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013234 <tr>
13235 <th class="th_name">Property Name</th>
13236 <th class="th_type">Type</th>
13237 <th class="th_description">Description</th>
13238 <th class="th_units">Units</th>
13239 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013240 <th class="th_tags">Tags</th>
13241 </tr>
13242 </thead>
13243
13244 <tbody>
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013256 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013257 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013258 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013259 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013260 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013261
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013262 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013263
13264
13265 </td> <!-- entry_type -->
13266
13267 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013268 <p>Maximum number of supported points in the
13269tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013270 </td>
13271
13272 <td class="entry_units">
13273 </td>
13274
13275 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013276 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013277 </td>
13278
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013279 <td class="entry_tags">
13280 </td>
13281
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013282 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013283
13284
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013285 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13286 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013287
13288
13289
13290 <!-- end of kind -->
13291 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013292 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013293
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013294 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013295 <tr>
13296 <th class="th_name">Property Name</th>
13297 <th class="th_type">Type</th>
13298 <th class="th_description">Description</th>
13299 <th class="th_units">Units</th>
13300 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013301 <th class="th_tags">Tags</th>
13302 </tr>
13303 </thead>
13304
13305 <tbody>
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013317 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013318 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013320 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013321 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013322 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013323
Zhijun He704d1282013-08-19 15:26:33 -070013324 <span class="entry_type_array">
13325 n x 2
13326 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013327 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013328 <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 -080013329
13330
13331 </td> <!-- entry_type -->
13332
13333 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013334 <p>Table mapping blue input values to output
13335values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013336 </td>
13337
13338 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013339 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013340 </td>
13341
13342 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013343 <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 -080013344 </td>
13345
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013346 <td class="entry_tags">
13347 </td>
13348
13349 </tr>
13350 <tr class="entries_header">
13351 <th class="th_details" colspan="5">Details</th>
13352 </tr>
13353 <tr class="entry_cont">
13354 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013355 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013356channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13357<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 -080013358 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013359 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013360
13361
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013362 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13363 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013364
13365
13366 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013367 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013368 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013369 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013370 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013371 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013372 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013373
Zhijun He704d1282013-08-19 15:26:33 -070013374 <span class="entry_type_array">
13375 n x 2
13376 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013377 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013378 <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 -080013379
13380
13381 </td> <!-- entry_type -->
13382
13383 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013384 <p>Table mapping green input values to output
13385values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013386 </td>
13387
13388 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013389 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013390 </td>
13391
13392 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013393 <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 -080013394 </td>
13395
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013396 <td class="entry_tags">
13397 </td>
13398
13399 </tr>
13400 <tr class="entries_header">
13401 <th class="th_details" colspan="5">Details</th>
13402 </tr>
13403 <tr class="entry_cont">
13404 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013405 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013406channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13407<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 -080013408 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013409 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013410
13411
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013412 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13413 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013414
13415
13416 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013417 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013418 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013419 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013420 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013421 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013422 <span class="entry_type_container">x</span>
13423
13424 <span class="entry_type_array">
13425 n x 2
13426 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013427 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013428 <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 -080013429
13430
13431 </td> <!-- entry_type -->
13432
13433 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013434 <p>Table mapping red input values to output
13435values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013436 </td>
13437
13438 <td class="entry_units">
13439 </td>
13440
13441 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013442 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013443 </td>
13444
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013445 <td class="entry_tags">
13446 <ul class="entry_tags">
13447 <li><a href="#tag_DNG">DNG</a></li>
13448 </ul>
13449 </td>
13450
13451 </tr>
13452 <tr class="entries_header">
13453 <th class="th_details" colspan="5">Details</th>
13454 </tr>
13455 <tr class="entry_cont">
13456 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013457 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013458channel,<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 -080013459<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013460the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013461are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013462between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013463<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013464defined points.<wbr/> The points will be listed in increasing
13465order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
134660.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13467for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
134680.<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 -080013469 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013470 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013471
13472
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013473 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13474 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013475
13476
13477 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013478 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013479 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013480 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013481 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013482 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013484 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013485
13486 <ul class="entry_type_enum">
13487 <li>
13488 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013489 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13490android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013491 </li>
13492 <li>
13493 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013494 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13495bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013496 </li>
13497 <li>
13498 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013499 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13500quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013501 </li>
13502 </ul>
13503
13504 </td> <!-- entry_type -->
13505
13506 <td class="entry_description">
13507 </td>
13508
13509 <td class="entry_units">
13510 </td>
13511
13512 <td class="entry_range">
13513 </td>
13514
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013515 <td class="entry_tags">
13516 </td>
13517
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013518 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013519
13520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013521 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13522 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013523
13524
13525
13526 <!-- end of kind -->
13527 </tbody>
13528
13529 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013530 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013531
13532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013533 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013534
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013535 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013536 <tr>
13537 <th class="th_name">Property Name</th>
13538 <th class="th_type">Type</th>
13539 <th class="th_description">Description</th>
13540 <th class="th_units">Units</th>
13541 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013542 <th class="th_tags">Tags</th>
13543 </tr>
13544 </thead>
13545
13546 <tbody>
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013558 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013559 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013560 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013561 <td class="entry_type">
13562 <span class="entry_type_name entry_type_name_enum">byte</span>
13563
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013564 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013565
13566 <ul class="entry_type_enum">
13567 <li>
13568 <span class="entry_type_enum_name">OFF</span>
13569 </li>
13570 <li>
13571 <span class="entry_type_enum_name">ON</span>
13572 </li>
13573 </ul>
13574
13575 </td> <!-- entry_type -->
13576
13577 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013578 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013579that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013580Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013581disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013582any untrusted applications.<wbr/></p>
13583<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13584transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13585data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013586<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013587doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013588 </td>
13589
13590 <td class="entry_units">
13591 </td>
13592
13593 <td class="entry_range">
13594 </td>
13595
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013596 <td class="entry_tags">
13597 </td>
13598
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013599 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013600
13601
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013602 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13603 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013604
13605
13606
13607 <!-- end of kind -->
13608 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013609 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013610
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013611 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013612 <tr>
13613 <th class="th_name">Property Name</th>
13614 <th class="th_type">Type</th>
13615 <th class="th_description">Description</th>
13616 <th class="th_units">Units</th>
13617 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013618 <th class="th_tags">Tags</th>
13619 </tr>
13620 </thead>
13621
13622 <tbody>
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013634 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013635 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013636 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013637 <td class="entry_type">
13638 <span class="entry_type_name entry_type_name_enum">byte</span>
13639
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013640 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013641
13642 <ul class="entry_type_enum">
13643 <li>
13644 <span class="entry_type_enum_name">OFF</span>
13645 </li>
13646 <li>
13647 <span class="entry_type_enum_name">ON</span>
13648 </li>
13649 </ul>
13650
13651 </td> <!-- entry_type -->
13652
13653 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013654 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013655that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013656Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013657disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013658any untrusted applications.<wbr/></p>
13659<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13660transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13661data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013662<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013663doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013664 </td>
13665
13666 <td class="entry_units">
13667 </td>
13668
13669 <td class="entry_range">
13670 </td>
13671
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013672 <td class="entry_tags">
13673 </td>
13674
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013675 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013676
13677
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013678 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13679 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013680
13681
13682
13683 <!-- end of kind -->
13684 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013685 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013686
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013687 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013688 <tr>
13689 <th class="th_name">Property Name</th>
13690 <th class="th_type">Type</th>
13691 <th class="th_description">Description</th>
13692 <th class="th_units">Units</th>
13693 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013694 <th class="th_tags">Tags</th>
13695 </tr>
13696 </thead>
13697
13698 <tbody>
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013710 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013711 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013712 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013713 <td class="entry_type">
13714 <span class="entry_type_name entry_type_name_enum">byte</span>
13715 <span class="entry_type_container">x</span>
13716
13717 <span class="entry_type_array">
13718 n
13719 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013720 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013721
13722 <ul class="entry_type_enum">
13723 <li>
13724 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013725 <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 -070013726 </li>
13727 </ul>
13728
13729 </td> <!-- entry_type -->
13730
13731 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013732 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013733 </td>
13734
13735 <td class="entry_units">
13736 </td>
13737
13738 <td class="entry_range">
13739 </td>
13740
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013741 <td class="entry_tags">
13742 </td>
13743
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013744 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013745
13746
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013747 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13748 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013749
13750
13751
13752 <!-- end of kind -->
13753 </tbody>
13754
13755 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013756 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013757
13758
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013759 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013760
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013761 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013762 <tr>
13763 <th class="th_name">Property Name</th>
13764 <th class="th_type">Type</th>
13765 <th class="th_description">Description</th>
13766 <th class="th_units">Units</th>
13767 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013768 <th class="th_tags">Tags</th>
13769 </tr>
13770 </thead>
13771
13772 <tbody>
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013784 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013785 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013786 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013787 <td class="entry_type">
13788 <span class="entry_type_name entry_type_name_enum">byte</span>
13789
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013790 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013791
13792 <ul class="entry_type_enum">
13793 <li>
13794 <span class="entry_type_enum_name">LIMITED</span>
13795 </li>
13796 <li>
13797 <span class="entry_type_enum_name">FULL</span>
13798 </li>
13799 </ul>
13800
13801 </td> <!-- entry_type -->
13802
13803 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013804 <p>The camera 3 HAL device can implement one of two possible
13805operational modes; limited and full.<wbr/> Full support is
13806expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013807hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013808camera HAL device v1 implementation,<wbr/> and is expected from
13809older or inexpensive devices.<wbr/> Full is a strict superset of
13810limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13811<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013812 </td>
13813
13814 <td class="entry_units">
13815 </td>
13816
13817 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013818 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013819 </td>
13820
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013821 <td class="entry_tags">
13822 </td>
13823
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013824 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013825
13826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013827 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13828 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013829
13830
13831
13832 <!-- end of kind -->
13833 </tbody>
13834
13835 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013836 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013837
13838
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013839 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013840
13841 <thead class="entries_header">
13842 <tr>
13843 <th class="th_name">Property Name</th>
13844 <th class="th_type">Type</th>
13845 <th class="th_description">Description</th>
13846 <th class="th_units">Units</th>
13847 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013848 <th class="th_tags">Tags</th>
13849 </tr>
13850 </thead>
13851
13852 <tbody>
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013864 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013865 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013866 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013867 <td class="entry_type">
13868 <span class="entry_type_name entry_type_name_enum">byte</span>
13869
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013870 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013871
13872 <ul class="entry_type_enum">
13873 <li>
13874 <span class="entry_type_enum_name">OFF</span>
13875 </li>
13876 <li>
13877 <span class="entry_type_enum_name">ON</span>
13878 </li>
13879 </ul>
13880
13881 </td> <!-- entry_type -->
13882
13883 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013884 <p>Whether black-level compensation is locked
13885to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013886 </td>
13887
13888 <td class="entry_units">
13889 </td>
13890
13891 <td class="entry_range">
13892 </td>
13893
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013894 <td class="entry_tags">
13895 <ul class="entry_tags">
13896 <li><a href="#tag_HAL2">HAL2</a></li>
13897 </ul>
13898 </td>
13899
13900 </tr>
13901 <tr class="entries_header">
13902 <th class="th_details" colspan="5">Details</th>
13903 </tr>
13904 <tr class="entry_cont">
13905 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013906 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013907compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080013908OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013909<p>Since changes to certain capture parameters (such as
13910exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080013911compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013912the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080013913metadata.<wbr/></p>
13914<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013915<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013916<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13917<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13918<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13919<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13920<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13921<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013922</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013923<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080013924device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013925result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013926<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013927<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13928<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13929<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13930<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
13931<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13932<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013933</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013934<p>This indicates to the application that on frame 4,<wbr/> black
13935levels were reset due to exposure value changes,<wbr/> and pixel
13936values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013937<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080013938possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013939other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080013940or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013941 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013942 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013943
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013944 <tr class="entries_header">
13945 <th class="th_details" colspan="5">HAL Implementation Details</th>
13946 </tr>
13947 <tr class="entry_cont">
13948 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013949 <p>If for some reason black level locking is no longer possible
13950(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13951black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013952override this request (and it must report 'OFF' when this
13953does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013954possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013955 </td>
13956 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013957
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013958 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13959 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013960
13961
13962
13963 <!-- end of kind -->
13964 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013965 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013966
13967 <thead class="entries_header">
13968 <tr>
13969 <th class="th_name">Property Name</th>
13970 <th class="th_type">Type</th>
13971 <th class="th_description">Description</th>
13972 <th class="th_units">Units</th>
13973 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013974 <th class="th_tags">Tags</th>
13975 </tr>
13976 </thead>
13977
13978 <tbody>
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013990 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013991 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013992 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013993 <td class="entry_type">
13994 <span class="entry_type_name entry_type_name_enum">byte</span>
13995
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013996 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013997
13998 <ul class="entry_type_enum">
13999 <li>
14000 <span class="entry_type_enum_name">OFF</span>
14001 </li>
14002 <li>
14003 <span class="entry_type_enum_name">ON</span>
14004 </li>
14005 </ul>
14006
14007 </td> <!-- entry_type -->
14008
14009 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014010 <p>Whether black-level compensation is locked
14011to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014012 </td>
14013
14014 <td class="entry_units">
14015 </td>
14016
14017 <td class="entry_range">
14018 </td>
14019
Zhijun He69fc0ea2013-07-17 09:42:58 -070014020 <td class="entry_tags">
14021 <ul class="entry_tags">
14022 <li><a href="#tag_HAL2">HAL2</a></li>
14023 </ul>
14024 </td>
14025
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014026 </tr>
14027 <tr class="entries_header">
14028 <th class="th_details" colspan="5">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>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014033ON 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 -080014034a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014035perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014036 </td>
14037 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014038
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014039 <tr class="entries_header">
14040 <th class="th_details" colspan="5">HAL Implementation Details</th>
14041 </tr>
14042 <tr class="entry_cont">
14043 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014044 <p>If for some reason black level locking is no longer possible
14045(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14046black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014047override this request (and it must report 'OFF' when this
14048does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014049possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014050 </td>
14051 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014053 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14054 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014055
14056
14057
14058 <!-- end of kind -->
14059 </tbody>
14060
14061 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014062<!-- </namespace> -->
14063 </table>
14064
14065 <div class="tags" id="tag_index">
14066 <h2>Tags</h2>
14067 <ul>
14068 <li id="tag_AWB">AWB -
14069 Needed for auto white balance
14070
14071 <ul class="tags_entries">
14072 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14073 </ul>
14074 </li> <!-- tag_AWB -->
14075 <li id="tag_BC">BC -
14076 Needed for backwards compatibility with old Java API
14077
14078 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014079 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014080 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14081 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14082 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14083 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14084 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014085 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014086 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14087 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014088 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014089 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14090 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14091 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14092 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14093 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14094 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14095 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14096 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014097 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014098 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14099 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14100 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14101 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14102 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14103 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14104 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14105 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14106 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14107 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14108 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14109 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14110 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14111 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14112 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14113 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14114 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14115 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14116 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14117 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14118 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14119 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14120 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14121 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14122 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14123 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14124 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14125 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014126 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014127 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14128 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14129 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014130 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014131 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014132 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14133 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14134 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14135 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14136 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14137 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14138 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14139 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14140 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14141 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14142 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14143 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14144 </ul>
14145 </li> <!-- tag_BC -->
14146 <li id="tag_V1">V1 -
14147 New features for first camera 2 release (API1)
14148
14149 <ul class="tags_entries">
14150 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14151 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14152 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14153 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14154 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14155 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14156 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14157 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14158 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14159 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14160 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14161 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14162 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14163 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14164 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14165 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14166 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14167 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14168 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14169 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14170 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14171 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14172 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14173 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014174 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014175 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14176 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14177 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14178 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14179 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14180 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14181 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14182 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14183 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14184 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14185 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14186 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14187 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14188 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14189 </ul>
14190 </li> <!-- tag_V1 -->
14191 <li id="tag_ADV">ADV - None
14192 <ul class="tags_entries">
14193 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14194 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14195 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14196 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14197 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14198 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14199 </ul>
14200 </li> <!-- tag_ADV -->
14201 <li id="tag_DNG">DNG -
14202 Needed for DNG file support
14203
14204 <ul class="tags_entries">
14205 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014206 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14207 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14208 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14209 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14210 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14211 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14212 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14213 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14214 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14215 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14216 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14217 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14218 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14219 </ul>
14220 </li> <!-- tag_DNG -->
14221 <li id="tag_EXIF">EXIF - None
14222 <ul class="tags_entries">
14223 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14224 </ul>
14225 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014226 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014227 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014228
14229 <ul class="tags_entries">
14230 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14231 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14232 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014233 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014234 </ul>
14235 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014236 <li id="tag_FULL">FULL -
14237 Entry is required for full hardware level devices, and optional for other hardware levels
14238
14239 <ul class="tags_entries">
14240 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14241 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14242 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14243 </ul>
14244 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014245 </ul>
14246 </div>
14247
14248 [ <a href="#">top</a> ]
14249
14250</body>
14251</html>