blob: 33b5b69b6fcfc7a966211eb59c820fda8b392b86 [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">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002849 <td class="entry_name" rowspan="3">
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>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002860 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002861
2862
2863 </td> <!-- entry_type -->
2864
2865 <td class="entry_description">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002866 <p>List containing a subset of scene modes
2867specified in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a>.<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">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002874 <p>Any subset of the enums specified in android.<wbr/>control.<wbr/>scene<wbr/>Mode
2875not including DISABLED,<wbr/> or solely DISABLED if no
2876scene modes are available.<wbr/> FACE_<wbr/>PRIORITY must be included
2877if face detection is supported (i.<wbr/>e.<wbr/><code><a href="#static_android.statistics.info.maxFaceCount">android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count</a> &gt; 0</code>).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002878 </td>
2879
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002880 <td class="entry_tags">
2881 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002882 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002883 </ul>
2884 </td>
2885
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002886 </tr>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002887 <tr class="entries_header">
2888 <th class="th_details" colspan="5">Details</th>
2889 </tr>
2890 <tr class="entry_cont">
2891 <td class="entry_details" colspan="5">
2892 <p>This list contains scene modes that can be set for the camera device.<wbr/>
2893Only scene modes that have been fully implemented for the
2894camera device may be included here.<wbr/> Implementations are not expected
2895to be consistent across all devices.<wbr/> If no scene modes are supported
2896by the camera device,<wbr/> this will be set to <code>[DISABLED]</code>.<wbr/></p>
2897 </td>
2898 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002899
2900
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002901 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2902 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002903
2904
2905 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002906 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002907 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002908 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002909 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002910 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002911 <span class="entry_type_container">x</span>
2912
2913 <span class="entry_type_array">
2914 n
2915 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002916 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002917 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002918
2919
2920 </td> <!-- entry_type -->
2921
2922 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002923 <p>List of video stabilization modes that can
2924be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002925 </td>
2926
2927 <td class="entry_units">
2928 </td>
2929
2930 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002931 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002932 </td>
2933
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002934 <td class="entry_tags">
2935 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002936 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002937 </ul>
2938 </td>
2939
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002940 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002941
2942
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002943 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2944 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002945
2946
2947 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002948 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002949 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002950 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002953 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002954
Alex Raya4251d92013-04-30 16:43:44 -07002955 <span class="entry_type_array">
2956 n
2957 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002958 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08002959 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960
2961
2962 </td> <!-- entry_type -->
2963
2964 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08002965 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
2966that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002967 </td>
2968
2969 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002970 </td>
2971
2972 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002973 </td>
2974
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002975 <td class="entry_tags">
2976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002977 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 </ul>
2979 </td>
2980
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002981 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08002982 <tr class="entries_header">
2983 <th class="th_details" colspan="5">Details</th>
2984 </tr>
2985 <tr class="entry_cont">
2986 <td class="entry_details" colspan="5">
2987 <p>Not all the auto-white-balance modes may be supported by a
2988given camera device.<wbr/> This entry lists the valid modes for
2989<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
2990<p>All camera devices will support ON mode.<wbr/></p>
2991<p>Full-capability camera devices will always support OFF mode,<wbr/>
2992which enables application control of white balance,<wbr/> by using
2993<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>
2994 </td>
2995 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002996
2997
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002998 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2999 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003000
3001
3002 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003003 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003004 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003005 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003006 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003007 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003008
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003009 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003010
3011
3012 </td> <!-- entry_type -->
3013
3014 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003015 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3016regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003017 </td>
3018
3019 <td class="entry_units">
3020 </td>
3021
3022 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003023 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003024 </td>
3025
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003026 <td class="entry_tags">
3027 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003028 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003029 </ul>
3030 </td>
3031
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003032 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003033
3034
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003035 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3036 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003037
3038
3039 <tr class="entry" id="static_android.control.sceneModeOverrides">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003040 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003041 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003042 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003043 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003044 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003045 <span class="entry_type_container">x</span>
3046
3047 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003048 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003049 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003050 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003051
3052
3053 </td> <!-- entry_type -->
3054
3055 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003056 <p>List of AE,<wbr/> AWB,<wbr/> and AF modes to use for
3057each available scene mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003058 </td>
3059
3060 <td class="entry_units">
3061 </td>
3062
3063 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003064 <p>For each listed scene mode,<wbr/> lists the aeMode,<wbr/>
3065awbMode,<wbr/> and afMode that the HAL wants to use for that
3066scene mode.<wbr/></p>
3067<p>For each entry,<wbr/> the order is {aeMode,<wbr/> awbMode,<wbr/> afMode} in
3068order of increasing index</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003069 </td>
3070
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003071 <td class="entry_tags">
3072 <ul class="entry_tags">
3073 <li><a href="#tag_BC">BC</a></li>
3074 </ul>
3075 </td>
3076
3077 </tr>
3078 <tr class="entries_header">
3079 <th class="th_details" colspan="5">Details</th>
3080 </tr>
3081 <tr class="entry_cont">
3082 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003083 <p>When a scene mode is enabled,<wbr/> the HAL is expected
3084to override aeMode,<wbr/> awbMode,<wbr/> and afMode with its
3085preferred settings for that scene mode.<wbr/></p>
3086<p>To simplify communication with old camera API applications,<wbr/>
3087the service wants this override list in the static metadata.<wbr/>
3088The order of this list matches that of availableSceneModes,<wbr/>
3089with 3 entires for each scene mode.<wbr/> The overrides listed
3090for SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3091mode,<wbr/> the application-set aeMode,<wbr/> awbMode,<wbr/> and afMode are
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003092used instead,<wbr/> like they are when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
Igor Murashkin0b080452013-12-27 15:30:25 -08003093AUTO.<wbr/></p>
3094<p>It is recommended that for FACE_<wbr/>PRIORITY,<wbr/> the overrides
3095should be set to 0.<wbr/> As an example,<wbr/> if availableSceneModes is
3096{ FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT },<wbr/> then the service expects
3097this field to have 9 entries; for example { 0 ,<wbr/> 0,<wbr/> 0,<wbr/>
3098ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
3099INCANDESCENT,<wbr/> AUTO }</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003100 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003101 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003102
3103
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003104 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3105 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003106
3107
3108
3109 <!-- end of kind -->
3110 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003111 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003112
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003113 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003114 <tr>
3115 <th class="th_name">Property Name</th>
3116 <th class="th_type">Type</th>
3117 <th class="th_description">Description</th>
3118 <th class="th_units">Units</th>
3119 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003120 <th class="th_tags">Tags</th>
3121 </tr>
3122 </thead>
3123
3124 <tbody>
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003136 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003137 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003138 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003139 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003140 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003141
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003142 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003143
3144
3145 </td> <!-- entry_type -->
3146
3147 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003148 <p>The ID sent with the latest
3149CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003150 </td>
3151
3152 <td class="entry_units">
3153 </td>
3154
3155 <td class="entry_range">
3156 </td>
3157
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003158 <td class="entry_tags">
3159 </td>
3160
3161 </tr>
3162 <tr class="entries_header">
3163 <th class="th_details" colspan="5">Details</th>
3164 </tr>
3165 <tr class="entry_cont">
3166 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003167 <p>Must be 0 if no
3168CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3169by HAL.<wbr/> Always updated even if AE algorithm ignores the
3170trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003171 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003172 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003173
3174
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003175 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3176 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003177
3178
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003179 <tr class="entry" id="dynamic_android.control.aeMode">
3180 <td class="entry_name" rowspan="3">
3181 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3182 </td>
3183 <td class="entry_type">
3184 <span class="entry_type_name entry_type_name_enum">byte</span>
3185
3186 <span class="entry_type_visibility"> [public]</span>
3187
3188 <ul class="entry_type_enum">
3189 <li>
3190 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003191 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3192the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3193<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3194<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3195device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3196a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003197 </li>
3198 <li>
3199 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003200 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3201with no flash control.<wbr/> The application's values for
3202<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3203<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3204<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3205application has control over the various
3206android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003207 </li>
3208 <li>
3209 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003210 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3211the camera's flash unit,<wbr/> firing it in low-light
3212conditions.<wbr/> The flash may be fired during a
3213precapture sequence (triggered by
3214<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3215for captures for which the
3216<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3217STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003218 </li>
3219 <li>
3220 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003221 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3222the camera's flash unit,<wbr/> always firing it for still
3223captures.<wbr/> The flash may be fired during a precapture
3224sequence (triggered by
3225<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3226be fired for captures for which the
3227<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3228STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003229 </li>
3230 <li>
3231 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003232 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3233reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3234a red eye reduction flash will fire during the
3235precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003236 </li>
3237 </ul>
3238
3239 </td> <!-- entry_type -->
3240
3241 <td class="entry_description">
3242 <p>The desired mode for the camera device's
3243auto-exposure routine.<wbr/></p>
3244 </td>
3245
3246 <td class="entry_units">
3247 </td>
3248
3249 <td class="entry_range">
3250 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3251 </td>
3252
3253 <td class="entry_tags">
3254 <ul class="entry_tags">
3255 <li><a href="#tag_BC">BC</a></li>
3256 </ul>
3257 </td>
3258
3259 </tr>
3260 <tr class="entries_header">
3261 <th class="th_details" colspan="5">Details</th>
3262 </tr>
3263 <tr class="entry_cont">
3264 <td class="entry_details" colspan="5">
3265 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3266AUTO.<wbr/></p>
3267<p>When set to any of the ON modes,<wbr/> the camera device's
3268auto-exposure routine is enabled,<wbr/> overriding the
3269application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3270and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3271<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3272<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3273is selected,<wbr/> the camera device's flash unit controls are
3274also overridden.<wbr/></p>
3275<p>The FLASH modes are only available if the camera device
3276has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3277<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3278ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3279<p>When set to any of the ON modes,<wbr/> the values chosen by the
3280camera device auto-exposure routine for the overridden
3281fields for a given capture will be available in its
3282CaptureResult.<wbr/></p>
3283 </td>
3284 </tr>
3285
3286
3287 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3288 <!-- end of entry -->
3289
3290
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003291 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003292 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003293 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003294 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003295 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003296 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003297 <span class="entry_type_container">x</span>
3298
3299 <span class="entry_type_array">
3300 5 x area_count
3301 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003302 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003303
3304
3305 </td> <!-- entry_type -->
3306
3307 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003308 <p>List of areas to use for
3309metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003310 </td>
3311
3312 <td class="entry_units">
3313 </td>
3314
3315 <td class="entry_range">
3316 </td>
3317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003318 <td class="entry_tags">
3319 <ul class="entry_tags">
3320 <li><a href="#tag_BC">BC</a></li>
3321 </ul>
3322 </td>
3323
3324 </tr>
3325 <tr class="entries_header">
3326 <th class="th_details" colspan="5">Details</th>
3327 </tr>
3328 <tr class="entry_cont">
3329 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003330 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3331xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3332specified coordinates.<wbr/></p>
3333<p>The coordinate system is based on the active pixel array,<wbr/>
3334with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003335(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3336<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 -08003337bottom-right pixel in the active pixel array.<wbr/> The weight
3338should be nonnegative.<wbr/></p>
3339<p>If all regions have 0 weight,<wbr/> then no specific metering area
3340needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003341outside 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 -08003342should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003343used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003344 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003345 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003346
3347
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003348 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3349 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003350
3351
3352 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003353 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003354 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003355 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003356 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003357 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003358
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003359 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003360
3361 <ul class="entry_type_enum">
3362 <li>
3363 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003364 <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 -08003365this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003366 </li>
3367 <li>
3368 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003369 <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 -08003370for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003371 </li>
3372 <li>
3373 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003374 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003375current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003376 </li>
3377 <li>
3378 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003379 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003380 </li>
3381 <li>
3382 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003383 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3384needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003385capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003386 </li>
3387 <li>
3388 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003389 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003390(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3391and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003392completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003393FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003394 </li>
3395 </ul>
3396
3397 </td> <!-- entry_type -->
3398
3399 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003400 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003401 </td>
3402
3403 <td class="entry_units">
3404 </td>
3405
3406 <td class="entry_range">
3407 </td>
3408
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003409 <td class="entry_tags">
3410 </td>
3411
3412 </tr>
3413 <tr class="entries_header">
3414 <th class="th_details" colspan="5">Details</th>
3415 </tr>
3416 <tr class="entry_cont">
3417 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003418 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3419resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3420or <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
3421the algorithm states to INACTIVE.<wbr/></p>
3422<p>The camera device can do several state transitions between two results,<wbr/> if it is
3423allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3424seen in a result.<wbr/></p>
3425<p>The state in the result is the state for this image (in sync with this image): if
3426AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3427be good to use.<wbr/></p>
3428<p>Below are state transition tables for different AE modes.<wbr/></p>
3429<table>
3430<thead>
3431<tr>
3432<th align="center">State</th>
3433<th align="center">Transition Cause</th>
3434<th align="center">New State</th>
3435<th align="center">Notes</th>
3436</tr>
3437</thead>
3438<tbody>
3439<tr>
3440<td align="center">INACTIVE</td>
3441<td align="center"></td>
3442<td align="center">INACTIVE</td>
3443<td align="center">Camera device auto exposure algorithm is disabled</td>
3444</tr>
3445</tbody>
3446</table>
3447<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3448<table>
3449<thead>
3450<tr>
3451<th align="center">State</th>
3452<th align="center">Transition Cause</th>
3453<th align="center">New State</th>
3454<th align="center">Notes</th>
3455</tr>
3456</thead>
3457<tbody>
3458<tr>
3459<td align="center">INACTIVE</td>
3460<td align="center">Camera device initiates AE scan</td>
3461<td align="center">SEARCHING</td>
3462<td align="center">Values changing</td>
3463</tr>
3464<tr>
3465<td align="center">INACTIVE</td>
3466<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3467<td align="center">LOCKED</td>
3468<td align="center">Values locked</td>
3469</tr>
3470<tr>
3471<td align="center">SEARCHING</td>
3472<td align="center">Camera device finishes AE scan</td>
3473<td align="center">CONVERGED</td>
3474<td align="center">Good values,<wbr/> not changing</td>
3475</tr>
3476<tr>
3477<td align="center">SEARCHING</td>
3478<td align="center">Camera device finishes AE scan</td>
3479<td align="center">FLASH_<wbr/>REQUIRED</td>
3480<td align="center">Converged but too dark w/<wbr/>o flash</td>
3481</tr>
3482<tr>
3483<td align="center">SEARCHING</td>
3484<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3485<td align="center">LOCKED</td>
3486<td align="center">Values locked</td>
3487</tr>
3488<tr>
3489<td align="center">CONVERGED</td>
3490<td align="center">Camera device initiates AE scan</td>
3491<td align="center">SEARCHING</td>
3492<td align="center">Values changing</td>
3493</tr>
3494<tr>
3495<td align="center">CONVERGED</td>
3496<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3497<td align="center">LOCKED</td>
3498<td align="center">Values locked</td>
3499</tr>
3500<tr>
3501<td align="center">FLASH_<wbr/>REQUIRED</td>
3502<td align="center">Camera device initiates AE scan</td>
3503<td align="center">SEARCHING</td>
3504<td align="center">Values changing</td>
3505</tr>
3506<tr>
3507<td align="center">FLASH_<wbr/>REQUIRED</td>
3508<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3509<td align="center">LOCKED</td>
3510<td align="center">Values locked</td>
3511</tr>
3512<tr>
3513<td align="center">LOCKED</td>
3514<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3515<td align="center">SEARCHING</td>
3516<td align="center">Values not good after unlock</td>
3517</tr>
3518<tr>
3519<td align="center">LOCKED</td>
3520<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3521<td align="center">CONVERGED</td>
3522<td align="center">Values good after unlock</td>
3523</tr>
3524<tr>
3525<td align="center">LOCKED</td>
3526<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3527<td align="center">FLASH_<wbr/>REQUIRED</td>
3528<td align="center">Exposure good,<wbr/> but too dark</td>
3529</tr>
3530<tr>
3531<td align="center">PRECAPTURE</td>
3532<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3533<td align="center">CONVERGED</td>
3534<td align="center">Ready for high-quality capture</td>
3535</tr>
3536<tr>
3537<td align="center">PRECAPTURE</td>
3538<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3539<td align="center">LOCKED</td>
3540<td align="center">Ready for high-quality capture</td>
3541</tr>
3542<tr>
3543<td align="center">Any state</td>
3544<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3545<td align="center">PRECAPTURE</td>
3546<td align="center">Start AE precapture metering sequence</td>
3547</tr>
3548</tbody>
3549</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003550 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003551 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003552
3553
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003554 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3555 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003556
3557
3558 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003559 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003560 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003561 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003562 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003563 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003564
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003565 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003566
3567 <ul class="entry_type_enum">
3568 <li>
3569 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003570 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3571<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3572application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003573 </li>
3574 <li>
3575 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003576 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3577<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
3578is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3579the autofocus trigger action is called.<wbr/> When that trigger
3580is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3581the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3582<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3583and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003584 </li>
3585 <li>
3586 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003587 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3588autofocus trigger action is called.<wbr/></p>
3589<p>When that trigger is activated,<wbr/> AF must transition to
3590ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3591NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3592position to default,<wbr/> and sets the AF state to
3593INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003594 </li>
3595 <li>
3596 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003597 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3598position continually to attempt to provide a
3599constantly-in-focus image stream.<wbr/></p>
3600<p>The focusing behavior should be suitable for good quality
3601video recording; typically this means slower focus
3602movement and no overshoots.<wbr/> When the AF trigger is not
3603involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3604and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3605states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3606the algorithm should immediately transition into
3607AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3608lens position until a cancel AF trigger is received.<wbr/></p>
3609<p>Once cancel is received,<wbr/> the algorithm should transition
3610back to INACTIVE and resume passive scan.<wbr/> Note that this
3611behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3612ongoing PASSIVE_<wbr/>SCAN must immediately be
3613canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003614 </li>
3615 <li>
3616 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003617 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3618position continually to attempt to provide a
3619constantly-in-focus image stream.<wbr/></p>
3620<p>The focusing behavior should be suitable for still image
3621capture; typically this means focusing as fast as
3622possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3623algorithm should start in INACTIVE state,<wbr/> and then
3624transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3625appropriate as it attempts to maintain focus.<wbr/> When the AF
3626trigger is activated,<wbr/> the algorithm should finish its
3627PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3628AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3629lens position until a cancel AF trigger is received.<wbr/></p>
3630<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3631should transition back to INACTIVE and then act as if it
3632has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003633 </li>
3634 <li>
3635 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003636 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3637trigger is ignored,<wbr/> AF state should always be
3638INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003639 </li>
3640 </ul>
3641
3642 </td> <!-- entry_type -->
3643
3644 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003645 <p>Whether AF is currently enabled,<wbr/> and what
3646mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003647 </td>
3648
3649 <td class="entry_units">
3650 </td>
3651
3652 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003653 <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 -08003654 </td>
3655
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003656 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003657 <ul class="entry_tags">
3658 <li><a href="#tag_BC">BC</a></li>
3659 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003660 </td>
3661
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003662 </tr>
3663 <tr class="entries_header">
3664 <th class="th_details" colspan="5">Details</th>
3665 </tr>
3666 <tr class="entry_cont">
3667 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003668 <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 -08003669<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3670the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3671in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003672 </td>
3673 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003674
3675
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003676 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3677 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003678
3679
3680 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003681 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003682 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003683 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003686 <span class="entry_type_container">x</span>
3687
3688 <span class="entry_type_array">
3689 5 x area_count
3690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003692
3693
3694 </td> <!-- entry_type -->
3695
3696 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003697 <p>List of areas to use for focus
3698estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003699 </td>
3700
3701 <td class="entry_units">
3702 </td>
3703
3704 <td class="entry_range">
3705 </td>
3706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003707 <td class="entry_tags">
3708 <ul class="entry_tags">
3709 <li><a href="#tag_BC">BC</a></li>
3710 </ul>
3711 </td>
3712
3713 </tr>
3714 <tr class="entries_header">
3715 <th class="th_details" colspan="5">Details</th>
3716 </tr>
3717 <tr class="entry_cont">
3718 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003719 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3720xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3721specified coordinates.<wbr/></p>
3722<p>The coordinate system is based on the active pixel array,<wbr/>
3723with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003724(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3725<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 -08003726bottom-right pixel in the active pixel array.<wbr/> The weight
3727should be nonnegative.<wbr/></p>
3728<p>If all regions have 0 weight,<wbr/> then no specific focus area
3729needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003730outside 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 -08003731should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003732used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003733 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003734 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003735
3736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003737 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3738 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003739
3740
3741 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003742 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003743 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003744 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003746 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003748 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003749
3750 <ul class="entry_type_enum">
3751 <li>
3752 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003753 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3754to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3755this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003756 </li>
3757 <li>
3758 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003759 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3760currently doing an AF scan initiated by a continuous
3761autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003762 </li>
3763 <li>
3764 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003765 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3766believes it is in focus,<wbr/> but may restart scanning at
3767any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003768 </li>
3769 <li>
3770 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003771 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3772an AF scan because it was triggered by AF
3773trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003774 </li>
3775 <li>
3776 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003777 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3778believes it is focused correctly and is
3779locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003780 </li>
3781 <li>
3782 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003783 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3784failed to focus successfully and is
3785locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003786 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003787 <li>
3788 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003789 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3790passive scan without finding focus,<wbr/> and may restart
3791scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003792 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003793 </ul>
3794
3795 </td> <!-- entry_type -->
3796
3797 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003798 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003799 </td>
3800
3801 <td class="entry_units">
3802 </td>
3803
3804 <td class="entry_range">
3805 </td>
3806
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003807 <td class="entry_tags">
3808 </td>
3809
3810 </tr>
3811 <tr class="entries_header">
3812 <th class="th_details" colspan="5">Details</th>
3813 </tr>
3814 <tr class="entry_cont">
3815 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003816 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3817resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3818or <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
3819the algorithm states to INACTIVE.<wbr/></p>
3820<p>The camera device can do several state transitions between two results,<wbr/> if it is
3821allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3822seen in a result.<wbr/></p>
3823<p>The state in the result is the state for this image (in sync with this image): if
3824AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3825be sharp.<wbr/></p>
3826<p>Below are state transition tables for different AF modes.<wbr/></p>
3827<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>
3828<table>
3829<thead>
3830<tr>
3831<th align="center">State</th>
3832<th align="center">Transition Cause</th>
3833<th align="center">New State</th>
3834<th align="center">Notes</th>
3835</tr>
3836</thead>
3837<tbody>
3838<tr>
3839<td align="center">INACTIVE</td>
3840<td align="center"></td>
3841<td align="center">INACTIVE</td>
3842<td align="center">Never changes</td>
3843</tr>
3844</tbody>
3845</table>
3846<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>
3847<table>
3848<thead>
3849<tr>
3850<th align="center">State</th>
3851<th align="center">Transition Cause</th>
3852<th align="center">New State</th>
3853<th align="center">Notes</th>
3854</tr>
3855</thead>
3856<tbody>
3857<tr>
3858<td align="center">INACTIVE</td>
3859<td align="center">AF_<wbr/>TRIGGER</td>
3860<td align="center">ACTIVE_<wbr/>SCAN</td>
3861<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3862</tr>
3863<tr>
3864<td align="center">ACTIVE_<wbr/>SCAN</td>
3865<td align="center">AF sweep done</td>
3866<td align="center">FOCUSED_<wbr/>LOCKED</td>
3867<td align="center">Focused,<wbr/> Lens now locked</td>
3868</tr>
3869<tr>
3870<td align="center">ACTIVE_<wbr/>SCAN</td>
3871<td align="center">AF sweep done</td>
3872<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3873<td align="center">Not focused,<wbr/> Lens now locked</td>
3874</tr>
3875<tr>
3876<td align="center">ACTIVE_<wbr/>SCAN</td>
3877<td align="center">AF_<wbr/>CANCEL</td>
3878<td align="center">INACTIVE</td>
3879<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3880</tr>
3881<tr>
3882<td align="center">FOCUSED_<wbr/>LOCKED</td>
3883<td align="center">AF_<wbr/>CANCEL</td>
3884<td align="center">INACTIVE</td>
3885<td align="center">Cancel/<wbr/>reset AF</td>
3886</tr>
3887<tr>
3888<td align="center">FOCUSED_<wbr/>LOCKED</td>
3889<td align="center">AF_<wbr/>TRIGGER</td>
3890<td align="center">ACTIVE_<wbr/>SCAN</td>
3891<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3892</tr>
3893<tr>
3894<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3895<td align="center">AF_<wbr/>CANCEL</td>
3896<td align="center">INACTIVE</td>
3897<td align="center">Cancel/<wbr/>reset AF</td>
3898</tr>
3899<tr>
3900<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3901<td align="center">AF_<wbr/>TRIGGER</td>
3902<td align="center">ACTIVE_<wbr/>SCAN</td>
3903<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3904</tr>
3905<tr>
3906<td align="center">Any state</td>
3907<td align="center">Mode change</td>
3908<td align="center">INACTIVE</td>
3909<td align="center"></td>
3910</tr>
3911</tbody>
3912</table>
3913<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>
3914<table>
3915<thead>
3916<tr>
3917<th align="center">State</th>
3918<th align="center">Transition Cause</th>
3919<th align="center">New State</th>
3920<th align="center">Notes</th>
3921</tr>
3922</thead>
3923<tbody>
3924<tr>
3925<td align="center">INACTIVE</td>
3926<td align="center">Camera device initiates new scan</td>
3927<td align="center">PASSIVE_<wbr/>SCAN</td>
3928<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3929</tr>
3930<tr>
3931<td align="center">INACTIVE</td>
3932<td align="center">AF_<wbr/>TRIGGER</td>
3933<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3934<td align="center">AF state query,<wbr/> Lens now locked</td>
3935</tr>
3936<tr>
3937<td align="center">PASSIVE_<wbr/>SCAN</td>
3938<td align="center">Camera device completes current scan</td>
3939<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3940<td align="center">End AF scan,<wbr/> Lens now locked</td>
3941</tr>
3942<tr>
3943<td align="center">PASSIVE_<wbr/>SCAN</td>
3944<td align="center">Camera device fails current scan</td>
3945<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3946<td align="center">End AF scan,<wbr/> Lens now locked</td>
3947</tr>
3948<tr>
3949<td align="center">PASSIVE_<wbr/>SCAN</td>
3950<td align="center">AF_<wbr/>TRIGGER</td>
3951<td align="center">FOCUSED_<wbr/>LOCKED</td>
3952<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
3953</tr>
3954<tr>
3955<td align="center">PASSIVE_<wbr/>SCAN</td>
3956<td align="center">AF_<wbr/>TRIGGER</td>
3957<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3958<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
3959</tr>
3960<tr>
3961<td align="center">PASSIVE_<wbr/>SCAN</td>
3962<td align="center">AF_<wbr/>CANCEL</td>
3963<td align="center">INACTIVE</td>
3964<td align="center">Reset lens position,<wbr/> Lens now locked</td>
3965</tr>
3966<tr>
3967<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3968<td align="center">Camera device initiates new scan</td>
3969<td align="center">PASSIVE_<wbr/>SCAN</td>
3970<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3971</tr>
3972<tr>
3973<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3974<td align="center">Camera device initiates new scan</td>
3975<td align="center">PASSIVE_<wbr/>SCAN</td>
3976<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3977</tr>
3978<tr>
3979<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3980<td align="center">AF_<wbr/>TRIGGER</td>
3981<td align="center">FOCUSED_<wbr/>LOCKED</td>
3982<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3983</tr>
3984<tr>
3985<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3986<td align="center">AF_<wbr/>TRIGGER</td>
3987<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3988<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3989</tr>
3990<tr>
3991<td align="center">FOCUSED_<wbr/>LOCKED</td>
3992<td align="center">AF_<wbr/>TRIGGER</td>
3993<td align="center">FOCUSED_<wbr/>LOCKED</td>
3994<td align="center">No effect</td>
3995</tr>
3996<tr>
3997<td align="center">FOCUSED_<wbr/>LOCKED</td>
3998<td align="center">AF_<wbr/>CANCEL</td>
3999<td align="center">INACTIVE</td>
4000<td align="center">Restart AF scan</td>
4001</tr>
4002<tr>
4003<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4004<td align="center">AF_<wbr/>TRIGGER</td>
4005<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4006<td align="center">No effect</td>
4007</tr>
4008<tr>
4009<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4010<td align="center">AF_<wbr/>CANCEL</td>
4011<td align="center">INACTIVE</td>
4012<td align="center">Restart AF scan</td>
4013</tr>
4014</tbody>
4015</table>
4016<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>
4017<table>
4018<thead>
4019<tr>
4020<th align="center">State</th>
4021<th align="center">Transition Cause</th>
4022<th align="center">New State</th>
4023<th align="center">Notes</th>
4024</tr>
4025</thead>
4026<tbody>
4027<tr>
4028<td align="center">INACTIVE</td>
4029<td align="center">Camera device initiates new scan</td>
4030<td align="center">PASSIVE_<wbr/>SCAN</td>
4031<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4032</tr>
4033<tr>
4034<td align="center">INACTIVE</td>
4035<td align="center">AF_<wbr/>TRIGGER</td>
4036<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4037<td align="center">AF state query,<wbr/> Lens now locked</td>
4038</tr>
4039<tr>
4040<td align="center">PASSIVE_<wbr/>SCAN</td>
4041<td align="center">Camera device completes current scan</td>
4042<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4043<td align="center">End AF scan,<wbr/> Lens now locked</td>
4044</tr>
4045<tr>
4046<td align="center">PASSIVE_<wbr/>SCAN</td>
4047<td align="center">Camera device fails current scan</td>
4048<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4049<td align="center">End AF scan,<wbr/> Lens now locked</td>
4050</tr>
4051<tr>
4052<td align="center">PASSIVE_<wbr/>SCAN</td>
4053<td align="center">AF_<wbr/>TRIGGER</td>
4054<td align="center">FOCUSED_<wbr/>LOCKED</td>
4055<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4056</tr>
4057<tr>
4058<td align="center">PASSIVE_<wbr/>SCAN</td>
4059<td align="center">AF_<wbr/>TRIGGER</td>
4060<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4061<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4062</tr>
4063<tr>
4064<td align="center">PASSIVE_<wbr/>SCAN</td>
4065<td align="center">AF_<wbr/>CANCEL</td>
4066<td align="center">INACTIVE</td>
4067<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4068</tr>
4069<tr>
4070<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4071<td align="center">Camera device initiates new scan</td>
4072<td align="center">PASSIVE_<wbr/>SCAN</td>
4073<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4074</tr>
4075<tr>
4076<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4077<td align="center">Camera device initiates new scan</td>
4078<td align="center">PASSIVE_<wbr/>SCAN</td>
4079<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4080</tr>
4081<tr>
4082<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4083<td align="center">AF_<wbr/>TRIGGER</td>
4084<td align="center">FOCUSED_<wbr/>LOCKED</td>
4085<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4086</tr>
4087<tr>
4088<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4089<td align="center">AF_<wbr/>TRIGGER</td>
4090<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4091<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4092</tr>
4093<tr>
4094<td align="center">FOCUSED_<wbr/>LOCKED</td>
4095<td align="center">AF_<wbr/>TRIGGER</td>
4096<td align="center">FOCUSED_<wbr/>LOCKED</td>
4097<td align="center">No effect</td>
4098</tr>
4099<tr>
4100<td align="center">FOCUSED_<wbr/>LOCKED</td>
4101<td align="center">AF_<wbr/>CANCEL</td>
4102<td align="center">INACTIVE</td>
4103<td align="center">Restart AF scan</td>
4104</tr>
4105<tr>
4106<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4107<td align="center">AF_<wbr/>TRIGGER</td>
4108<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4109<td align="center">No effect</td>
4110</tr>
4111<tr>
4112<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4113<td align="center">AF_<wbr/>CANCEL</td>
4114<td align="center">INACTIVE</td>
4115<td align="center">Restart AF scan</td>
4116</tr>
4117</tbody>
4118</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004119 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004120 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004121
4122
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004123 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4124 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004125
4126
4127 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004128 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004129 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004130 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004131 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004132 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004133
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004134 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004135
4136
4137 </td> <!-- entry_type -->
4138
4139 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004140 <p>The ID sent with the latest
4141CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004142 </td>
4143
4144 <td class="entry_units">
4145 </td>
4146
4147 <td class="entry_range">
4148 </td>
4149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004150 <td class="entry_tags">
4151 </td>
4152
4153 </tr>
4154 <tr class="entries_header">
4155 <th class="th_details" colspan="5">Details</th>
4156 </tr>
4157 <tr class="entry_cont">
4158 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004159 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4160received yet by HAL.<wbr/> Always updated even if AF algorithm
4161ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004162 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004163 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004164
4165
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004166 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4167 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004168
4169
4170 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004171 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004172 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004173 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004175 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004177 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004178
4179 <ul class="entry_type_enum">
4180 <li>
4181 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004182 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4183the application-selected color transform matrix
4184(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4185(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4186device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004187 </li>
4188 <li>
4189 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004190 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4191the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4192and <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 -08004193 </li>
4194 <li>
4195 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004196 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4197the camera device uses incandescent light as the assumed scene
4198illumination for white balance.<wbr/> While the exact white balance
4199transforms are up to the camera device,<wbr/> they will approximately
4200match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004201 </li>
4202 <li>
4203 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004204 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4205the camera device uses fluorescent light as the assumed scene
4206illumination for white balance.<wbr/> While the exact white balance
4207transforms are up to the camera device,<wbr/> they will approximately
4208match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004209 </li>
4210 <li>
4211 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004212 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4213the camera device uses warm fluorescent light as the assumed scene
4214illumination for white balance.<wbr/> While the exact white balance
4215transforms are up to the camera device,<wbr/> they will approximately
4216match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004217 </li>
4218 <li>
4219 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004220 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4221the camera device uses daylight light as the assumed scene
4222illumination for white balance.<wbr/> While the exact white balance
4223transforms are up to the camera device,<wbr/> they will approximately
4224match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004225 </li>
4226 <li>
4227 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004228 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4229the camera device uses cloudy daylight light as the assumed scene
4230illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004231 </li>
4232 <li>
4233 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004234 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4235the camera device uses twilight light as the assumed scene
4236illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237 </li>
4238 <li>
4239 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004240 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4241the camera device uses shade light as the assumed scene
4242illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243 </li>
4244 </ul>
4245
4246 </td> <!-- entry_type -->
4247
4248 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004249 <p>Whether AWB is currently setting the color
4250transform fields,<wbr/> and what its illumination target
4251is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004252 </td>
4253
4254 <td class="entry_units">
4255 </td>
4256
4257 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004258 <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 -08004259 </td>
4260
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004261 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004262 <ul class="entry_tags">
4263 <li><a href="#tag_BC">BC</a></li>
4264 <li><a href="#tag_AWB">AWB</a></li>
4265 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004266 </td>
4267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004268 </tr>
4269 <tr class="entries_header">
4270 <th class="th_details" colspan="5">Details</th>
4271 </tr>
4272 <tr class="entry_cont">
4273 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004274 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4275<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4276routine is enabled,<wbr/> overriding the application's selected
4277<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
4278<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4279<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4280routine is disabled.<wbr/> The applicantion manually controls the white
4281balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4282and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4283<p>When set to any other modes,<wbr/> the camera device's auto white balance
4284routine is disabled.<wbr/> The camera device uses each particular illumination
4285target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004286 </td>
4287 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004288
4289
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004290 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4291 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004292
4293
4294 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004295 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004296 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004297 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004298 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004299 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004300 <span class="entry_type_container">x</span>
4301
4302 <span class="entry_type_array">
4303 5 x area_count
4304 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004305 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004306
4307
4308 </td> <!-- entry_type -->
4309
4310 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004311 <p>List of areas to use for illuminant
4312estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004313 </td>
4314
4315 <td class="entry_units">
4316 </td>
4317
4318 <td class="entry_range">
4319 </td>
4320
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004321 <td class="entry_tags">
4322 <ul class="entry_tags">
4323 <li><a href="#tag_BC">BC</a></li>
4324 </ul>
4325 </td>
4326
4327 </tr>
4328 <tr class="entries_header">
4329 <th class="th_details" colspan="5">Details</th>
4330 </tr>
4331 <tr class="entry_cont">
4332 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004333 <p>Only used in AUTO mode.<wbr/></p>
4334<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4335xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4336specified coordinates.<wbr/></p>
4337<p>The coordinate system is based on the active pixel array,<wbr/>
4338with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004339(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4340<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 -08004341bottom-right pixel in the active pixel array.<wbr/> The weight
4342should be nonnegative.<wbr/></p>
4343<p>If all regions have 0 weight,<wbr/> then no specific metering area
4344needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004345outside 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 -08004346should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004347used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004348 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004349 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004350
4351
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004352 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4353 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004354
4355
4356 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004357 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004358 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004359 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004360 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004361 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004362
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004363 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004364
4365 <ul class="entry_type_enum">
4366 <li>
4367 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004368 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4369starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004370 </li>
4371 <li>
4372 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004373 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004374values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004375 </li>
4376 <li>
4377 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004378 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004379current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004380 </li>
4381 <li>
4382 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004383 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004384 </li>
4385 </ul>
4386
4387 </td> <!-- entry_type -->
4388
4389 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004390 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004391 </td>
4392
4393 <td class="entry_units">
4394 </td>
4395
4396 <td class="entry_range">
4397 </td>
4398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004399 <td class="entry_tags">
4400 </td>
4401
4402 </tr>
4403 <tr class="entries_header">
4404 <th class="th_details" colspan="5">Details</th>
4405 </tr>
4406 <tr class="entry_cont">
4407 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004408 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4409resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4410or <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
4411the algorithm states to INACTIVE.<wbr/></p>
4412<p>The camera device can do several state transitions between two results,<wbr/> if it is
4413allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4414a result.<wbr/></p>
4415<p>The state in the result is the state for this image (in sync with this image): if
4416AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4417be good to use.<wbr/></p>
4418<p>Below are state transition tables for different AWB modes.<wbr/></p>
4419<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4420<table>
4421<thead>
4422<tr>
4423<th align="center">State</th>
4424<th align="center">Transition Cause</th>
4425<th align="center">New State</th>
4426<th align="center">Notes</th>
4427</tr>
4428</thead>
4429<tbody>
4430<tr>
4431<td align="center">INACTIVE</td>
4432<td align="center"></td>
4433<td align="center">INACTIVE</td>
4434<td align="center">Camera device auto white balance algorithm is disabled</td>
4435</tr>
4436</tbody>
4437</table>
4438<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4439<table>
4440<thead>
4441<tr>
4442<th align="center">State</th>
4443<th align="center">Transition Cause</th>
4444<th align="center">New State</th>
4445<th align="center">Notes</th>
4446</tr>
4447</thead>
4448<tbody>
4449<tr>
4450<td align="center">INACTIVE</td>
4451<td align="center">Camera device initiates AWB scan</td>
4452<td align="center">SEARCHING</td>
4453<td align="center">Values changing</td>
4454</tr>
4455<tr>
4456<td align="center">INACTIVE</td>
4457<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4458<td align="center">LOCKED</td>
4459<td align="center">Values locked</td>
4460</tr>
4461<tr>
4462<td align="center">SEARCHING</td>
4463<td align="center">Camera device finishes AWB scan</td>
4464<td align="center">CONVERGED</td>
4465<td align="center">Good values,<wbr/> not changing</td>
4466</tr>
4467<tr>
4468<td align="center">SEARCHING</td>
4469<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4470<td align="center">LOCKED</td>
4471<td align="center">Values locked</td>
4472</tr>
4473<tr>
4474<td align="center">CONVERGED</td>
4475<td align="center">Camera device initiates AWB scan</td>
4476<td align="center">SEARCHING</td>
4477<td align="center">Values changing</td>
4478</tr>
4479<tr>
4480<td align="center">CONVERGED</td>
4481<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4482<td align="center">LOCKED</td>
4483<td align="center">Values locked</td>
4484</tr>
4485<tr>
4486<td align="center">LOCKED</td>
4487<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4488<td align="center">SEARCHING</td>
4489<td align="center">Values not good after unlock</td>
4490</tr>
4491<tr>
4492<td align="center">LOCKED</td>
4493<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4494<td align="center">CONVERGED</td>
4495<td align="center">Values good after unlock</td>
4496</tr>
4497</tbody>
4498</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004499 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004500 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004501
4502
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004503 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4504 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004505
4506
4507 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004508 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004509 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004510 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004511 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004512 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004513
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004514 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004515
4516 <ul class="entry_type_enum">
4517 <li>
4518 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004519 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4520routines are disabled,<wbr/> no other settings in
4521android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004522 </li>
4523 <li>
4524 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004525 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4526Manual control of capture parameters is disabled.<wbr/> All
4527controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4528effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004529 </li>
4530 <li>
4531 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004532 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4533control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4534controls; the HAL must ignore those settings while
4535USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4536scene mode).<wbr/> Other control entries are still active.<wbr/>
4537This setting can only be used if availableSceneModes !=
4538UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004539 </li>
4540 </ul>
4541
4542 </td> <!-- entry_type -->
4543
4544 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004545 <p>Overall mode of 3A control
4546routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004547 </td>
4548
4549 <td class="entry_units">
4550 </td>
4551
4552 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004553 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004554 </td>
4555
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004556 <td class="entry_tags">
4557 <ul class="entry_tags">
4558 <li><a href="#tag_BC">BC</a></li>
4559 </ul>
4560 </td>
4561
4562 </tr>
4563 <tr class="entries_header">
4564 <th class="th_details" colspan="5">Details</th>
4565 </tr>
4566 <tr class="entry_cont">
4567 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004568 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004569by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004570capture parameters itself.<wbr/></p>
4571<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004572android.<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 -08004573<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004574android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004575one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004576as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004577<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 -08004578 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004579 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004580
4581
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004582 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4583 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004584
4585
4586
4587 <!-- end of kind -->
4588 </tbody>
4589
4590 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004591 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004592
4593
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004594 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004595
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004596 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004597 <tr>
4598 <th class="th_name">Property Name</th>
4599 <th class="th_type">Type</th>
4600 <th class="th_description">Description</th>
4601 <th class="th_units">Units</th>
4602 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004603 <th class="th_tags">Tags</th>
4604 </tr>
4605 </thead>
4606
4607 <tbody>
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004619 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004620 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004621 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004622 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004623 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004624
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004625 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004626
4627 <ul class="entry_type_enum">
4628 <li>
4629 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004630 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4631Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004632 </li>
4633 <li>
4634 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004635 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4636rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004637 </li>
4638 </ul>
4639
4640 </td> <!-- entry_type -->
4641
4642 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004643 <p>Controls the quality of the demosaicing
4644processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004645 </td>
4646
4647 <td class="entry_units">
4648 </td>
4649
4650 <td class="entry_range">
4651 </td>
4652
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004653 <td class="entry_tags">
4654 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004655 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004656 </ul>
4657 </td>
4658
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004659 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004660
4661
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004662 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4663 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004664
4665
4666
4667 <!-- end of kind -->
4668 </tbody>
4669
4670 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004671 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004672
4673
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004674 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004675
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004676 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004677 <tr>
4678 <th class="th_name">Property Name</th>
4679 <th class="th_type">Type</th>
4680 <th class="th_description">Description</th>
4681 <th class="th_units">Units</th>
4682 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004683 <th class="th_tags">Tags</th>
4684 </tr>
4685 </thead>
4686
4687 <tbody>
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004699 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004700 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004701 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004702 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004703 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004704
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004705 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004706
4707 <ul class="entry_type_enum">
4708 <li>
4709 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004710 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004711 </li>
4712 <li>
4713 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004714 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4715output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004716 </li>
4717 <li>
4718 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004719 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4720quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004721 </li>
4722 </ul>
4723
4724 </td> <!-- entry_type -->
4725
4726 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004727 <p>Operation mode for edge
4728enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004729 </td>
4730
4731 <td class="entry_units">
4732 </td>
4733
4734 <td class="entry_range">
4735 </td>
4736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004737 <td class="entry_tags">
4738 </td>
4739
4740 </tr>
4741 <tr class="entries_header">
4742 <th class="th_details" colspan="5">Details</th>
4743 </tr>
4744 <tr class="entry_cont">
4745 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004746 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4747enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004748<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004749will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004750camera device will use the highest-quality enhancement algorithms,<wbr/>
4751even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004752not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004753 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004754 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004755
4756
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004757 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4758 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004759
4760
4761 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004762 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004763 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004764 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004766 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004767
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004768 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004769
4770
4771 </td> <!-- entry_type -->
4772
4773 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004774 <p>Control the amount of edge enhancement
4775applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004776 </td>
4777
4778 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004779 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004780 </td>
4781
4782 <td class="entry_range">
4783 </td>
4784
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004785 <td class="entry_tags">
4786 </td>
4787
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004788 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004789
4790
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004791 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4792 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004793
4794
4795
4796 <!-- end of kind -->
4797 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004798 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004799
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004800 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004801 <tr>
4802 <th class="th_name">Property Name</th>
4803 <th class="th_type">Type</th>
4804 <th class="th_description">Description</th>
4805 <th class="th_units">Units</th>
4806 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004807 <th class="th_tags">Tags</th>
4808 </tr>
4809 </thead>
4810
4811 <tbody>
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004823 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004824 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004825 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004826 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004827 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004829 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004830
4831 <ul class="entry_type_enum">
4832 <li>
4833 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004834 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004835 </li>
4836 <li>
4837 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004838 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4839output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004840 </li>
4841 <li>
4842 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004843 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4844quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004845 </li>
4846 </ul>
4847
4848 </td> <!-- entry_type -->
4849
4850 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004851 <p>Operation mode for edge
4852enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004853 </td>
4854
4855 <td class="entry_units">
4856 </td>
4857
4858 <td class="entry_range">
4859 </td>
4860
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004861 <td class="entry_tags">
4862 </td>
4863
4864 </tr>
4865 <tr class="entries_header">
4866 <th class="th_details" colspan="5">Details</th>
4867 </tr>
4868 <tr class="entry_cont">
4869 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004870 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4871enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004872<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004873will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004874camera device will use the highest-quality enhancement algorithms,<wbr/>
4875even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004876not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004877 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004878 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004879
4880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004881 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4882 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004883
4884
4885
4886 <!-- end of kind -->
4887 </tbody>
4888
4889 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004890 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004891
4892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004893 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004894
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004895 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004896 <tr>
4897 <th class="th_name">Property Name</th>
4898 <th class="th_type">Type</th>
4899 <th class="th_description">Description</th>
4900 <th class="th_units">Units</th>
4901 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004902 <th class="th_tags">Tags</th>
4903 </tr>
4904 </thead>
4905
4906 <tbody>
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004918 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004919 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004920 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004921 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004922 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004923
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004924 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004925
4926
4927 </td> <!-- entry_type -->
4928
4929 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004930 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004931 </td>
4932
4933 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004934 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004935 </td>
4936
4937 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004938 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004939 </td>
4940
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004941 <td class="entry_tags">
4942 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004943 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004944 </ul>
4945 </td>
4946
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004947 </tr>
4948 <tr class="entries_header">
4949 <th class="th_details" colspan="5">Details</th>
4950 </tr>
4951 <tr class="entry_cont">
4952 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004953 <p>Power for snapshot may use a different scale than
4954for torch mode.<wbr/> Only one entry for torch mode will be
4955used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004956 </td>
4957 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004958
4959
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004960 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4961 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004962
4963
4964 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004965 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004966 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004967 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004968 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004969 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004970
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004971 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004972
4973
4974 </td> <!-- entry_type -->
4975
4976 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004977 <p>Firing time of flash relative to start of
4978exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004979 </td>
4980
4981 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004982 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004983 </td>
4984
4985 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004986 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004987 </td>
4988
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004989 <td class="entry_tags">
4990 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004991 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004992 </ul>
4993 </td>
4994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004995 </tr>
4996 <tr class="entries_header">
4997 <th class="th_details" colspan="5">Details</th>
4998 </tr>
4999 <tr class="entry_cont">
5000 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005001 <p>Clamped to (0,<wbr/> exposure time - flash
5002duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005003 </td>
5004 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005005
5006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005007 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5008 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005009
5010
5011 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005012 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005013 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005014 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005015 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005016 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005017
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005018 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005019
5020 <ul class="entry_type_enum">
5021 <li>
5022 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005023 <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 -08005024 </li>
5025 <li>
5026 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005027 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5028for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5029<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005030 </li>
5031 <li>
5032 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005033 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005034 </li>
5035 </ul>
5036
5037 </td> <!-- entry_type -->
5038
5039 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005040 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005041 </td>
5042
5043 <td class="entry_units">
5044 </td>
5045
5046 <td class="entry_range">
5047 </td>
5048
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005049 <td class="entry_tags">
5050 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005051 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005052 </ul>
5053 </td>
5054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005055 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005056 <tr class="entries_header">
5057 <th class="th_details" colspan="5">Details</th>
5058 </tr>
5059 <tr class="entry_cont">
5060 <td class="entry_details" colspan="5">
5061 <p>This control is only effective when flash unit is available
5062(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5063<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/>
5064Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5065ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5066<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5067<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5068device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5069control should be used along with AE precapture metering sequence
5070(<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>
5071<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5072for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5073 </td>
5074 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005075
5076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005077 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5078 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005079
5080
5081
5082 <!-- end of kind -->
5083 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005084 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005085
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005086 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005087 <tr>
5088 <th class="th_name">Property Name</th>
5089 <th class="th_type">Type</th>
5090 <th class="th_description">Description</th>
5091 <th class="th_units">Units</th>
5092 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005093 <th class="th_tags">Tags</th>
5094 </tr>
5095 </thead>
5096
5097 <tbody>
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005111 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005112 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005113 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005114 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005115 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005116
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005117 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005118
5119
5120 </td> <!-- entry_type -->
5121
5122 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005123 <p>Whether this camera has a
5124flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005125 </td>
5126
5127 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005128 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005129 </td>
5130
5131 <td class="entry_range">
5132 </td>
5133
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134 <td class="entry_tags">
5135 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005136 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005137 </ul>
5138 </td>
5139
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005140 </tr>
5141 <tr class="entries_header">
5142 <th class="th_details" colspan="5">Details</th>
5143 </tr>
5144 <tr class="entry_cont">
5145 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005146 <p>If no flash,<wbr/> none of the flash controls do
5147anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005148 </td>
5149 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005150
5151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005152 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5153 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005154
5155
5156 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005157 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005158 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005159 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005160 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005161 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005162
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005163 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005164
5165
5166 </td> <!-- entry_type -->
5167
5168 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005169 <p>Time taken before flash can fire
5170again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005171 </td>
5172
5173 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005174 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005175 </td>
5176
5177 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005178 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005179 </td>
5180
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005181 <td class="entry_tags">
5182 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005183 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005184 </ul>
5185 </td>
5186
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005187 </tr>
5188 <tr class="entries_header">
5189 <th class="th_details" colspan="5">Details</th>
5190 </tr>
5191 <tr class="entry_cont">
5192 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005193 <p>1 second too long/<wbr/>too short for recharge? Should
5194this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005195 </td>
5196 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005197
5198
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005199 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5200 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005201
5202
5203
5204
5205
5206 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005207 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005208 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005209 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005211 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005212
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005213 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005214
5215
5216 </td> <!-- entry_type -->
5217
5218 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005219 <p>The x,<wbr/>y whitepoint of the
5220flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005221 </td>
5222
5223 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005224 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005225 </td>
5226
5227 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005228 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005229 </td>
5230
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005231 <td class="entry_tags">
5232 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005233 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005234 </ul>
5235 </td>
5236
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005237 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005238
5239
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005240 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5241 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005242
5243
5244 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005245 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005246 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005247 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005248 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005249 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005250
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005251 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005252
5253
5254 </td> <!-- entry_type -->
5255
5256 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005257 <p>Max energy output of the flash for a full
5258power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005259 </td>
5260
5261 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005262 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005263 </td>
5264
5265 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005266 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005267 </td>
5268
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005269 <td class="entry_tags">
5270 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005271 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005272 </ul>
5273 </td>
5274
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005275 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005276
5277
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005278 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5279 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005280
5281
5282
5283 <!-- end of kind -->
5284 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005285 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005287 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005288 <tr>
5289 <th class="th_name">Property Name</th>
5290 <th class="th_type">Type</th>
5291 <th class="th_description">Description</th>
5292 <th class="th_units">Units</th>
5293 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005294 <th class="th_tags">Tags</th>
5295 </tr>
5296 </thead>
5297
5298 <tbody>
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005310 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005311 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005312 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005313 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005314 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005315
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005316 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005317
5318
5319 </td> <!-- entry_type -->
5320
5321 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005322 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005323 </td>
5324
5325 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005326 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005327 </td>
5328
5329 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005330 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005331 </td>
5332
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005333 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005334 <ul class="entry_tags">
5335 <li><a href="#tag_V1">V1</a></li>
5336 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005337 </td>
5338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005339 </tr>
5340 <tr class="entries_header">
5341 <th class="th_details" colspan="5">Details</th>
5342 </tr>
5343 <tr class="entry_cont">
5344 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005345 <p>Power for snapshot may use a different scale than
5346for torch mode.<wbr/> Only one entry for torch mode will be
5347used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005348 </td>
5349 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005350
5351
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005352 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5353 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005354
5355
5356 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005357 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005358 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005359 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005360 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005361 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005362
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005363 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005364
5365
5366 </td> <!-- entry_type -->
5367
5368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005369 <p>Firing time of flash relative to start of
5370exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005371 </td>
5372
5373 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005374 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005375 </td>
5376
5377 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005378 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005379 </td>
5380
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005381 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005382 <ul class="entry_tags">
5383 <li><a href="#tag_V1">V1</a></li>
5384 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005385 </td>
5386
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005387 </tr>
5388 <tr class="entries_header">
5389 <th class="th_details" colspan="5">Details</th>
5390 </tr>
5391 <tr class="entry_cont">
5392 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005393 <p>Clamped to (0,<wbr/> exposure time - flash
5394duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005395 </td>
5396 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005397
5398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005399 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5400 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005401
5402
5403 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005404 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005405 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005406 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005407 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005408 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005409
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005410 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005411
5412 <ul class="entry_type_enum">
5413 <li>
5414 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005415 <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 -08005416 </li>
5417 <li>
5418 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005419 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5420for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5421<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005422 </li>
5423 <li>
5424 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005425 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005426 </li>
5427 </ul>
5428
5429 </td> <!-- entry_type -->
5430
5431 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005432 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005433 </td>
5434
5435 <td class="entry_units">
5436 </td>
5437
5438 <td class="entry_range">
5439 </td>
5440
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005441 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005442 <ul class="entry_tags">
5443 <li><a href="#tag_BC">BC</a></li>
5444 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005445 </td>
5446
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005447 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005448 <tr class="entries_header">
5449 <th class="th_details" colspan="5">Details</th>
5450 </tr>
5451 <tr class="entry_cont">
5452 <td class="entry_details" colspan="5">
5453 <p>This control is only effective when flash unit is available
5454(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5455<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/>
5456Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5457ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5458<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5459<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5460device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5461control should be used along with AE precapture metering sequence
5462(<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>
5463<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5464for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5465 </td>
5466 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005467
5468
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005469 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5470 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005471
5472
5473 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005474 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005475 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005476 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005477 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005478 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005479
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005480 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005481
5482 <ul class="entry_type_enum">
5483 <li>
5484 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005485 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005486 </li>
5487 <li>
5488 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005489 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5490charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005491 </li>
5492 <li>
5493 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005494 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5495ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005496 </li>
5497 <li>
5498 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005499 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5500for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005501 </li>
5502 </ul>
5503
5504 </td> <!-- entry_type -->
5505
5506 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005507 <p>Current state of the flash
5508unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005509 </td>
5510
5511 <td class="entry_units">
5512 </td>
5513
5514 <td class="entry_range">
5515 </td>
5516
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005517 <td class="entry_tags">
5518 </td>
5519
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005520 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005521
5522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005523 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5524 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005525
5526
5527
5528 <!-- end of kind -->
5529 </tbody>
5530
5531 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005532 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005533
5534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005535 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005536
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005537 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005538 <tr>
5539 <th class="th_name">Property Name</th>
5540 <th class="th_type">Type</th>
5541 <th class="th_description">Description</th>
5542 <th class="th_units">Units</th>
5543 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005544 <th class="th_tags">Tags</th>
5545 </tr>
5546 </thead>
5547
5548 <tbody>
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005560 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005561 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005562 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005564 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005565
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005566 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005567
5568 <ul class="entry_type_enum">
5569 <li>
5570 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005571 <span class="entry_type_enum_notes"><p>No geometric correction is
5572applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005573 </li>
5574 <li>
5575 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005576 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5577bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005578 </li>
5579 <li>
5580 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005581 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5582quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005583 </li>
5584 </ul>
5585
5586 </td> <!-- entry_type -->
5587
5588 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005589 <p>Operating mode of geometric
5590correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005591 </td>
5592
5593 <td class="entry_units">
5594 </td>
5595
5596 <td class="entry_range">
5597 </td>
5598
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005599 <td class="entry_tags">
5600 </td>
5601
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005602 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005603
5604
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005605 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5606 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005607
5608
5609 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005610 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005611 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005612 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005613 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005614 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005615
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005616 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005617
5618
5619 </td> <!-- entry_type -->
5620
5621 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005622 <p>Control the amount of shading correction
5623applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005624 </td>
5625
5626 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005627 unitless: 1-10; 10 is full shading
5628 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005629 </td>
5630
5631 <td class="entry_range">
5632 </td>
5633
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005634 <td class="entry_tags">
5635 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005636 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005637 </ul>
5638 </td>
5639
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005640 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005641
5642
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005643 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5644 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005645
5646
5647
5648 <!-- end of kind -->
5649 </tbody>
5650
5651 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005652 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005653
5654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005655 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005657 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005658 <tr>
5659 <th class="th_name">Property Name</th>
5660 <th class="th_type">Type</th>
5661 <th class="th_description">Description</th>
5662 <th class="th_units">Units</th>
5663 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664 <th class="th_tags">Tags</th>
5665 </tr>
5666 </thead>
5667
5668 <tbody>
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005680 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005681 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005682 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005683 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005684 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005686 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005687
5688 <ul class="entry_type_enum">
5689 <li>
5690 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005691 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5692applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005693 </li>
5694 <li>
5695 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005696 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5697Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005698 </li>
5699 <li>
5700 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005701 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5702quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005703 </li>
5704 </ul>
5705
5706 </td> <!-- entry_type -->
5707
5708 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005709 <p>Set operational mode for hot pixel
5710correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005711 </td>
5712
5713 <td class="entry_units">
5714 </td>
5715
5716 <td class="entry_range">
5717 </td>
5718
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005719 <td class="entry_tags">
5720 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005721 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005722 </ul>
5723 </td>
5724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005725 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005726
5727
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005728 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5729 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005730
5731
5732
5733 <!-- end of kind -->
5734 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005735 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005737 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005738 <tr>
5739 <th class="th_name">Property Name</th>
5740 <th class="th_type">Type</th>
5741 <th class="th_description">Description</th>
5742 <th class="th_units">Units</th>
5743 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005744 <th class="th_tags">Tags</th>
5745 </tr>
5746 </thead>
5747
5748 <tbody>
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005762 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005763 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005764 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005765 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005766 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005767 <span class="entry_type_container">x</span>
5768
5769 <span class="entry_type_array">
5770 2 x n
5771 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005772 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005773 <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 -08005774
5775
5776 </td> <!-- entry_type -->
5777
5778 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005779 <p>Location of hot/<wbr/>defective pixels on
5780sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005781 </td>
5782
5783 <td class="entry_units">
5784 </td>
5785
5786 <td class="entry_range">
5787 </td>
5788
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005789 <td class="entry_tags">
5790 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005791 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005792 </ul>
5793 </td>
5794
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005795 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005796
5797
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005798 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5799 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005800
5801
5802
5803
5804
5805
5806 <!-- end of kind -->
5807 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005808 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005809
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005810 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005811 <tr>
5812 <th class="th_name">Property Name</th>
5813 <th class="th_type">Type</th>
5814 <th class="th_description">Description</th>
5815 <th class="th_units">Units</th>
5816 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005817 <th class="th_tags">Tags</th>
5818 </tr>
5819 </thead>
5820
5821 <tbody>
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005833 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005834 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005835 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005836 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005837 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005838
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005839 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005840
5841 <ul class="entry_type_enum">
5842 <li>
5843 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005844 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5845applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005846 </li>
5847 <li>
5848 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005849 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5850Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005851 </li>
5852 <li>
5853 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005854 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5855quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856 </li>
5857 </ul>
5858
5859 </td> <!-- entry_type -->
5860
5861 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005862 <p>Set operational mode for hot pixel
5863correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005864 </td>
5865
5866 <td class="entry_units">
5867 </td>
5868
5869 <td class="entry_range">
5870 </td>
5871
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005872 <td class="entry_tags">
5873 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005874 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005875 </ul>
5876 </td>
5877
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005878 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005879
5880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005881 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5882 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005883
5884
5885
5886 <!-- end of kind -->
5887 </tbody>
5888
5889 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005890 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005891
5892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005893 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005894
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005895 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005896 <tr>
5897 <th class="th_name">Property Name</th>
5898 <th class="th_type">Type</th>
5899 <th class="th_description">Description</th>
5900 <th class="th_units">Units</th>
5901 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005902 <th class="th_tags">Tags</th>
5903 </tr>
5904 </thead>
5905
5906 <tbody>
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005918 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005919 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005920 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005921 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005922 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005923 <span class="entry_type_container">x</span>
5924
5925 <span class="entry_type_array">
5926 3
5927 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005928 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005929 <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 -08005930
5931
5932 </td> <!-- entry_type -->
5933
5934 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005935 <p>GPS coordinates to include in output JPEG
5936EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005937 </td>
5938
5939 <td class="entry_units">
5940 </td>
5941
5942 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005943 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005944 </td>
5945
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005946 <td class="entry_tags">
5947 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005948 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005949 </ul>
5950 </td>
5951
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005952 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005953
5954
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005955 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5956 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005957
5958
5959 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005960 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005961 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005962 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005963 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005964 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005965
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005966 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005967
5968
5969 </td> <!-- entry_type -->
5970
5971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005972 <p>32 characters describing GPS algorithm to
5973include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005974 </td>
5975
5976 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005977 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005978 </td>
5979
5980 <td class="entry_range">
5981 </td>
5982
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005983 <td class="entry_tags">
5984 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005985 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005986 </ul>
5987 </td>
5988
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005989 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005990
5991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005992 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5993 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005994
5995
5996 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005997 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005998 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005999 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006000 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006001 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006002
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006003 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006004
6005
6006 </td> <!-- entry_type -->
6007
6008 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006009 <p>Time GPS fix was made to include in
6010EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006011 </td>
6012
6013 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006014 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006015 </td>
6016
6017 <td class="entry_range">
6018 </td>
6019
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006020 <td class="entry_tags">
6021 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006022 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006023 </ul>
6024 </td>
6025
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006026 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006027
6028
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006029 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6030 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006031
6032
6033 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006034 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006035 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006036 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006037 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006038 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006039
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006040 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006041
6042
6043 </td> <!-- entry_type -->
6044
6045 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006046 <p>Orientation of JPEG image to
6047write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006048 </td>
6049
6050 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006051 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006052 </td>
6053
6054 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006055 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006056 </td>
6057
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006058 <td class="entry_tags">
6059 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006060 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061 </ul>
6062 </td>
6063
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006064 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006065
6066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006067 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6068 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006069
6070
6071 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006072 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006073 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006074 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006075 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006076 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006077
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006078 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006079
6080
6081 </td> <!-- entry_type -->
6082
6083 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006084 <p>Compression quality of the final JPEG
6085image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006086 </td>
6087
6088 <td class="entry_units">
6089 </td>
6090
6091 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006092 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006093 </td>
6094
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006095 <td class="entry_tags">
6096 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006097 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098 </ul>
6099 </td>
6100
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006101 </tr>
6102 <tr class="entries_header">
6103 <th class="th_details" colspan="5">Details</th>
6104 </tr>
6105 <tr class="entry_cont">
6106 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006107 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006108 </td>
6109 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006110
6111
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006112 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6113 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006114
6115
6116 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006117 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006118 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006119 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006120 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006121 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006122
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006123 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006124
6125
6126 </td> <!-- entry_type -->
6127
6128 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006129 <p>Compression quality of JPEG
6130thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006131 </td>
6132
6133 <td class="entry_units">
6134 </td>
6135
6136 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006137 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006138 </td>
6139
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006140 <td class="entry_tags">
6141 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006142 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143 </ul>
6144 </td>
6145
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006146 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006147
6148
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006149 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6150 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006151
6152
6153 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006154 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006155 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006156 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006157 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006158 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006159 <span class="entry_type_container">x</span>
6160
6161 <span class="entry_type_array">
6162 2
6163 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006164 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006165
6166
6167 </td> <!-- entry_type -->
6168
6169 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006170 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006171 </td>
6172
6173 <td class="entry_units">
6174 </td>
6175
6176 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006177 <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 -08006178 </td>
6179
6180 <td class="entry_tags">
6181 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006182 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006183 </ul>
6184 </td>
6185
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006186 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006187 <tr class="entries_header">
6188 <th class="th_details" colspan="5">Details</th>
6189 </tr>
6190 <tr class="entry_cont">
6191 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006192 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6193but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006194<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6195the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006196 </td>
6197 </tr>
6198
6199
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006200 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6201 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006202
6203
6204
6205 <!-- end of kind -->
6206 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006207 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006208
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006209 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006210 <tr>
6211 <th class="th_name">Property Name</th>
6212 <th class="th_type">Type</th>
6213 <th class="th_description">Description</th>
6214 <th class="th_units">Units</th>
6215 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006216 <th class="th_tags">Tags</th>
6217 </tr>
6218 </thead>
6219
6220 <tbody>
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006232 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006233 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006234 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006236 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006237 <span class="entry_type_container">x</span>
6238
6239 <span class="entry_type_array">
6240 2 x n
6241 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006242 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006243
6244
6245 </td> <!-- entry_type -->
6246
6247 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006248 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006249 </td>
6250
6251 <td class="entry_units">
6252 </td>
6253
6254 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006255 <p>Will include at least one valid resolution,<wbr/> plus
6256(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006257 </td>
6258
6259 <td class="entry_tags">
6260 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006261 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006262 </ul>
6263 </td>
6264
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006265 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006266 <tr class="entries_header">
6267 <th class="th_details" colspan="5">Details</th>
6268 </tr>
6269 <tr class="entry_cont">
6270 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006271 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006272<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006273<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6274If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6275<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006276aspect 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 -08006277The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006278in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006279<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 -08006280one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6281and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006282<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006283</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006284 </td>
6285 </tr>
6286
6287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006288 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6289 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006290
6291
6292 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006293 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006294 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006295 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006297 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006298
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006299 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006300
6301
6302 </td> <!-- entry_type -->
6303
6304 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006305 <p>Maximum size in bytes for the compressed
6306JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006307 </td>
6308
6309 <td class="entry_units">
6310 </td>
6311
6312 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006313 <p>Must be large enough to fit any JPEG produced by
6314the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006315 </td>
6316
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006317 <td class="entry_tags">
6318 </td>
6319
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006320 </tr>
6321 <tr class="entries_header">
6322 <th class="th_details" colspan="5">Details</th>
6323 </tr>
6324 <tr class="entry_cont">
6325 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006326 <p>This is used for sizing the gralloc buffers for
6327JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006328 </td>
6329 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006330
6331
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006332 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6333 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006334
6335
6336
6337 <!-- end of kind -->
6338 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006339 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006340
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006341 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006342 <tr>
6343 <th class="th_name">Property Name</th>
6344 <th class="th_type">Type</th>
6345 <th class="th_description">Description</th>
6346 <th class="th_units">Units</th>
6347 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006348 <th class="th_tags">Tags</th>
6349 </tr>
6350 </thead>
6351
6352 <tbody>
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006364 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006365 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006366 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006367 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006368 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006369 <span class="entry_type_container">x</span>
6370
6371 <span class="entry_type_array">
6372 3
6373 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006374 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006375 <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 -08006376
6377
6378 </td> <!-- entry_type -->
6379
6380 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006381 <p>GPS coordinates to include in output JPEG
6382EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006383 </td>
6384
6385 <td class="entry_units">
6386 </td>
6387
6388 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006389 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006390 </td>
6391
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006392 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006393 <ul class="entry_tags">
6394 <li><a href="#tag_BC">BC</a></li>
6395 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006396 </td>
6397
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006398 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006399
6400
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006401 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6402 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006403
6404
6405 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006406 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006407 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006408 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006409 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006410 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006411
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006412 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006413
6414
6415 </td> <!-- entry_type -->
6416
6417 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006418 <p>32 characters describing GPS algorithm to
6419include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006420 </td>
6421
6422 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006423 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006424 </td>
6425
6426 <td class="entry_range">
6427 </td>
6428
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006429 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006430 <ul class="entry_tags">
6431 <li><a href="#tag_BC">BC</a></li>
6432 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006433 </td>
6434
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006435 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006436
6437
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006438 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6439 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006440
6441
6442 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006443 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006444 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006445 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006446 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006447 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006448
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006449 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006450
6451
6452 </td> <!-- entry_type -->
6453
6454 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006455 <p>Time GPS fix was made to include in
6456EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006457 </td>
6458
6459 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006460 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006461 </td>
6462
6463 <td class="entry_range">
6464 </td>
6465
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006466 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006467 <ul class="entry_tags">
6468 <li><a href="#tag_BC">BC</a></li>
6469 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006470 </td>
6471
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006472 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006473
6474
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006475 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6476 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006477
6478
6479 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006480 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006481 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006482 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006483 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006484 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006486 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006487
6488
6489 </td> <!-- entry_type -->
6490
6491 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006492 <p>Orientation of JPEG image to
6493write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006494 </td>
6495
6496 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006497 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006498 </td>
6499
6500 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006501 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006502 </td>
6503
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006504 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006505 <ul class="entry_tags">
6506 <li><a href="#tag_BC">BC</a></li>
6507 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006508 </td>
6509
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006510 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006511
6512
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006513 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6514 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006515
6516
6517 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006518 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006519 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006520 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006521 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006522 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006523
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006524 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006525
6526
6527 </td> <!-- entry_type -->
6528
6529 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006530 <p>Compression quality of the final JPEG
6531image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006532 </td>
6533
6534 <td class="entry_units">
6535 </td>
6536
6537 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006538 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006539 </td>
6540
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006541 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006542 <ul class="entry_tags">
6543 <li><a href="#tag_BC">BC</a></li>
6544 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006545 </td>
6546
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006547 </tr>
6548 <tr class="entries_header">
6549 <th class="th_details" colspan="5">Details</th>
6550 </tr>
6551 <tr class="entry_cont">
6552 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006553 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006554 </td>
6555 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006556
6557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006558 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6559 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006560
6561
6562 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006563 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006564 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006565 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006566 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006567 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006568
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006569 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006570
6571
6572 </td> <!-- entry_type -->
6573
6574 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006575 <p>The size of the compressed JPEG image,<wbr/> in
6576bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006577 </td>
6578
6579 <td class="entry_units">
6580 </td>
6581
6582 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006583 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006584 </td>
6585
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006586 <td class="entry_tags">
6587 </td>
6588
6589 </tr>
6590 <tr class="entries_header">
6591 <th class="th_details" colspan="5">Details</th>
6592 </tr>
6593 <tr class="entry_cont">
6594 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006595 <p>If no JPEG output is produced for the request,<wbr/>
6596this must be 0.<wbr/></p>
6597<p>Otherwise,<wbr/> this describes the real size of the compressed
6598JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006599if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6600has <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 -08006601the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6602500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006603 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006604 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006605
6606
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006607 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6608 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006609
6610
6611 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006612 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006613 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006614 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006616 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006617
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006618 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006619
6620
6621 </td> <!-- entry_type -->
6622
6623 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006624 <p>Compression quality of JPEG
6625thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006626 </td>
6627
6628 <td class="entry_units">
6629 </td>
6630
6631 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006632 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006633 </td>
6634
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006635 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006636 <ul class="entry_tags">
6637 <li><a href="#tag_BC">BC</a></li>
6638 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006639 </td>
6640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006641 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006642
6643
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006644 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6645 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006646
6647
6648 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006649 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006650 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006651 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006652 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006653 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006654 <span class="entry_type_container">x</span>
6655
6656 <span class="entry_type_array">
6657 2
6658 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006659 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006660
6661
6662 </td> <!-- entry_type -->
6663
6664 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006665 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006666 </td>
6667
6668 <td class="entry_units">
6669 </td>
6670
6671 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006672 <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 -08006673 </td>
6674
6675 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006676 <ul class="entry_tags">
6677 <li><a href="#tag_BC">BC</a></li>
6678 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006679 </td>
6680
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006681 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006682 <tr class="entries_header">
6683 <th class="th_details" colspan="5">Details</th>
6684 </tr>
6685 <tr class="entry_cont">
6686 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006687 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6688but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006689<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6690the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006691 </td>
6692 </tr>
6693
6694
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006695 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6696 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006697
6698
6699
6700 <!-- end of kind -->
6701 </tbody>
6702
6703 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006704 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006705
6706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006707 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006708
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006709 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006710 <tr>
6711 <th class="th_name">Property Name</th>
6712 <th class="th_type">Type</th>
6713 <th class="th_description">Description</th>
6714 <th class="th_units">Units</th>
6715 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006716 <th class="th_tags">Tags</th>
6717 </tr>
6718 </thead>
6719
6720 <tbody>
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006732 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006733 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006734 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006735 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006736 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006737
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006738 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006739
6740
6741 </td> <!-- entry_type -->
6742
6743 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006744 <p>The ratio of lens focal length to the effective
6745aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006746 </td>
6747
6748 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006749 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006750 </td>
6751
6752 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006753 <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 -08006754 </td>
6755
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006756 <td class="entry_tags">
6757 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006758 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006759 </ul>
6760 </td>
6761
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006762 </tr>
6763 <tr class="entries_header">
6764 <th class="th_details" colspan="5">Details</th>
6765 </tr>
6766 <tr class="entry_cont">
6767 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006768 <p>This will only be supported on the camera devices that
6769have variable aperture lens.<wbr/> The aperture value can only be
6770one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6771<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6772this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6773<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6774to achieve manual exposure control.<wbr/></p>
6775<p>The requested aperture value may take several frames to reach the
6776requested value; the camera device will report the current (intermediate)
6777aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6778<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6779the ON modes,<wbr/> this will be overridden by the camera device
6780auto-exposure algorithm,<wbr/> the overridden values are then provided
6781back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006782 </td>
6783 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006784
6785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006786 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6787 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006788
6789
6790 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006791 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006792 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006793 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006794 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006795 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006796
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006797 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006798
6799
6800 </td> <!-- entry_type -->
6801
6802 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006803 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006804 </td>
6805
6806 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006807 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006808 </td>
6809
6810 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006811 <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 -08006812 </td>
6813
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006814 <td class="entry_tags">
6815 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006816 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006817 </ul>
6818 </td>
6819
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006820 </tr>
6821 <tr class="entries_header">
6822 <th class="th_details" colspan="5">Details</th>
6823 </tr>
6824 <tr class="entry_cont">
6825 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006826 <p>This will not be supported on most camera devices.<wbr/> On devices
6827where this is supported,<wbr/> this may only be set to one of the
6828values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6829<p>Lens filters are typically used to lower the amount of light the
6830sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6831step is the standard logarithmic representation,<wbr/> which are
6832non-negative,<wbr/> and inversely proportional to the amount of light
6833hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6834in no reduction of the incoming light,<wbr/> and setting this to 2 would
6835mean that the filter is set to reduce incoming light by two stops
6836(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006837 </td>
6838 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006839
6840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006841 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6842 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006843
6844
6845 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006846 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006847 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006848 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006850 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006851
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006852 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006853
6854
6855 </td> <!-- entry_type -->
6856
6857 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006858 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006859 </td>
6860
6861 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006862 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006863 </td>
6864
6865 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006866 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006867 </td>
6868
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869 <td class="entry_tags">
6870 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006871 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006872 </ul>
6873 </td>
6874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006875 </tr>
6876 <tr class="entries_header">
6877 <th class="th_details" colspan="5">Details</th>
6878 </tr>
6879 <tr class="entry_cont">
6880 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006881 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006882 </td>
6883 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006884
6885
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006886 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6887 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006888
6889
6890 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006891 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006892 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006893 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006894 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006895 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006896
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006897 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006898
6899
6900 </td> <!-- entry_type -->
6901
6902 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006903 <p>Distance to plane of sharpest focus,<wbr/>
6904measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006905 </td>
6906
6907 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006908 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006909 </td>
6910
6911 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006912 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006913 </td>
6914
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006915 <td class="entry_tags">
6916 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006917 <li><a href="#tag_BC">BC</a></li>
6918 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006919 </ul>
6920 </td>
6921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006922 </tr>
6923 <tr class="entries_header">
6924 <th class="th_details" colspan="5">Details</th>
6925 </tr>
6926 <tr class="entry_cont">
6927 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006928 <p>0 = infinity focus.<wbr/> Used value should be clamped
6929to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006930 </td>
6931 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006932
6933
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006934 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6935 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006936
6937
6938 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006939 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006940 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006941 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006942 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006943 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006944
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006945 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006946
6947 <ul class="entry_type_enum">
6948 <li>
6949 <span class="entry_type_enum_name">OFF</span>
6950 </li>
6951 <li>
6952 <span class="entry_type_enum_name">ON</span>
6953 <span class="entry_type_enum_optional">optional</span>
6954 </li>
6955 </ul>
6956
6957 </td> <!-- entry_type -->
6958
6959 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006960 <p>Whether optical image stabilization is
6961enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006962 </td>
6963
6964 <td class="entry_units">
6965 </td>
6966
6967 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006968 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006969 </td>
6970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006971 <td class="entry_tags">
6972 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006973 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006974 </ul>
6975 </td>
6976
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006977 </tr>
6978 <tr class="entries_header">
6979 <th class="th_details" colspan="5">Details</th>
6980 </tr>
6981 <tr class="entry_cont">
6982 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006983 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006984 </td>
6985 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006986
6987
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006988 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6989 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006990
6991
6992
6993 <!-- end of kind -->
6994 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006995 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006996
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006997 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006998 <tr>
6999 <th class="th_name">Property Name</th>
7000 <th class="th_type">Type</th>
7001 <th class="th_description">Description</th>
7002 <th class="th_units">Units</th>
7003 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007004 <th class="th_tags">Tags</th>
7005 </tr>
7006 </thead>
7007
7008 <tbody>
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007022 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007023 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007024 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007026 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007027 <span class="entry_type_container">x</span>
7028
7029 <span class="entry_type_array">
7030 n
7031 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007032 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007033
7034
7035 </td> <!-- entry_type -->
7036
7037 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007038 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007039values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007040 </td>
7041
7042 <td class="entry_units">
7043 </td>
7044
7045 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007046 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007047 </td>
7048
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007049 <td class="entry_tags">
7050 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007051 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007052 </ul>
7053 </td>
7054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007055 </tr>
7056 <tr class="entries_header">
7057 <th class="th_details" colspan="5">Details</th>
7058 </tr>
7059 <tr class="entry_cont">
7060 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007061 <p>If the camera device doesn't support variable apertures,<wbr/>
7062listed value will be the fixed aperture.<wbr/></p>
7063<p>If the camera device supports variable apertures,<wbr/> the aperture value
7064in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007065 </td>
7066 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007067
7068
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007069 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7070 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007071
7072
7073 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007074 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007075 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007076 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007077 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007078 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007079 <span class="entry_type_container">x</span>
7080
7081 <span class="entry_type_array">
7082 n
7083 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007084 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007085
7086
7087 </td> <!-- entry_type -->
7088
7089 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007090 <p>List of supported neutral density filter values for
7091<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007092 </td>
7093
7094 <td class="entry_units">
7095 </td>
7096
7097 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007098 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007099 </td>
7100
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007101 <td class="entry_tags">
7102 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007103 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007104 </ul>
7105 </td>
7106
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007107 </tr>
7108 <tr class="entries_header">
7109 <th class="th_details" colspan="5">Details</th>
7110 </tr>
7111 <tr class="entry_cont">
7112 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007113 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7114availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7115list contains only the exact filter density values available on
7116this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007117 </td>
7118 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007119
7120
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007121 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7122 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007123
7124
7125 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007126 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007127 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007128 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007129 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007130 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007131 <span class="entry_type_container">x</span>
7132
7133 <span class="entry_type_array">
7134 n
7135 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007136 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007137 <div class="entry_type_notes">the list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007138
7139
7140 </td> <!-- entry_type -->
7141
7142 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007143 <p>If fitted with optical zoom,<wbr/> what focal
7144lengths are available.<wbr/> If not,<wbr/> the static focal
7145length</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007146 </td>
7147
7148 <td class="entry_units">
7149 </td>
7150
7151 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007152 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153 </td>
7154
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007155 <td class="entry_tags">
7156 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007157 <li><a href="#tag_BC">BC</a></li>
7158 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007159 </ul>
7160 </td>
7161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007162 </tr>
7163 <tr class="entries_header">
7164 <th class="th_details" colspan="5">Details</th>
7165 </tr>
7166 <tr class="entry_cont">
7167 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007168 <p>If optical zoom not supported,<wbr/> only one value
7169should be reported</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007170 </td>
7171 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007172
7173
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007174 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7175 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007176
7177
7178 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007179 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007180 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007183 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007184 <span class="entry_type_container">x</span>
7185
7186 <span class="entry_type_array">
7187 n
7188 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007189 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007190 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007191
7192
7193 </td> <!-- entry_type -->
7194
7195 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007196 <p>List of supported optical image
7197stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007198 </td>
7199
7200 <td class="entry_units">
7201 </td>
7202
7203 <td class="entry_range">
7204 </td>
7205
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007206 <td class="entry_tags">
7207 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007208 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007209 </ul>
7210 </td>
7211
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007212 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007213
7214
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007215 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7216 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007217
7218
7219 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007220 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007221 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007222 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007223 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007224 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007225 <span class="entry_type_container">x</span>
7226
7227 <span class="entry_type_array">
7228 2 x 3 x n x m
7229 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007230 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007231 <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 -08007232
7233
7234 </td> <!-- entry_type -->
7235
7236 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007237 <p>A low-resolution map for correction of
7238geometric distortions and chromatic aberrations,<wbr/> per
7239color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007240 </td>
7241
7242 <td class="entry_units">
7243 </td>
7244
7245 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007246 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007247 </td>
7248
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007249 <td class="entry_tags">
7250 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007251 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007252 </ul>
7253 </td>
7254
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007255 </tr>
7256 <tr class="entries_header">
7257 <th class="th_details" colspan="5">Details</th>
7258 </tr>
7259 <tr class="entry_cont">
7260 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007261 <p>[DNG wants a function instead].<wbr/> What's easiest
7262for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7263j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7264j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7265entry 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 -08007266 </td>
7267 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007268
7269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007270 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7271 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007272
7273
7274 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007275 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007276 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007277 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007278 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007279 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007280 <span class="entry_type_container">x</span>
7281
7282 <span class="entry_type_array">
7283 2
7284 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007285 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007286 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007287
7288
7289 </td> <!-- entry_type -->
7290
7291 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007292 <p>Dimensions of geometric correction
7293map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007294 </td>
7295
7296 <td class="entry_units">
7297 </td>
7298
7299 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007300 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007301 </td>
7302
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007303 <td class="entry_tags">
7304 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007305 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007306 </ul>
7307 </td>
7308
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007310
7311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007314
7315
7316 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007317 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007318 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007321 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007324
7325
7326 </td> <!-- entry_type -->
7327
7328 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007329 <p>Hyperfocal distance for this lens; set to
73300 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007331 </td>
7332
7333 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007334 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007335 </td>
7336
7337 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007338 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007339 </td>
7340
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007341 <td class="entry_tags">
7342 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007343 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007344 </ul>
7345 </td>
7346
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007347 </tr>
7348 <tr class="entries_header">
7349 <th class="th_details" colspan="5">Details</th>
7350 </tr>
7351 <tr class="entry_cont">
7352 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007353 <p>The hyperfocal distance is used for the old
7354API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007355 </td>
7356 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007357
7358
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007359 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7360 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007361
7362
7363 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007364 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007365 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007366 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007367 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007368 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007369
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007370 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007371
7372
7373 </td> <!-- entry_type -->
7374
7375 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007376 <p>Shortest distance from frontmost surface
7377of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007378 </td>
7379
7380 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007381 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007382 </td>
7383
7384 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007385 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007386 </td>
7387
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007388 <td class="entry_tags">
7389 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007390 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391 </ul>
7392 </td>
7393
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007394 </tr>
7395 <tr class="entries_header">
7396 <th class="th_details" colspan="5">Details</th>
7397 </tr>
7398 <tr class="entry_cont">
7399 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007400 <p>If the lens is fixed-focus,<wbr/> this should be
74010</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007402 </td>
7403 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007404
7405
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007406 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7407 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408
7409
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007410 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007411 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007412 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007413 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007414 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007415 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007416 <span class="entry_type_container">x</span>
7417
7418 <span class="entry_type_array">
7419 2
7420 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007421 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007422 <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 -08007423
7424
7425 </td> <!-- entry_type -->
7426
7427 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007428 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007429 </td>
7430
7431 <td class="entry_units">
7432 </td>
7433
7434 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007435 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007436 </td>
7437
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007438 <td class="entry_tags">
7439 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007440 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007441 </ul>
7442 </td>
7443
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007444 </tr>
7445 <tr class="entries_header">
7446 <th class="th_details" colspan="5">Details</th>
7447 </tr>
7448 <tr class="entry_cont">
7449 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007450 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7451must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007452 </td>
7453 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007454
7455
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007456 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7457 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007458
7459
7460
7461
7462
7463 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007464 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007465 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007466 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007467 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007468 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007469
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007470 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007471
7472 <ul class="entry_type_enum">
7473 <li>
7474 <span class="entry_type_enum_name">FRONT</span>
7475 </li>
7476 <li>
7477 <span class="entry_type_enum_name">BACK</span>
7478 </li>
7479 </ul>
7480
7481 </td> <!-- entry_type -->
7482
7483 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007484 <p>Direction the camera faces relative to
7485device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007486 </td>
7487
7488 <td class="entry_units">
7489 </td>
7490
7491 <td class="entry_range">
7492 </td>
7493
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007494 <td class="entry_tags">
7495 </td>
7496
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007497 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007498
7499
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007500 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7501 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007502
7503
7504 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007505 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007506 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007507 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007509 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007510 <span class="entry_type_container">x</span>
7511
7512 <span class="entry_type_array">
7513 2
7514 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007515 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007516 <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 -08007517
7518
7519 </td> <!-- entry_type -->
7520
7521 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007522 <p>Relative angle of camera optical axis to the
7523perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007524 </td>
7525
7526 <td class="entry_units">
7527 </td>
7528
7529 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007530 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007531 </td>
7532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007533 <td class="entry_tags">
7534 <ul class="entry_tags">
7535 <li><a href="#tag_ADV">ADV</a></li>
7536 </ul>
7537 </td>
7538
7539 </tr>
7540 <tr class="entries_header">
7541 <th class="th_details" colspan="5">Details</th>
7542 </tr>
7543 <tr class="entry_cont">
7544 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007545 <p>Examples:</p>
7546<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007547is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007548<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007549device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007550<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7551the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007552<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007553direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007554 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007555 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007556
7557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007558 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7559 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007560
7561
7562 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007563 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007564 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007565 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007567 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007568 <span class="entry_type_container">x</span>
7569
7570 <span class="entry_type_array">
7571 3, location in mm, in the sensor coordinate
7572 system
7573 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007574 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007575
7576
7577 </td> <!-- entry_type -->
7578
7579 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007580 <p>Coordinates of camera optical axis on
7581device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007582 </td>
7583
7584 <td class="entry_units">
7585 </td>
7586
7587 <td class="entry_range">
7588 </td>
7589
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007590 <td class="entry_tags">
7591 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007592 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007593 </ul>
7594 </td>
7595
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007596 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007597
7598
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007599 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7600 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007601
7602
7603
7604 <!-- end of kind -->
7605 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007606 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007608 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007609 <tr>
7610 <th class="th_name">Property Name</th>
7611 <th class="th_type">Type</th>
7612 <th class="th_description">Description</th>
7613 <th class="th_units">Units</th>
7614 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007615 <th class="th_tags">Tags</th>
7616 </tr>
7617 </thead>
7618
7619 <tbody>
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007631 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007632 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007633 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007634 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007635 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007637 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007638
7639
7640 </td> <!-- entry_type -->
7641
7642 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007643 <p>The ratio of lens focal length to the effective
7644aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007645 </td>
7646
7647 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007648 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007649 </td>
7650
7651 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007652 <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 -08007653 </td>
7654
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007655 <td class="entry_tags">
7656 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007657 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007658 </ul>
7659 </td>
7660
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007661 </tr>
7662 <tr class="entries_header">
7663 <th class="th_details" colspan="5">Details</th>
7664 </tr>
7665 <tr class="entry_cont">
7666 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007667 <p>This will only be supported on the camera devices that
7668have variable aperture lens.<wbr/> The aperture value can only be
7669one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7670<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7671this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7672<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7673to achieve manual exposure control.<wbr/></p>
7674<p>The requested aperture value may take several frames to reach the
7675requested value; the camera device will report the current (intermediate)
7676aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7677<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7678the ON modes,<wbr/> this will be overridden by the camera device
7679auto-exposure algorithm,<wbr/> the overridden values are then provided
7680back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007681 </td>
7682 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007683
7684
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007685 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7686 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007687
7688
7689 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007690 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007691 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007692 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007693 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007694 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007695
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007696 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007697
7698
7699 </td> <!-- entry_type -->
7700
7701 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007702 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007703 </td>
7704
7705 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007706 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007707 </td>
7708
7709 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007710 <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 -08007711 </td>
7712
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007713 <td class="entry_tags">
7714 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007715 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007716 </ul>
7717 </td>
7718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007719 </tr>
7720 <tr class="entries_header">
7721 <th class="th_details" colspan="5">Details</th>
7722 </tr>
7723 <tr class="entry_cont">
7724 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007725 <p>This will not be supported on most camera devices.<wbr/> On devices
7726where this is supported,<wbr/> this may only be set to one of the
7727values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7728<p>Lens filters are typically used to lower the amount of light the
7729sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7730step is the standard logarithmic representation,<wbr/> which are
7731non-negative,<wbr/> and inversely proportional to the amount of light
7732hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7733in no reduction of the incoming light,<wbr/> and setting this to 2 would
7734mean that the filter is set to reduce incoming light by two stops
7735(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007736 </td>
7737 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007738
7739
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007740 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7741 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007742
7743
7744 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007745 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007746 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007747 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007748 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007749 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007750
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007751 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007752
7753
7754 </td> <!-- entry_type -->
7755
7756 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007757 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007758 </td>
7759
7760 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007761 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007762 </td>
7763
7764 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007765 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007766 </td>
7767
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007768 <td class="entry_tags">
7769 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007770 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007771 </ul>
7772 </td>
7773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007774 </tr>
7775 <tr class="entries_header">
7776 <th class="th_details" colspan="5">Details</th>
7777 </tr>
7778 <tr class="entry_cont">
7779 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007780 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007781 </td>
7782 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007783
7784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007785 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7786 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007787
7788
7789 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007790 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007791 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007792 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007793 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007794 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007795
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007796 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007797
7798
7799 </td> <!-- entry_type -->
7800
7801 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007802 <p>Distance to plane of sharpest focus,<wbr/>
7803measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007804 </td>
7805
7806 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007807 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007808 </td>
7809
7810 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007811 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007812 </td>
7813
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007814 <td class="entry_tags">
7815 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007816 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007817 </ul>
7818 </td>
7819
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007820 </tr>
7821 <tr class="entries_header">
7822 <th class="th_details" colspan="5">Details</th>
7823 </tr>
7824 <tr class="entry_cont">
7825 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007826 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007827 </td>
7828 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007829
7830
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007831 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7832 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007833
7834
7835 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007836 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007837 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007838 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007839 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007840 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007841 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007842
Zhijun He50451ad2013-09-26 10:27:47 -07007843 <span class="entry_type_array">
7844 2
7845 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007846 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007847 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007848
7849
7850 </td> <!-- entry_type -->
7851
7852 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007853 <p>The range of scene distances that are in
7854sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007855 </td>
7856
7857 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007858 pair of focus distances in diopters: (near,<wbr/>
7859 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007860 </td>
7861
7862 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007863 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007864 </td>
7865
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007866 <td class="entry_tags">
7867 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007868 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007869 </ul>
7870 </td>
7871
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007872 </tr>
7873 <tr class="entries_header">
7874 <th class="th_details" colspan="5">Details</th>
7875 </tr>
7876 <tr class="entry_cont">
7877 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007878 <p>If variable focus not supported,<wbr/> can still report
7879fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007880 </td>
7881 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007882
7883
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007884 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7885 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007886
7887
7888 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007889 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007890 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007891 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007892 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007893 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007894
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007895 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007896
7897 <ul class="entry_type_enum">
7898 <li>
7899 <span class="entry_type_enum_name">OFF</span>
7900 </li>
7901 <li>
7902 <span class="entry_type_enum_name">ON</span>
7903 <span class="entry_type_enum_optional">optional</span>
7904 </li>
7905 </ul>
7906
7907 </td> <!-- entry_type -->
7908
7909 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007910 <p>Whether optical image stabilization is
7911enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912 </td>
7913
7914 <td class="entry_units">
7915 </td>
7916
7917 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007918 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007919 </td>
7920
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007921 <td class="entry_tags">
7922 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007923 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007924 </ul>
7925 </td>
7926
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007927 </tr>
7928 <tr class="entries_header">
7929 <th class="th_details" colspan="5">Details</th>
7930 </tr>
7931 <tr class="entry_cont">
7932 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007933 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007934 </td>
7935 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007936
7937
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007938 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7939 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007940
7941
7942 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007943 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007944 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007945 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007946 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007947 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007948
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007949 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007950
7951 <ul class="entry_type_enum">
7952 <li>
7953 <span class="entry_type_enum_name">STATIONARY</span>
7954 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07007955 <li>
7956 <span class="entry_type_enum_name">MOVING</span>
7957 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007958 </ul>
7959
7960 </td> <!-- entry_type -->
7961
7962 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007963 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007964 </td>
7965
7966 <td class="entry_units">
7967 </td>
7968
7969 <td class="entry_range">
7970 </td>
7971
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007972 <td class="entry_tags">
7973 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007974 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007975 </ul>
7976 </td>
7977
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007978 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007979
7980
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007981 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7982 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007983
7984
7985
7986 <!-- end of kind -->
7987 </tbody>
7988
7989 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007990 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007991
7992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007993 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007994
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007995 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007996 <tr>
7997 <th class="th_name">Property Name</th>
7998 <th class="th_type">Type</th>
7999 <th class="th_description">Description</th>
8000 <th class="th_units">Units</th>
8001 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008002 <th class="th_tags">Tags</th>
8003 </tr>
8004 </thead>
8005
8006 <tbody>
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008018 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008019 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008020 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008022 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008024 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008025
8026 <ul class="entry_type_enum">
8027 <li>
8028 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008029 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008030 </li>
8031 <li>
8032 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008033 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8034output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008035 </li>
8036 <li>
8037 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008038 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8039quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008040 </li>
8041 </ul>
8042
8043 </td> <!-- entry_type -->
8044
8045 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008046 <p>Mode of operation for the noise reduction
8047algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008048 </td>
8049
8050 <td class="entry_units">
8051 </td>
8052
8053 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008054 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008055 </td>
8056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008057 <td class="entry_tags">
8058 <ul class="entry_tags">
8059 <li><a href="#tag_V1">V1</a></li>
8060 </ul>
8061 </td>
8062
8063 </tr>
8064 <tr class="entries_header">
8065 <th class="th_details" colspan="5">Details</th>
8066 </tr>
8067 <tr class="entry_cont">
8068 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008069 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8070will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008071<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8072will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8073will use the highest-quality noise filtering algorithms,<wbr/>
8074even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008075slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008076 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008077 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008078
8079
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008080 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8081 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008082
8083
8084 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008085 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008086 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008087 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008088 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008089 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008090
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008091 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008092
8093
8094 </td> <!-- entry_type -->
8095
8096 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008097 <p>Control the amount of noise reduction
8098applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008099 </td>
8100
8101 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008102 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008103 </td>
8104
8105 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008106 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008107 </td>
8108
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008109 <td class="entry_tags">
8110 </td>
8111
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008112 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008113
8114
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008115 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8116 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008117
8118
8119
8120 <!-- end of kind -->
8121 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008122 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008123
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008124 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008125 <tr>
8126 <th class="th_name">Property Name</th>
8127 <th class="th_type">Type</th>
8128 <th class="th_description">Description</th>
8129 <th class="th_units">Units</th>
8130 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008131 <th class="th_tags">Tags</th>
8132 </tr>
8133 </thead>
8134
8135 <tbody>
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008147 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008148 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008149 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008150 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008151 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008152
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008153 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008154
8155 <ul class="entry_type_enum">
8156 <li>
8157 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008158 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008159 </li>
8160 <li>
8161 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008162 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8163output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008164 </li>
8165 <li>
8166 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008167 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8168quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008169 </li>
8170 </ul>
8171
8172 </td> <!-- entry_type -->
8173
8174 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008175 <p>Mode of operation for the noise reduction
8176algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008177 </td>
8178
8179 <td class="entry_units">
8180 </td>
8181
8182 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008183 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008184 </td>
8185
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008186 <td class="entry_tags">
8187 <ul class="entry_tags">
8188 <li><a href="#tag_V1">V1</a></li>
8189 </ul>
8190 </td>
8191
8192 </tr>
8193 <tr class="entries_header">
8194 <th class="th_details" colspan="5">Details</th>
8195 </tr>
8196 <tr class="entry_cont">
8197 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008198 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8199will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008200<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8201will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8202will use the highest-quality noise filtering algorithms,<wbr/>
8203even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008204slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008205 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008206 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008207
8208
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008209 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8210 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008211
8212
8213
8214 <!-- end of kind -->
8215 </tbody>
8216
8217 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008218 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008219
8220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008221 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008222
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008223 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008224 <tr>
8225 <th class="th_name">Property Name</th>
8226 <th class="th_type">Type</th>
8227 <th class="th_description">Description</th>
8228 <th class="th_units">Units</th>
8229 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008230 <th class="th_tags">Tags</th>
8231 </tr>
8232 </thead>
8233
8234 <tbody>
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008246 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008247 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008248 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008250 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008251
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008252 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008253
8254
8255 </td> <!-- entry_type -->
8256
8257 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008258 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008259scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008260region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8261and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008262 </td>
8263
8264 <td class="entry_units">
8265 </td>
8266
8267 <td class="entry_range">
8268 </td>
8269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008270 <td class="entry_tags">
8271 </td>
8272
8273 </tr>
8274 <tr class="entries_header">
8275 <th class="th_details" colspan="5">Details</th>
8276 </tr>
8277 <tr class="entry_cont">
8278 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008279 <p>Normalized coordinates refer to those in the
8280(-1000,<wbr/>1000) range mentioned in the
8281android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008282<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008283sensor array-relative coordinates for all region data.<wbr/> Does
8284not need to be listed in static metadata.<wbr/> Support will be
8285removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008286 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008287 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008288
8289
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008290 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8291 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008292
8293
8294 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008295 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008296 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008297 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008298 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008299 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008300
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008301 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008302
8303
8304 </td> <!-- entry_type -->
8305
8306 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008307 <p>If set to 1,<wbr/> then the camera service always
8308switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8309trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008310 </td>
8311
8312 <td class="entry_units">
8313 </td>
8314
8315 <td class="entry_range">
8316 </td>
8317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008318 <td class="entry_tags">
8319 </td>
8320
8321 </tr>
8322 <tr class="entries_header">
8323 <th class="th_details" colspan="5">Details</th>
8324 </tr>
8325 <tr class="entry_cont">
8326 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008327 <p>HAL implementations should implement AF trigger
8328modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8329CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8330not need to be listed in static metadata.<wbr/> Support will be
8331removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008332 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008333 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008334
8335
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008336 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8337 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008338
8339
8340 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008341 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008342 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008343 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008344 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008345 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008346
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008347 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008348
8349
8350 </td> <!-- entry_type -->
8351
8352 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008353 <p>If set to 1,<wbr/> the camera service uses
8354CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8355HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8356shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008357 </td>
8358
8359 <td class="entry_units">
8360 </td>
8361
8362 <td class="entry_range">
8363 </td>
8364
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008365 <td class="entry_tags">
8366 </td>
8367
8368 </tr>
8369 <tr class="entries_header">
8370 <th class="th_details" colspan="5">Details</th>
8371 </tr>
8372 <tr class="entry_cont">
8373 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008374 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008375to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008376zero-shutter-lag,<wbr/> instead of relying on an explicit
8377format setting.<wbr/> Does not need to be listed in static
8378metadata.<wbr/> Support will be removed in future versions of
8379camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008380 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008381 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008382
8383
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008384 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8385 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008386
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008387
8388 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008389 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008390 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008391 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008392 <td class="entry_type">
8393 <span class="entry_type_name">byte</span>
8394
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008395 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008396
8397
8398 </td> <!-- entry_type -->
8399
8400 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008401 <p>If set to 1,<wbr/> the HAL will always split result
8402metadata for a single capture into multiple buffers,<wbr/>
8403returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008404 </td>
8405
8406 <td class="entry_units">
8407 </td>
8408
8409 <td class="entry_range">
8410 </td>
8411
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008412 <td class="entry_tags">
8413 </td>
8414
8415 </tr>
8416 <tr class="entries_header">
8417 <th class="th_details" colspan="5">Details</th>
8418 </tr>
8419 <tr class="entry_cont">
8420 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008421 <p>Does not need to be listed in static
8422metadata.<wbr/> Support for partial results will be reworked in
8423future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008424working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008425consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008426 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008427 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008428
8429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008430 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8431 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008432
8433
8434
8435 <!-- end of kind -->
8436 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008437 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008438
8439 <thead class="entries_header">
8440 <tr>
8441 <th class="th_name">Property Name</th>
8442 <th class="th_type">Type</th>
8443 <th class="th_description">Description</th>
8444 <th class="th_units">Units</th>
8445 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008446 <th class="th_tags">Tags</th>
8447 </tr>
8448 </thead>
8449
8450 <tbody>
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008462 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008463 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008464 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008465 <td class="entry_type">
8466 <span class="entry_type_name entry_type_name_enum">byte</span>
8467
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008468 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008469
8470 <ul class="entry_type_enum">
8471 <li>
8472 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008473 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8474for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008475 </li>
8476 <li>
8477 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008478 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8479capture.<wbr/> More result buffers for this capture will be sent
8480by the HAL,<wbr/> the last of which will be marked
8481FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008482 </li>
8483 </ul>
8484
8485 </td> <!-- entry_type -->
8486
8487 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008488 <p>Whether a result given to the framework is the
8489final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008490subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008491values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008492 </td>
8493
8494 <td class="entry_units">
8495 </td>
8496
8497 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008498 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008499 </td>
8500
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008501 <td class="entry_tags">
8502 </td>
8503
8504 </tr>
8505 <tr class="entries_header">
8506 <th class="th_details" colspan="5">Details</th>
8507 </tr>
8508 <tr class="entry_cont">
8509 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008510 <p>The entries in the result metadata buffers for a
8511single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008512FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008513requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8514always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8515before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8516in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8517capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8518only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008519 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008520 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008521
8522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008523 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8524 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008525
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008526
8527
8528 <!-- end of kind -->
8529 </tbody>
8530
8531 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008532 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008533
8534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008535 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008536
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008537 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008538 <tr>
8539 <th class="th_name">Property Name</th>
8540 <th class="th_type">Type</th>
8541 <th class="th_description">Description</th>
8542 <th class="th_units">Units</th>
8543 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008544 <th class="th_tags">Tags</th>
8545 </tr>
8546 </thead>
8547
8548 <tbody>
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008560 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008561 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008562 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008564 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008565
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008566 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008567
8568
8569 </td> <!-- entry_type -->
8570
8571 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008572 <p>A frame counter set by the framework.<wbr/> Must
8573be maintained unchanged in output frame.<wbr/> This value monotonically
8574increases with every new result (that is,<wbr/> each new result has a unique
8575frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008576 </td>
8577
8578 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008579 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008580 </td>
8581
8582 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008583 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008584 </td>
8585
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008586 <td class="entry_tags">
8587 </td>
8588
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008589 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008590
8591
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008592 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8593 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008594
8595
8596 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008597 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008598 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008599 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008600 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008601 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008602
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008603 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008604
8605
8606 </td> <!-- entry_type -->
8607
8608 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008609 <p>An application-specified ID for the current
8610request.<wbr/> Must be maintained unchanged in output
8611frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008612 </td>
8613
8614 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008615 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008616 </td>
8617
8618 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008619 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008620 </td>
8621
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008622 <td class="entry_tags">
8623 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008624 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008625 </ul>
8626 </td>
8627
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008628 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008629
8630
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008631 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8632 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008633
8634
8635 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008636 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008637 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008638 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008639 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008640 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008641 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008642
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008643 <span class="entry_type_array">
8644 n
8645 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008646 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008647
8648
8649 </td> <!-- entry_type -->
8650
8651 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008652 <p>List which camera reprocess stream is used
8653for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008654 </td>
8655
8656 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008657 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008658 </td>
8659
8660 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008661 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8662reprocess stream ID.<wbr/></p>
8663<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8664reprocess streams may be included in a single request; they
8665must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008666 </td>
8667
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008668 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008669 <ul class="entry_tags">
8670 <li><a href="#tag_HAL2">HAL2</a></li>
8671 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008672 </td>
8673
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008674 </tr>
8675 <tr class="entries_header">
8676 <th class="th_details" colspan="5">Details</th>
8677 </tr>
8678 <tr class="entry_cont">
8679 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008680 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008681REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008682 </td>
8683 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008684
8685
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008686 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8687 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008688
8689
8690 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008691 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008692 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008693 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008694 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008695 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008696
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008697 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008698
8699 <ul class="entry_type_enum">
8700 <li>
8701 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008702 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8703for application-bound buffer data.<wbr/> If no
8704application-bound streams exist,<wbr/> no frame should be
8705placed in the output frame queue.<wbr/> If such streams
8706exist,<wbr/> a frame should be placed on the output queue
8707with null metadata but with the necessary output buffer
8708information.<wbr/> Timestamp information should still be
8709included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008710 </li>
8711 <li>
8712 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008713 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8714only be produced if they are separately
8715enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008716 </li>
8717 </ul>
8718
8719 </td> <!-- entry_type -->
8720
8721 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008722 <p>How much metadata to produce on
8723output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008724 </td>
8725
8726 <td class="entry_units">
8727 </td>
8728
8729 <td class="entry_range">
8730 </td>
8731
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008732 <td class="entry_tags">
8733 </td>
8734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008735 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008736
8737
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008738 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8739 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008740
8741
8742 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008743 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008744 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008745 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008746 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008747 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008748 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008749
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008750 <span class="entry_type_array">
8751 n
8752 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008753 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008754
8755
8756 </td> <!-- entry_type -->
8757
8758 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008759 <p>Lists which camera output streams image data
8760from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008761 </td>
8762
8763 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008764 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008765 </td>
8766
8767 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008768 <p>List must only include streams that have been
8769created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008770 </td>
8771
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008772 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008773 <ul class="entry_tags">
8774 <li><a href="#tag_HAL2">HAL2</a></li>
8775 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008776 </td>
8777
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008778 </tr>
8779 <tr class="entries_header">
8780 <th class="th_details" colspan="5">Details</th>
8781 </tr>
8782 <tr class="entry_cont">
8783 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008784 <p>If no output streams are listed,<wbr/> then the image
8785data should simply be discarded.<wbr/> The image data must
8786still be captured for metadata and statistics production,<wbr/>
8787and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008788 </td>
8789 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008790
8791
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008792 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8793 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008794
8795
8796 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008797 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008798 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008799 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008800 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008801 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008802
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008803 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008804
8805 <ul class="entry_type_enum">
8806 <li>
8807 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008808 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8809and process it according to the
8810settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008811 </li>
8812 <li>
8813 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008814 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8815android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8816source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8817needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008818 </li>
8819 </ul>
8820
8821 </td> <!-- entry_type -->
8822
8823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008824 <p>The type of the request; either CAPTURE or
8825REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008826 </td>
8827
8828 <td class="entry_units">
8829 </td>
8830
8831 <td class="entry_range">
8832 </td>
8833
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008834 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008835 <ul class="entry_tags">
8836 <li><a href="#tag_HAL2">HAL2</a></li>
8837 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008838 </td>
8839
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008840 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008841
8842
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008843 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8844 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008845
8846
8847
8848 <!-- end of kind -->
8849 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008850 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008851
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008852 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008853 <tr>
8854 <th class="th_name">Property Name</th>
8855 <th class="th_type">Type</th>
8856 <th class="th_description">Description</th>
8857 <th class="th_units">Units</th>
8858 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008859 <th class="th_tags">Tags</th>
8860 </tr>
8861 </thead>
8862
8863 <tbody>
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008875 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008876 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008877 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008878 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008879 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008880 <span class="entry_type_container">x</span>
8881
8882 <span class="entry_type_array">
8883 3
8884 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008885 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008886
8887
8888 </td> <!-- entry_type -->
8889
8890 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008891 <p>How many output streams can be allocated at
8892the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008893 </td>
8894
8895 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008896 The number of raw sensor streams; the number of
8897 processed,<wbr/> uncompressed streams; and the number of
8898 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008899 </td>
8900
8901 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008902 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008903for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008904 </td>
8905
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008906 <td class="entry_tags">
8907 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008908 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008909 </ul>
8910 </td>
8911
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008912 </tr>
8913 <tr class="entries_header">
8914 <th class="th_details" colspan="5">Details</th>
8915 </tr>
8916 <tr class="entry_cont">
8917 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008918 <p>Video snapshot with preview callbacks requires 3
8919processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8920one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008921 </td>
8922 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008923
8924
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008925 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8926 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008927
8928
8929 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008930 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008931 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008932 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008933 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008934 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008935 <span class="entry_type_container">x</span>
8936
8937 <span class="entry_type_array">
8938 1
8939 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008940 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008941
8942
8943 </td> <!-- entry_type -->
8944
8945 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008946 <p>How many reprocessing streams of any type
8947can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008948 </td>
8949
8950 <td class="entry_units">
8951 </td>
8952
8953 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008954 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008955 </td>
8956
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008957 <td class="entry_tags">
8958 </td>
8959
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008960 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008961
8962
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008963 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8964 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008965
8966
8967
8968 <!-- end of kind -->
8969 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008970 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008971
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008972 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008973 <tr>
8974 <th class="th_name">Property Name</th>
8975 <th class="th_type">Type</th>
8976 <th class="th_description">Description</th>
8977 <th class="th_units">Units</th>
8978 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008979 <th class="th_tags">Tags</th>
8980 </tr>
8981 </thead>
8982
8983 <tbody>
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008995 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008996 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008997 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008999 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009002
9003
9004 </td> <!-- entry_type -->
9005
9006 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009007 <p>A frame counter set by the framework.<wbr/> This value monotonically
9008increases with every new result (that is,<wbr/> each new result has a unique
9009frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009010 </td>
9011
9012 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009013 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009014 </td>
9015
9016 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009017 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009018 </td>
9019
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009020 <td class="entry_tags">
9021 </td>
9022
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009023 </tr>
9024 <tr class="entries_header">
9025 <th class="th_details" colspan="5">Details</th>
9026 </tr>
9027 <tr class="entry_cont">
9028 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009029 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009030 </td>
9031 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009032
9033
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009034 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9035 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009036
9037
9038 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009039 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009040 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009041 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009042 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009043 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009045 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009046
9047
9048 </td> <!-- entry_type -->
9049
9050 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009051 <p>An application-specified ID for the current
9052request.<wbr/> Must be maintained unchanged in output
9053frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009054 </td>
9055
9056 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009057 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009058 </td>
9059
9060 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009061 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009062 </td>
9063
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009064 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009065 <ul class="entry_tags">
9066 <li><a href="#tag_V1">V1</a></li>
9067 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009068 </td>
9069
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009070 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009071
9072
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009073 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9074 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009075
9076
9077 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009078 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009079 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009080 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009082 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009083
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009084 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009085
9086 <ul class="entry_type_enum">
9087 <li>
9088 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009089 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9090for application-bound buffer data.<wbr/> If no
9091application-bound streams exist,<wbr/> no frame should be
9092placed in the output frame queue.<wbr/> If such streams
9093exist,<wbr/> a frame should be placed on the output queue
9094with null metadata but with the necessary output buffer
9095information.<wbr/> Timestamp information should still be
9096included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009097 </li>
9098 <li>
9099 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009100 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9101only be produced if they are separately
9102enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009103 </li>
9104 </ul>
9105
9106 </td> <!-- entry_type -->
9107
9108 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009109 <p>How much metadata to produce on
9110output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009111 </td>
9112
9113 <td class="entry_units">
9114 </td>
9115
9116 <td class="entry_range">
9117 </td>
9118
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009119 <td class="entry_tags">
9120 </td>
9121
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009122 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009123
9124
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009125 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9126 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009127
9128
9129 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009130 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009131 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009132 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009133 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009134 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009135 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009136
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009137 <span class="entry_type_array">
9138 n
9139 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009140 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009141
9142
9143 </td> <!-- entry_type -->
9144
9145 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009146 <p>Lists which camera output streams image data
9147from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009148 </td>
9149
9150 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009151 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009152 </td>
9153
9154 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009155 <p>List must only include streams that have been
9156created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009157 </td>
9158
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009159 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009160 <ul class="entry_tags">
9161 <li><a href="#tag_HAL2">HAL2</a></li>
9162 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009163 </td>
9164
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009165 </tr>
9166 <tr class="entries_header">
9167 <th class="th_details" colspan="5">Details</th>
9168 </tr>
9169 <tr class="entry_cont">
9170 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009171 <p>If no output streams are listed,<wbr/> then the image
9172data should simply be discarded.<wbr/> The image data must
9173still be captured for metadata and statistics production,<wbr/>
9174and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009175 </td>
9176 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009177
9178
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009179 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9180 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009181
9182
9183
9184 <!-- end of kind -->
9185 </tbody>
9186
9187 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009188 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009189
9190
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009191 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009192
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009193 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009194 <tr>
9195 <th class="th_name">Property Name</th>
9196 <th class="th_type">Type</th>
9197 <th class="th_description">Description</th>
9198 <th class="th_units">Units</th>
9199 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009200 <th class="th_tags">Tags</th>
9201 </tr>
9202 </thead>
9203
9204 <tbody>
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009216 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009217 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009218 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009219 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009220 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009221 <span class="entry_type_container">x</span>
9222
9223 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009224 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009225 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009226 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009227
9228
9229 </td> <!-- entry_type -->
9230
9231 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009232 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9233<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9234(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9235output.<wbr/> Each stream must use this rectangle to produce its
9236output,<wbr/> cropping to a smaller region if necessary to
9237maintain the stream's aspect ratio.<wbr/></p>
9238<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009239 </td>
9240
9241 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009242 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9243 in pixels; (0,<wbr/>0) is top-left corner of
9244 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009245 </td>
9246
9247 <td class="entry_range">
9248 </td>
9249
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009250 <td class="entry_tags">
9251 <ul class="entry_tags">
9252 <li><a href="#tag_BC">BC</a></li>
9253 </ul>
9254 </td>
9255
9256 </tr>
9257 <tr class="entries_header">
9258 <th class="th_details" colspan="5">Details</th>
9259 </tr>
9260 <tr class="entry_cont">
9261 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009262 <p>Any additional per-stream cropping must be done to
9263maximize the final pixel area of the stream.<wbr/></p>
9264<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9265ratio,<wbr/> then 4:3 streams should use the exact crop
9266region.<wbr/> 16:9 streams should further crop vertically
9267(letterbox).<wbr/></p>
9268<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9269outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9270streams should match exactly.<wbr/> These additional crops must
9271be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009272<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009273times,<wbr/> no matter what the relative aspect ratios of the
9274crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009275corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009276larger than active pixel array.<wbr/> Width and height may be
9277rounded to nearest larger supportable width,<wbr/> especially
9278for raw output,<wbr/> where only a few fixed scales may be
9279possible.<wbr/> The width and height of the crop region cannot
9280be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9281android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9282activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9283respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009284 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009285 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009286
9287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009288 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9289 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009290
9291
9292
9293 <!-- end of kind -->
9294 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009295 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009297 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009298 <tr>
9299 <th class="th_name">Property Name</th>
9300 <th class="th_type">Type</th>
9301 <th class="th_description">Description</th>
9302 <th class="th_units">Units</th>
9303 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009304 <th class="th_tags">Tags</th>
9305 </tr>
9306 </thead>
9307
9308 <tbody>
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009320 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009321 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009322 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009323 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009324 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009325 <span class="entry_type_container">x</span>
9326
9327 <span class="entry_type_array">
9328 n
9329 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009330 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009331
9332 <ul class="entry_type_enum">
9333 <li>
9334 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009335 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009336 <span class="entry_type_enum_value">0x20</span>
9337 </li>
9338 <li>
9339 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009340 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009341 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009342 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009343 </li>
9344 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009345 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009346 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009347 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009348 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009349 </li>
9350 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009351 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9352 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009353 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009354 </li>
9355 <li>
9356 <span class="entry_type_enum_name">YCbCr_420_888</span>
9357 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009358 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009359 </li>
9360 <li>
9361 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009362 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009363 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009364 </li>
9365 </ul>
9366
9367 </td> <!-- entry_type -->
9368
9369 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009370 <p>The list of image formats that are supported by this
9371camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009372 </td>
9373
9374 <td class="entry_units">
9375 </td>
9376
9377 <td class="entry_range">
9378 </td>
9379
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009380 <td class="entry_tags">
9381 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009382 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009383 </ul>
9384 </td>
9385
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009386 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009387 <tr class="entries_header">
9388 <th class="th_details" colspan="5">Details</th>
9389 </tr>
9390 <tr class="entry_cont">
9391 <td class="entry_details" colspan="5">
9392 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9393<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9394 </td>
9395 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009396
Zhijun Heb8317e22014-01-16 09:47:07 -08009397 <tr class="entries_header">
9398 <th class="th_details" colspan="5">HAL Implementation Details</th>
9399 </tr>
9400 <tr class="entry_cont">
9401 <td class="entry_details" colspan="5">
9402 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9403system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9404<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9405gralloc module will select a format based on the usage flags provided
9406by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9407usually used by preview and recording streams,<wbr/> where the application doesn't
9408need access the image data.<wbr/></p>
9409<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9410needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9411<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9412 </td>
9413 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009414
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009415 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9416 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009417
9418
9419 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009420 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009421 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009422 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009423 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009424 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009425 <span class="entry_type_container">x</span>
9426
9427 <span class="entry_type_array">
9428 n
9429 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009430 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009431
9432
9433 </td> <!-- entry_type -->
9434
9435 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009436 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009437for 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 -08009438 </td>
9439
9440 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009441 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009442 </td>
9443
9444 <td class="entry_range">
9445 </td>
9446
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009447 <td class="entry_tags">
9448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009449 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009450 </ul>
9451 </td>
9452
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009453 </tr>
9454 <tr class="entries_header">
9455 <th class="th_details" colspan="5">Details</th>
9456 </tr>
9457 <tr class="entry_cont">
9458 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009459 <p>This corresponds to the minimum steady-state frame duration when only
9460that JPEG stream is active and captured in a burst,<wbr/> with all
9461processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9462<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009463frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009464durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009465 </td>
9466 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009467
9468
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009469 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9470 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009471
9472
9473 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009474 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009475 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009476 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009477 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009478 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009479 <span class="entry_type_container">x</span>
9480
9481 <span class="entry_type_array">
9482 n x 2
9483 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009484 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009485
9486
9487 </td> <!-- entry_type -->
9488
9489 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009490 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009491 </td>
9492
9493 <td class="entry_units">
9494 </td>
9495
9496 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009497 </td>
9498
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009499 <td class="entry_tags">
9500 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009501 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009502 </ul>
9503 </td>
9504
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009505 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009506 <tr class="entries_header">
9507 <th class="th_details" colspan="5">Details</th>
9508 </tr>
9509 <tr class="entry_cont">
9510 <td class="entry_details" colspan="5">
9511 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9512sensor 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>
9513 </td>
9514 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009515
Zhijun Heb8317e22014-01-16 09:47:07 -08009516 <tr class="entries_header">
9517 <th class="th_details" colspan="5">HAL Implementation Details</th>
9518 </tr>
9519 <tr class="entry_cont">
9520 <td class="entry_details" colspan="5">
9521 <p>The HAL must include sensor maximum resolution
9522(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9523and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9524 </td>
9525 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009526
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009527 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9528 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009529
9530
9531 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009532 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009533 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009534 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009535 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009536 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009537
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009538 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009539
9540
9541 </td> <!-- entry_type -->
9542
9543 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009544 <p>The maximum ratio between active area width
9545and crop region width,<wbr/> or between active area height and
9546crop region height,<wbr/> if the crop region height is larger
9547than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009548 </td>
9549
9550 <td class="entry_units">
9551 </td>
9552
9553 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009554 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555 </td>
9556
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009557 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009558 <ul class="entry_tags">
9559 <li><a href="#tag_BC">BC</a></li>
9560 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009561 </td>
9562
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009563 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009564
9565
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009566 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9567 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009568
9569
9570 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009571 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009572 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009573 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009574 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009575 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009576 <span class="entry_type_container">x</span>
9577
9578 <span class="entry_type_array">
9579 n
9580 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009581 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009582
9583
9584 </td> <!-- entry_type -->
9585
9586 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009587 <p>For each available processed output size (defined in
9588<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9589minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009590 </td>
9591
9592 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009593 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009594 </td>
9595
9596 <td class="entry_range">
9597 </td>
9598
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009599 <td class="entry_tags">
9600 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009601 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009602 </ul>
9603 </td>
9604
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009605 </tr>
9606 <tr class="entries_header">
9607 <th class="th_details" colspan="5">Details</th>
9608 </tr>
9609 <tr class="entry_cont">
9610 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009611 <p>This should correspond to the frame duration when only that processed
9612stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9613set to FAST.<wbr/></p>
9614<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9615be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009616 </td>
9617 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009618
9619
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009620 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9621 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009622
9623
9624 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009625 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009626 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009627 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009628 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009629 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009630 <span class="entry_type_container">x</span>
9631
9632 <span class="entry_type_array">
9633 n x 2
9634 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009635 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009636
9637
9638 </td> <!-- entry_type -->
9639
9640 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009641 <p>The resolutions available for use with
9642processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9643platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009644encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009645 </td>
9646
9647 <td class="entry_units">
9648 </td>
9649
9650 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009651 </td>
9652
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009653 <td class="entry_tags">
9654 <ul class="entry_tags">
9655 <li><a href="#tag_BC">BC</a></li>
9656 </ul>
9657 </td>
9658
9659 </tr>
9660 <tr class="entries_header">
9661 <th class="th_details" colspan="5">Details</th>
9662 </tr>
9663 <tr class="entry_cont">
9664 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009665 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9666<p>For a given use case,<wbr/> the actual maximum supported resolution
9667may be lower than what is listed here,<wbr/> depending on the destination
9668Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9669the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9670smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9671can provide.<wbr/></p>
9672<p>Please reference the documentation for the image data destination to
9673check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009674 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009675 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009676
Zhijun Heb8317e22014-01-16 09:47:07 -08009677 <tr class="entries_header">
9678 <th class="th_details" colspan="5">HAL Implementation Details</th>
9679 </tr>
9680 <tr class="entry_cont">
9681 <td class="entry_details" colspan="5">
9682 <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/>
9683the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9684and each below resolution if it is smaller than or equal to the sensor
9685maximum resolution (if they are not listed in JPEG sizes already):</p>
9686<ul>
9687<li>240p (320 x 240)</li>
9688<li>480p (640 x 480)</li>
9689<li>720p (1280 x 720)</li>
9690<li>1080p (1920 x 1080)</li>
9691</ul>
9692<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/>
9693the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9694 </td>
9695 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009697 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9698 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009699
9700
9701 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009702 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009703 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009704 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009705 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009706 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009707 <span class="entry_type_container">x</span>
9708
9709 <span class="entry_type_array">
9710 n
9711 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009712 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009713
9714
9715 </td> <!-- entry_type -->
9716
9717 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009718 <p>For each available processed output size (defined in
9719<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9720supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009721 </td>
9722
9723 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009724 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009725 </td>
9726
9727 <td class="entry_range">
9728 </td>
9729
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009730 <td class="entry_tags">
9731 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009732 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009733 </ul>
9734 </td>
9735
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009736 </tr>
9737 <tr class="entries_header">
9738 <th class="th_details" colspan="5">Details</th>
9739 </tr>
9740 <tr class="entry_cont">
9741 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009742 <p>Should correspond to the frame duration when only the raw stream is
9743active.<wbr/></p>
9744<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009745frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009746durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009747 </td>
9748 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009749
9750
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009751 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9752 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009753
9754
9755 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009756 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009757 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009758 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009759 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009760 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009761 <span class="entry_type_container">x</span>
9762
9763 <span class="entry_type_array">
9764 n x 2
9765 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009766 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009767
9768
9769 </td> <!-- entry_type -->
9770
9771 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009772 <p>The resolutions available for use with raw
9773sensor output streams,<wbr/> listed as width,<wbr/>
9774height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009775 </td>
9776
9777 <td class="entry_units">
9778 </td>
9779
9780 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009781 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009782 </td>
9783
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009784 <td class="entry_tags">
9785 </td>
9786
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009787 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009788
9789
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009790 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9791 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009792
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009793
9794
9795 <!-- end of kind -->
9796 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009797 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009798
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009799 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009800 <tr>
9801 <th class="th_name">Property Name</th>
9802 <th class="th_type">Type</th>
9803 <th class="th_description">Description</th>
9804 <th class="th_units">Units</th>
9805 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009806 <th class="th_tags">Tags</th>
9807 </tr>
9808 </thead>
9809
9810 <tbody>
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009823 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009824 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009825 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009826 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009827 <span class="entry_type_container">x</span>
9828
9829 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009830 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009831 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009832 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009833
9834
9835 </td> <!-- entry_type -->
9836
9837 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009838 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9839<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9840(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9841output.<wbr/> Each stream must use this rectangle to produce its
9842output,<wbr/> cropping to a smaller region if necessary to
9843maintain the stream's aspect ratio.<wbr/></p>
9844<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009845 </td>
9846
9847 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009848 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9849 in pixels; (0,<wbr/>0) is top-left corner of
9850 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009851 </td>
9852
9853 <td class="entry_range">
9854 </td>
9855
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009856 <td class="entry_tags">
9857 <ul class="entry_tags">
9858 <li><a href="#tag_BC">BC</a></li>
9859 </ul>
9860 </td>
9861
9862 </tr>
9863 <tr class="entries_header">
9864 <th class="th_details" colspan="5">Details</th>
9865 </tr>
9866 <tr class="entry_cont">
9867 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009868 <p>Any additional per-stream cropping must be done to
9869maximize the final pixel area of the stream.<wbr/></p>
9870<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9871ratio,<wbr/> then 4:3 streams should use the exact crop
9872region.<wbr/> 16:9 streams should further crop vertically
9873(letterbox).<wbr/></p>
9874<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9875outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9876streams should match exactly.<wbr/> These additional crops must
9877be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009878<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009879times,<wbr/> no matter what the relative aspect ratios of the
9880crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009881corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009882larger than active pixel array.<wbr/> Width and height may be
9883rounded to nearest larger supportable width,<wbr/> especially
9884for raw output,<wbr/> where only a few fixed scales may be
9885possible.<wbr/> The width and height of the crop region cannot
9886be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9887android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9888activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9889respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009891 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009892
9893
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009894 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9895 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009896
9897
9898
9899 <!-- end of kind -->
9900 </tbody>
9901
9902 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009903 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009904
9905
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009906 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009907
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009908 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009909 <tr>
9910 <th class="th_name">Property Name</th>
9911 <th class="th_type">Type</th>
9912 <th class="th_description">Description</th>
9913 <th class="th_units">Units</th>
9914 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009915 <th class="th_tags">Tags</th>
9916 </tr>
9917 </thead>
9918
9919 <tbody>
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009931 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009932 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009933 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009934 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009935 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009936
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009937 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009938
9939
9940 </td> <!-- entry_type -->
9941
9942 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009943 <p>Duration each pixel is exposed to
9944light.<wbr/></p>
9945<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
9946duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009947 </td>
9948
9949 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009950 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009951 </td>
9952
9953 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009954 <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 -08009955 </td>
9956
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009957 <td class="entry_tags">
9958 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009959 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009960 </ul>
9961 </td>
9962
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009963 </tr>
9964 <tr class="entries_header">
9965 <th class="th_details" colspan="5">Details</th>
9966 </tr>
9967 <tr class="entry_cont">
9968 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009969 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009970 </td>
9971 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009972
9973
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009974 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9975 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009976
9977
9978 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009979 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009980 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009981 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009982 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009983 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009984
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009985 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009986
9987
9988 </td> <!-- entry_type -->
9989
9990 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009991 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009992start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009993 </td>
9994
9995 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009996 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009997 </td>
9998
9999 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010000 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10001android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10002is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010003 </td>
10004
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010005 <td class="entry_tags">
10006 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010007 <li><a href="#tag_V1">V1</a></li>
10008 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010009 </ul>
10010 </td>
10011
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010012 </tr>
10013 <tr class="entries_header">
10014 <th class="th_details" colspan="5">Details</th>
10015 </tr>
10016 <tr class="entry_cont">
10017 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010018 <p>The maximum frame rate that can be supported by a camera subsystem is
10019a function of many factors:</p>
10020<ul>
10021<li>Requested resolutions of output image streams</li>
10022<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10023<li>The bandwidth of the imager interface</li>
10024<li>The bandwidth of the various ISP processing blocks</li>
10025</ul>
10026<p>Since these factors can vary greatly between different ISPs and
10027sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10028restrictions with as simple a model as possible.<wbr/></p>
10029<p>The model presented has the following characteristics:</p>
10030<ul>
10031<li>The image sensor is always configured to output the smallest
10032resolution possible given the application's requested output stream
10033sizes.<wbr/> The smallest resolution is defined as being at least as large
10034as the largest requested output stream size; the camera pipeline must
10035never digitally upsample sensor data when the crop region covers the
10036whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10037resolutions are configured,<wbr/> the sensor can provide a higher frame
10038rate.<wbr/></li>
10039<li>Since any request may use any or all the currently configured
10040output streams,<wbr/> the sensor and ISP must be configured to support
10041scaling a single capture to all the streams at the same time.<wbr/> This
10042means the camera pipeline must be ready to produce the largest
10043requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10044frame rate of a given configured stream set is governed only by the
10045largest requested stream resolution.<wbr/></li>
10046<li>Using more than one output stream in a request does not affect the
10047frame duration.<wbr/></li>
10048<li>JPEG streams act like processed YUV streams in requests for which
10049they are not included; in requests in which they are directly
10050referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10051JPEG stream requires the underlying YUV data to always be ready for
10052use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10053frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10054<li>The JPEG processor can run concurrently to the rest of the camera
10055pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10056</ul>
10057<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10058is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10059These are used to determine the maximum frame rate /<wbr/> minimum frame
10060duration that is possible for a given stream configuration.<wbr/></p>
10061<p>Specifically,<wbr/> the application can use the following rules to
10062determine the minimum frame duration it can request from the HAL
10063device:</p>
10064<ol>
10065<li>Given the application's currently configured set of output
10066streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10067<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10068<code>SP</code>.<wbr/></li>
10069<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10070count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10071<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10072<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
10073no exact match for <code>RP == RJ</code> (in particular there isn't an available
10074processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10075to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10076there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10077the processed resolution closest to <code>RJ</code>.<wbr/></li>
10078<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
10079no exact match for <code>RR == RP</code> (in particular there isn't an available
10080raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10081or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10082there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10083the raw resolution closest to <code>RP</code>.<wbr/></li>
10084<li>Look up the matching minimum frame durations in the property lists
10085<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10086<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10087<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10088minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10089<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10090supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10091<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10092supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10093<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10094the application,<wbr/> then the HAL will have to delay JPEG-using requests
10095whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10096This will happen whenever a JPEG-using request starts capture less
10097than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10098supported frame duration will vary between the values calculated in
10099#6 and #7.<wbr/></li>
10100</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010101 </td>
10102 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010103
10104
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010105 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10106 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010107
10108
10109 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010110 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010111 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010112 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010113 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010114 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010115
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010116 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010117
10118
10119 </td> <!-- entry_type -->
10120
10121 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010122 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010123implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010124below 'maximum analog sensitivity'.<wbr/></p>
10125<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10126gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010127 </td>
10128
10129 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010130 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010131 </td>
10132
10133 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010134 <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 -080010135 </td>
10136
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010137 <td class="entry_tags">
10138 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010139 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010140 </ul>
10141 </td>
10142
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010143 </tr>
10144 <tr class="entries_header">
10145 <th class="th_details" colspan="5">Details</th>
10146 </tr>
10147 <tr class="entry_cont">
10148 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010149 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010150 </td>
10151 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010152
10153
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010154 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10155 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010156
10157
10158
10159 <!-- end of kind -->
10160 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010161 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010162
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010163 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010164 <tr>
10165 <th class="th_name">Property Name</th>
10166 <th class="th_type">Type</th>
10167 <th class="th_description">Description</th>
10168 <th class="th_units">Units</th>
10169 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010170 <th class="th_tags">Tags</th>
10171 </tr>
10172 </thead>
10173
10174 <tbody>
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010188 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010189 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010190 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010191 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010192 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010193 <span class="entry_type_container">x</span>
10194
10195 <span class="entry_type_array">
10196 4
10197 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010198 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010199 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010200
10201
10202 </td> <!-- entry_type -->
10203
10204 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010205 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010206active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010207pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010208 </td>
10209
10210 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010211 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10212 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010213 </td>
10214
10215 <td class="entry_range">
10216 </td>
10217
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010218 <td class="entry_tags">
10219 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010220 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010221 </ul>
10222 </td>
10223
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010224 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010225
10226
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010227 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10228 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010229
10230
Zhijun He69fc0ea2013-07-17 09:42:58 -070010231 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010232 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010233 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010234 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010236 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010237 <span class="entry_type_container">x</span>
10238
10239 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010240 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010241 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010242 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010243 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010244
10245
10246 </td> <!-- entry_type -->
10247
10248 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010249 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010250 </td>
10251
10252 <td class="entry_units">
10253 </td>
10254
10255 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010256 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010257 </td>
10258
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010259 <td class="entry_tags">
10260 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010261 <li><a href="#tag_BC">BC</a></li>
10262 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010263 </ul>
10264 </td>
10265
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010266 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010267
10268
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010269 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10270 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010271
10272
10273 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010274 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010275 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010276 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010277 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010278 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010279
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010280 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010281
10282 <ul class="entry_type_enum">
10283 <li>
10284 <span class="entry_type_enum_name">RGGB</span>
10285 </li>
10286 <li>
10287 <span class="entry_type_enum_name">GRBG</span>
10288 </li>
10289 <li>
10290 <span class="entry_type_enum_name">GBRG</span>
10291 </li>
10292 <li>
10293 <span class="entry_type_enum_name">BGGR</span>
10294 </li>
10295 <li>
10296 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010297 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10298values for each pixel,<wbr/> instead of just 1 16-bit value
10299per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010300 </li>
10301 </ul>
10302
10303 </td> <!-- entry_type -->
10304
10305 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010306 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010307represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010308the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010309 </td>
10310
10311 <td class="entry_units">
10312 </td>
10313
10314 <td class="entry_range">
10315 </td>
10316
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010317 <td class="entry_tags">
10318 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010319 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010320 </ul>
10321 </td>
10322
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010323 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010324
10325
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010326 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10327 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010328
10329
10330 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010331 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010332 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010333 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010334 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010335 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010336 <span class="entry_type_container">x</span>
10337
10338 <span class="entry_type_array">
10339 2
10340 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010341 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010342 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010343
10344
10345 </td> <!-- entry_type -->
10346
10347 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010348 <p>Range of valid exposure
10349times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010350 </td>
10351
10352 <td class="entry_units">
10353 </td>
10354
10355 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010356 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10357sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010358 </td>
10359
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010360 <td class="entry_tags">
10361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010362 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010363 </ul>
10364 </td>
10365
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010366 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010367
10368
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010369 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10370 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010371
10372
10373 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010374 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010375 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010376 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010377 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010378 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010379
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010380 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010381
10382
10383 </td> <!-- entry_type -->
10384
10385 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010386 <p>Maximum possible frame duration (minimum frame
10387rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010388 </td>
10389
10390 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010391 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010392 </td>
10393
10394 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010395 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010396 </td>
10397
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010398 <td class="entry_tags">
10399 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010400 <li><a href="#tag_BC">BC</a></li>
10401 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010402 </ul>
10403 </td>
10404
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010405 </tr>
10406 <tr class="entries_header">
10407 <th class="th_details" colspan="5">Details</th>
10408 </tr>
10409 <tr class="entry_cont">
10410 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010411 <p>Minimum duration is a function of resolution,<wbr/>
10412processing settings.<wbr/> See
10413android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10414android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010415<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 -080010416 </td>
10417 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010418
10419
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010420 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10421 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010422
10423
10424 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010425 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010426 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010427 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010429 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010430 <span class="entry_type_container">x</span>
10431
10432 <span class="entry_type_array">
10433 2
10434 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010435 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010436 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010437
10438
10439 </td> <!-- entry_type -->
10440
10441 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010442 <p>The physical dimensions of the full pixel
10443array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010444 </td>
10445
10446 <td class="entry_units">
10447 </td>
10448
10449 <td class="entry_range">
10450 </td>
10451
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010452 <td class="entry_tags">
10453 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010454 <li><a href="#tag_V1">V1</a></li>
10455 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010456 </ul>
10457 </td>
10458
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010459 </tr>
10460 <tr class="entries_header">
10461 <th class="th_details" colspan="5">Details</th>
10462 </tr>
10463 <tr class="entry_cont">
10464 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010465 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010466 </td>
10467 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010468
10469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010470 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10471 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010472
10473
10474 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010475 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010476 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010477 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010478 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010479 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010480 <span class="entry_type_container">x</span>
10481
10482 <span class="entry_type_array">
10483 2
10484 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010485 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010486
10487
10488 </td> <!-- entry_type -->
10489
10490 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010491 <p>Dimensions of full pixel array,<wbr/> possibly
10492including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010493 </td>
10494
10495 <td class="entry_units">
10496 </td>
10497
10498 <td class="entry_range">
10499 </td>
10500
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010501 <td class="entry_tags">
10502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010503 <li><a href="#tag_DNG">DNG</a></li>
10504 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010505 </ul>
10506 </td>
10507
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010508 </tr>
10509 <tr class="entries_header">
10510 <th class="th_details" colspan="5">Details</th>
10511 </tr>
10512 <tr class="entry_cont">
10513 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010514 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010515match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010516android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010517 </td>
10518 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010519
10520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010521 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10522 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010523
10524
10525 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010526 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010527 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010528 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010529 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010530 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010531
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010532 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010533
10534
10535 </td> <!-- entry_type -->
10536
10537 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010538 <p>Maximum raw value output by
10539sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010540 </td>
10541
10542 <td class="entry_units">
10543 </td>
10544
10545 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010546 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010547 </td>
10548
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010549 <td class="entry_tags">
10550 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010551 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010552 </ul>
10553 </td>
10554
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010555 </tr>
10556 <tr class="entries_header">
10557 <th class="th_details" colspan="5">Details</th>
10558 </tr>
10559 <tr class="entry_cont">
10560 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010561 <p>Defines sensor bit depth (10-14 bits is
10562expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010563 </td>
10564 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010565
10566
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010567 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10568 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010569
10570
10571
10572
10573
10574 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010575 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010576 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010577 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010578 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010579 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010580
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010581 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010582
10583
10584 </td> <!-- entry_type -->
10585
10586 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010587 <p>Gain factor from electrons to raw units when
10588ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010589 </td>
10590
10591 <td class="entry_units">
10592 </td>
10593
10594 <td class="entry_range">
10595 </td>
10596
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010597 <td class="entry_tags">
10598 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010599 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010600 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010601 </ul>
10602 </td>
10603
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010604 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010605
10606
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010607 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10608 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010609
10610
10611 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010612 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010613 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010614 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010616 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010617 <span class="entry_type_container">x</span>
10618
10619 <span class="entry_type_array">
10620 4
10621 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010622 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010623 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010624
10625
10626 </td> <!-- entry_type -->
10627
10628 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010629 <p>A fixed black level offset for each of the
10630Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010631 </td>
10632
10633 <td class="entry_units">
10634 </td>
10635
10636 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010637 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010638 </td>
10639
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010640 <td class="entry_tags">
10641 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010642 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010643 </ul>
10644 </td>
10645
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010646 </tr>
10647 <tr class="entries_header">
10648 <th class="th_details" colspan="5">Details</th>
10649 </tr>
10650 <tr class="entry_cont">
10651 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010652 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10653tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010654 </td>
10655 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010656
10657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010658 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10659 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010660
10661
10662 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010663 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010664 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010665 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010666 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010667 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010668 <span class="entry_type_container">x</span>
10669
10670 <span class="entry_type_array">
10671 9
10672 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010673 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010674 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010675
10676
10677 </td> <!-- entry_type -->
10678
10679 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010680 <p>Per-device calibration on top of color space
10681transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010682 </td>
10683
10684 <td class="entry_units">
10685 </td>
10686
10687 <td class="entry_range">
10688 </td>
10689
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010690 <td class="entry_tags">
10691 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010692 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010693 </ul>
10694 </td>
10695
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010696 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010697
10698
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010699 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10700 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010701
10702
10703 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010704 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010705 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010706 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010707 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010708 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010709 <span class="entry_type_container">x</span>
10710
10711 <span class="entry_type_array">
10712 9
10713 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010714 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010715 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010716
10717
10718 </td> <!-- entry_type -->
10719
10720 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010721 <p>Per-device calibration on top of color space
10722transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010723 </td>
10724
10725 <td class="entry_units">
10726 </td>
10727
10728 <td class="entry_range">
10729 </td>
10730
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010731 <td class="entry_tags">
10732 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010733 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010734 </ul>
10735 </td>
10736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010737 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010738
10739
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010740 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10741 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010742
10743
10744 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010745 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010746 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010747 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010748 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010749 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010750 <span class="entry_type_container">x</span>
10751
10752 <span class="entry_type_array">
10753 9
10754 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010755 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010756 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010757
10758
10759 </td> <!-- entry_type -->
10760
10761 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010762 <p>Linear mapping from XYZ (D50) color space to
10763reference linear sensor color,<wbr/> for first reference
10764illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010765 </td>
10766
10767 <td class="entry_units">
10768 </td>
10769
10770 <td class="entry_range">
10771 </td>
10772
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010773 <td class="entry_tags">
10774 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010775 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010776 </ul>
10777 </td>
10778
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010779 </tr>
10780 <tr class="entries_header">
10781 <th class="th_details" colspan="5">Details</th>
10782 </tr>
10783 <tr class="entry_cont">
10784 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010785 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10786black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10787At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010788 </td>
10789 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010790
10791
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010792 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10793 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010794
10795
10796 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010797 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010798 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010799 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010800 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010801 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010802 <span class="entry_type_container">x</span>
10803
10804 <span class="entry_type_array">
10805 9
10806 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010807 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010808 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010809
10810
10811 </td> <!-- entry_type -->
10812
10813 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010814 <p>Linear mapping from XYZ (D50) color space to
10815reference linear sensor color,<wbr/> for second reference
10816illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010817 </td>
10818
10819 <td class="entry_units">
10820 </td>
10821
10822 <td class="entry_range">
10823 </td>
10824
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010825 <td class="entry_tags">
10826 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010827 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010828 </ul>
10829 </td>
10830
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010831 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010832
10833
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010834 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10835 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010836
10837
10838 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010839 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010840 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010841 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010842 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010843 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010844 <span class="entry_type_container">x</span>
10845
10846 <span class="entry_type_array">
10847 9
10848 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010849 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010850 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010851
10852
10853 </td> <!-- entry_type -->
10854
10855 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010856 <p>Used by DNG for better WB
10857adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010858 </td>
10859
10860 <td class="entry_units">
10861 </td>
10862
10863 <td class="entry_range">
10864 </td>
10865
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010866 <td class="entry_tags">
10867 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010868 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010869 </ul>
10870 </td>
10871
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010872 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010873
10874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010875 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10876 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010877
10878
10879 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010880 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010881 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010882 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010883 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010884 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010885 <span class="entry_type_container">x</span>
10886
10887 <span class="entry_type_array">
10888 9
10889 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010890 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010891 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010892
10893
10894 </td> <!-- entry_type -->
10895
10896 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010897 <p>Used by DNG for better WB
10898adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010899 </td>
10900
10901 <td class="entry_units">
10902 </td>
10903
10904 <td class="entry_range">
10905 </td>
10906
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010907 <td class="entry_tags">
10908 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010909 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010910 </ul>
10911 </td>
10912
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010913 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010914
10915
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010916 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10917 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010918
10919
10920 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010921 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010922 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010923 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010924 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010925 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010926
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010927 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010928
10929
10930 </td> <!-- entry_type -->
10931
10932 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010933 <p>Maximum sensitivity that is implemented
10934purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010935 </td>
10936
10937 <td class="entry_units">
10938 </td>
10939
10940 <td class="entry_range">
10941 </td>
10942
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010943 <td class="entry_tags">
10944 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010945 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010946 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010947 </ul>
10948 </td>
10949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010950 </tr>
10951 <tr class="entries_header">
10952 <th class="th_details" colspan="5">Details</th>
10953 </tr>
10954 <tr class="entry_cont">
10955 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010956 <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 -080010957equal to this,<wbr/> all applied gain must be analog.<wbr/> For
10958values above this,<wbr/> it can be a mix of analog and
10959digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010960 </td>
10961 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010962
10963
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010964 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10965 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010966
10967
10968 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010969 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010970 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010971 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010972 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010973 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010974 <span class="entry_type_container">x</span>
10975
10976 <span class="entry_type_array">
10977 2
10978 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010979 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010980 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010981
10982
10983 </td> <!-- entry_type -->
10984
10985 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010986 <p>Estimation of sensor noise
10987characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010988 </td>
10989
10990 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010991 var(raw pixel value) = electrons * (baseGainFactor
10992 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
10993 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010994 </td>
10995
10996 <td class="entry_range">
10997 </td>
10998
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010999 <td class="entry_tags">
11000 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011001 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011002 </ul>
11003 </td>
11004
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011005 </tr>
11006 <tr class="entries_header">
11007 <th class="th_details" colspan="5">Details</th>
11008 </tr>
11009 <tr class="entry_cont">
11010 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011011 <p>A represents sensor read noise before analog
11012amplification; B represents noise from A/<wbr/>D conversion and
11013other circuits after amplification.<wbr/> Both noise sources
11014are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11015across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011016 </td>
11017 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011018
11019
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011020 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11021 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011022
11023
11024 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011025 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011026 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011027 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011029 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011030
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011031 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011032
11033
11034 </td> <!-- entry_type -->
11035
11036 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011037 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011038image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011039screen in its native orientation.<wbr/> Also defines the
11040direction of rolling shutter readout,<wbr/> which is from top
11041to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011042 </td>
11043
11044 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011045 degrees clockwise rotation,<wbr/> only multiples of
11046 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011047 </td>
11048
11049 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011050 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011051 </td>
11052
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011053 <td class="entry_tags">
11054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011055 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011056 </ul>
11057 </td>
11058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011059 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011060
11061
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011062 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11063 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011064
11065
11066 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011067 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011068 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011069 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011070 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011071 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011072
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011073 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011074
11075 <ul class="entry_type_enum">
11076 <li>
11077 <span class="entry_type_enum_name">DAYLIGHT</span>
11078 <span class="entry_type_enum_value">1</span>
11079 </li>
11080 <li>
11081 <span class="entry_type_enum_name">FLUORESCENT</span>
11082 <span class="entry_type_enum_value">2</span>
11083 </li>
11084 <li>
11085 <span class="entry_type_enum_name">TUNGSTEN</span>
11086 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011087 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011088 </li>
11089 <li>
11090 <span class="entry_type_enum_name">FLASH</span>
11091 <span class="entry_type_enum_value">4</span>
11092 </li>
11093 <li>
11094 <span class="entry_type_enum_name">FINE_WEATHER</span>
11095 <span class="entry_type_enum_value">9</span>
11096 </li>
11097 <li>
11098 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11099 <span class="entry_type_enum_value">10</span>
11100 </li>
11101 <li>
11102 <span class="entry_type_enum_name">SHADE</span>
11103 <span class="entry_type_enum_value">11</span>
11104 </li>
11105 <li>
11106 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11107 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011108 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011109 </li>
11110 <li>
11111 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11112 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011113 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011114 </li>
11115 <li>
11116 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11117 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011118 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011119 </li>
11120 <li>
11121 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11122 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011123 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011124 </li>
11125 <li>
11126 <span class="entry_type_enum_name">STANDARD_A</span>
11127 <span class="entry_type_enum_value">17</span>
11128 </li>
11129 <li>
11130 <span class="entry_type_enum_name">STANDARD_B</span>
11131 <span class="entry_type_enum_value">18</span>
11132 </li>
11133 <li>
11134 <span class="entry_type_enum_name">STANDARD_C</span>
11135 <span class="entry_type_enum_value">19</span>
11136 </li>
11137 <li>
11138 <span class="entry_type_enum_name">D55</span>
11139 <span class="entry_type_enum_value">20</span>
11140 </li>
11141 <li>
11142 <span class="entry_type_enum_name">D65</span>
11143 <span class="entry_type_enum_value">21</span>
11144 </li>
11145 <li>
11146 <span class="entry_type_enum_name">D75</span>
11147 <span class="entry_type_enum_value">22</span>
11148 </li>
11149 <li>
11150 <span class="entry_type_enum_name">D50</span>
11151 <span class="entry_type_enum_value">23</span>
11152 </li>
11153 <li>
11154 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11155 <span class="entry_type_enum_value">24</span>
11156 </li>
11157 </ul>
11158
11159 </td> <!-- entry_type -->
11160
11161 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011162 <p>Light source used to define transform
111631</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011164 </td>
11165
11166 <td class="entry_units">
11167 </td>
11168
11169 <td class="entry_range">
11170 </td>
11171
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011172 <td class="entry_tags">
11173 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011174 <li><a href="#tag_DNG">DNG</a></li>
11175 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011176 </ul>
11177 </td>
11178
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011179 </tr>
11180 <tr class="entries_header">
11181 <th class="th_details" colspan="5">Details</th>
11182 </tr>
11183 <tr class="entry_cont">
11184 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011185 <p>[EXIF LightSource tag] Must all these be
11186supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011187 </td>
11188 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011189
11190
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011191 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11192 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011193
11194
11195 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011196 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011197 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011198 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011200 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011201
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011202 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011203
11204
11205 </td> <!-- entry_type -->
11206
11207 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011208 <p>Light source used to define transform
112092</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011210 </td>
11211
11212 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011213 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011214 </td>
11215
11216 <td class="entry_range">
11217 </td>
11218
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011219 <td class="entry_tags">
11220 </td>
11221
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011222 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011223
11224
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011225 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11226 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011227
11228
11229
11230 <!-- end of kind -->
11231 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011232 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011234 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011235 <tr>
11236 <th class="th_name">Property Name</th>
11237 <th class="th_type">Type</th>
11238 <th class="th_description">Description</th>
11239 <th class="th_units">Units</th>
11240 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011241 <th class="th_tags">Tags</th>
11242 </tr>
11243 </thead>
11244
11245 <tbody>
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011257 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011258 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011259 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011260 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011261 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011262
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011263 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011264
11265
11266 </td> <!-- entry_type -->
11267
11268 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011269 <p>Duration each pixel is exposed to
11270light.<wbr/></p>
11271<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11272duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011273 </td>
11274
11275 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011276 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011277 </td>
11278
11279 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011280 <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 -080011281 </td>
11282
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011283 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011284 <ul class="entry_tags">
11285 <li><a href="#tag_V1">V1</a></li>
11286 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011287 </td>
11288
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011289 </tr>
11290 <tr class="entries_header">
11291 <th class="th_details" colspan="5">Details</th>
11292 </tr>
11293 <tr class="entry_cont">
11294 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011295 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011296 </td>
11297 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011298
11299
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011300 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11301 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011302
11303
11304 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011305 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011306 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011307 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011309 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011310
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011311 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011312
11313
11314 </td> <!-- entry_type -->
11315
11316 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011317 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011318start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011319 </td>
11320
11321 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011322 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011323 </td>
11324
11325 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011326 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11327android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11328is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011329 </td>
11330
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011331 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011332 <ul class="entry_tags">
11333 <li><a href="#tag_V1">V1</a></li>
11334 <li><a href="#tag_BC">BC</a></li>
11335 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011336 </td>
11337
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011338 </tr>
11339 <tr class="entries_header">
11340 <th class="th_details" colspan="5">Details</th>
11341 </tr>
11342 <tr class="entry_cont">
11343 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011344 <p>The maximum frame rate that can be supported by a camera subsystem is
11345a function of many factors:</p>
11346<ul>
11347<li>Requested resolutions of output image streams</li>
11348<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11349<li>The bandwidth of the imager interface</li>
11350<li>The bandwidth of the various ISP processing blocks</li>
11351</ul>
11352<p>Since these factors can vary greatly between different ISPs and
11353sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11354restrictions with as simple a model as possible.<wbr/></p>
11355<p>The model presented has the following characteristics:</p>
11356<ul>
11357<li>The image sensor is always configured to output the smallest
11358resolution possible given the application's requested output stream
11359sizes.<wbr/> The smallest resolution is defined as being at least as large
11360as the largest requested output stream size; the camera pipeline must
11361never digitally upsample sensor data when the crop region covers the
11362whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11363resolutions are configured,<wbr/> the sensor can provide a higher frame
11364rate.<wbr/></li>
11365<li>Since any request may use any or all the currently configured
11366output streams,<wbr/> the sensor and ISP must be configured to support
11367scaling a single capture to all the streams at the same time.<wbr/> This
11368means the camera pipeline must be ready to produce the largest
11369requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11370frame rate of a given configured stream set is governed only by the
11371largest requested stream resolution.<wbr/></li>
11372<li>Using more than one output stream in a request does not affect the
11373frame duration.<wbr/></li>
11374<li>JPEG streams act like processed YUV streams in requests for which
11375they are not included; in requests in which they are directly
11376referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11377JPEG stream requires the underlying YUV data to always be ready for
11378use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11379frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11380<li>The JPEG processor can run concurrently to the rest of the camera
11381pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11382</ul>
11383<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11384is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11385These are used to determine the maximum frame rate /<wbr/> minimum frame
11386duration that is possible for a given stream configuration.<wbr/></p>
11387<p>Specifically,<wbr/> the application can use the following rules to
11388determine the minimum frame duration it can request from the HAL
11389device:</p>
11390<ol>
11391<li>Given the application's currently configured set of output
11392streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11393<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11394<code>SP</code>.<wbr/></li>
11395<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11396count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11397<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11398<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
11399no exact match for <code>RP == RJ</code> (in particular there isn't an available
11400processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11401to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11402there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11403the processed resolution closest to <code>RJ</code>.<wbr/></li>
11404<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
11405no exact match for <code>RR == RP</code> (in particular there isn't an available
11406raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11407or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11408there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11409the raw resolution closest to <code>RP</code>.<wbr/></li>
11410<li>Look up the matching minimum frame durations in the property lists
11411<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11412<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11413<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11414minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11415<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11416supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11417<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11418supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11419<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11420the application,<wbr/> then the HAL will have to delay JPEG-using requests
11421whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11422This will happen whenever a JPEG-using request starts capture less
11423than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11424supported frame duration will vary between the values calculated in
11425#6 and #7.<wbr/></li>
11426</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011427 </td>
11428 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011429
11430
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011431 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11432 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011433
11434
11435 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011436 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011437 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011438 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011439 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011440 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011441
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011442 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011443
11444
11445 </td> <!-- entry_type -->
11446
11447 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011448 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011449implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011450below 'maximum analog sensitivity'.<wbr/></p>
11451<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11452gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011453 </td>
11454
11455 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011456 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011457 </td>
11458
11459 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011460 <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 -080011461 </td>
11462
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011463 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011464 <ul class="entry_tags">
11465 <li><a href="#tag_V1">V1</a></li>
11466 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011467 </td>
11468
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011469 </tr>
11470 <tr class="entries_header">
11471 <th class="th_details" colspan="5">Details</th>
11472 </tr>
11473 <tr class="entry_cont">
11474 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011475 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011476 </td>
11477 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011478
11479
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011480 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11481 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011482
11483
11484 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011485 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011486 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011487 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011488 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011489 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011490
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011491 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011492
11493
11494 </td> <!-- entry_type -->
11495
11496 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011497 <p>Time at start of exposure of first
11498row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011499 </td>
11500
11501 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011502 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011503 </td>
11504
11505 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011506 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011507 </td>
11508
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011509 <td class="entry_tags">
11510 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011511 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011512 </ul>
11513 </td>
11514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011515 </tr>
11516 <tr class="entries_header">
11517 <th class="th_details" colspan="5">Details</th>
11518 </tr>
11519 <tr class="entry_cont">
11520 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011521 <p>Monotonic,<wbr/> should be synced to other timestamps in
11522system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011523 </td>
11524 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011525
11526
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011527 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11528 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011529
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011530
11531 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011532 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011533 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011534 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011535 <td class="entry_type">
11536 <span class="entry_type_name">float</span>
11537
11538 <span class="entry_type_visibility"> [public]</span>
11539
11540
11541 </td> <!-- entry_type -->
11542
11543 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011544 <p>The temperature of the sensor,<wbr/> sampled at the time
11545exposure began for this frame.<wbr/></p>
11546<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11547somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011548 </td>
11549
11550 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011551 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011552 </td>
11553
11554 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011555 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011556 </td>
11557
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011558 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011559 <ul class="entry_tags">
11560 <li><a href="#tag_FULL">FULL</a></li>
11561 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011562 </td>
11563
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011564 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011565
11566
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011567 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11568 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011569
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011570
11571
11572 <!-- end of kind -->
11573 </tbody>
11574
11575 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011576 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011577
11578
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011579 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011580
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011581 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011582 <tr>
11583 <th class="th_name">Property Name</th>
11584 <th class="th_type">Type</th>
11585 <th class="th_description">Description</th>
11586 <th class="th_units">Units</th>
11587 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011588 <th class="th_tags">Tags</th>
11589 </tr>
11590 </thead>
11591
11592 <tbody>
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603 <tr class="entry" id="controls_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011604 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011605 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011606 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011607 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011608 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011609
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011610 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011611
11612 <ul class="entry_type_enum">
11613 <li>
11614 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011615 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011616 </li>
11617 <li>
11618 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011619 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11620bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011621 </li>
11622 <li>
11623 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011624 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11625quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011626 </li>
11627 </ul>
11628
11629 </td> <!-- entry_type -->
11630
11631 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011632 <p>Quality of lens shading correction applied
11633to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011634 </td>
11635
11636 <td class="entry_units">
11637 </td>
11638
11639 <td class="entry_range">
11640 </td>
11641
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011642 <td class="entry_tags">
11643 </td>
11644
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011645 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011646
11647
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011648 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11649 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011650
11651
11652 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011653 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011654 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011655 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011656 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011657 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011658
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011659 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011660
11661
11662 </td> <!-- entry_type -->
11663
11664 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011665 <p>Control the amount of shading correction
11666applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011667 </td>
11668
11669 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011670 unitless: 1-10; 10 is full shading
11671 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011672 </td>
11673
11674 <td class="entry_range">
11675 </td>
11676
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011677 <td class="entry_tags">
11678 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011679 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011680 </ul>
11681 </td>
11682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011683 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011684
11685
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011686 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11687 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011688
11689
11690
11691 <!-- end of kind -->
11692 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011693 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011694
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011695 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011696 <tr>
11697 <th class="th_name">Property Name</th>
11698 <th class="th_type">Type</th>
11699 <th class="th_description">Description</th>
11700 <th class="th_units">Units</th>
11701 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011702 <th class="th_tags">Tags</th>
11703 </tr>
11704 </thead>
11705
11706 <tbody>
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717 <tr class="entry" id="dynamic_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011718 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011719 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011720 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011722 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011723
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011724 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011725
11726 <ul class="entry_type_enum">
11727 <li>
11728 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011729 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011730 </li>
11731 <li>
11732 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011733 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11734bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011735 </li>
11736 <li>
11737 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011738 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11739quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011740 </li>
11741 </ul>
11742
11743 </td> <!-- entry_type -->
11744
11745 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011746 <p>Quality of lens shading correction applied
11747to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011748 </td>
11749
11750 <td class="entry_units">
11751 </td>
11752
11753 <td class="entry_range">
11754 </td>
11755
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011756 <td class="entry_tags">
11757 </td>
11758
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011759 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011760
11761
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011762 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11763 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011764
11765
11766
11767 <!-- end of kind -->
11768 </tbody>
11769
11770 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011771 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011772
11773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011774 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011775
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011776 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011777 <tr>
11778 <th class="th_name">Property Name</th>
11779 <th class="th_type">Type</th>
11780 <th class="th_description">Description</th>
11781 <th class="th_units">Units</th>
11782 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011783 <th class="th_tags">Tags</th>
11784 </tr>
11785 </thead>
11786
11787 <tbody>
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011799 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011800 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011801 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011802 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011803 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011804
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011805 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011806
11807 <ul class="entry_type_enum">
11808 <li>
11809 <span class="entry_type_enum_name">OFF</span>
11810 </li>
11811 <li>
11812 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011813 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11814only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011815 </li>
11816 <li>
11817 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011818 <span class="entry_type_enum_notes"><p>Optional Return all face
11819metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011820 </li>
11821 </ul>
11822
11823 </td> <!-- entry_type -->
11824
11825 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011826 <p>State of the face detector
11827unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011828 </td>
11829
11830 <td class="entry_units">
11831 </td>
11832
11833 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011834 <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 -080011835 </td>
11836
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011837 <td class="entry_tags">
11838 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011839 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011840 </ul>
11841 </td>
11842
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011843 </tr>
11844 <tr class="entries_header">
11845 <th class="th_details" colspan="5">Details</th>
11846 </tr>
11847 <tr class="entry_cont">
11848 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011849 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011850should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011851fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011852<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 -080011853 </td>
11854 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011855
11856
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011857 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11858 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011859
11860
11861 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011862 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011863 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011864 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011865 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011866 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011867
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011868 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011869
11870 <ul class="entry_type_enum">
11871 <li>
11872 <span class="entry_type_enum_name">OFF</span>
11873 </li>
11874 <li>
11875 <span class="entry_type_enum_name">ON</span>
11876 </li>
11877 </ul>
11878
11879 </td> <!-- entry_type -->
11880
11881 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011882 <p>Operating mode for histogram
11883generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011884 </td>
11885
11886 <td class="entry_units">
11887 </td>
11888
11889 <td class="entry_range">
11890 </td>
11891
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011892 <td class="entry_tags">
11893 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011894 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011895 </ul>
11896 </td>
11897
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011898 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011899
11900
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011901 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11902 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011903
11904
11905 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011906 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011907 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011908 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011909 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011910 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011911
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011912 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011913
11914 <ul class="entry_type_enum">
11915 <li>
11916 <span class="entry_type_enum_name">OFF</span>
11917 </li>
11918 <li>
11919 <span class="entry_type_enum_name">ON</span>
11920 </li>
11921 </ul>
11922
11923 </td> <!-- entry_type -->
11924
11925 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011926 <p>Operating mode for sharpness map
11927generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011928 </td>
11929
11930 <td class="entry_units">
11931 </td>
11932
11933 <td class="entry_range">
11934 </td>
11935
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011936 <td class="entry_tags">
11937 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011938 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011939 </ul>
11940 </td>
11941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011942 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011943
11944
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011945 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11946 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011947
Zhijun He69fc0ea2013-07-17 09:42:58 -070011948
11949 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011950 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011951 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011952 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011953 <td class="entry_type">
11954 <span class="entry_type_name entry_type_name_enum">byte</span>
11955
11956 <span class="entry_type_visibility"> [public]</span>
11957
11958 <ul class="entry_type_enum">
11959 <li>
11960 <span class="entry_type_enum_name">OFF</span>
11961 </li>
11962 <li>
11963 <span class="entry_type_enum_name">ON</span>
11964 </li>
11965 </ul>
11966
11967 </td> <!-- entry_type -->
11968
11969 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011970 <p>Whether the HAL needs to output the lens
11971shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011972 </td>
11973
11974 <td class="entry_units">
11975 </td>
11976
11977 <td class="entry_range">
11978 </td>
11979
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011980 <td class="entry_tags">
11981 </td>
11982
11983 </tr>
11984 <tr class="entries_header">
11985 <th class="th_details" colspan="5">Details</th>
11986 </tr>
11987 <tr class="entry_cont">
11988 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011989 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011990<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 -080011991the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011992 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011993 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011994
11995
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011996 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11997 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011998
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011999
12000
12001 <!-- end of kind -->
12002 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012003 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012004
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012005 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012006 <tr>
12007 <th class="th_name">Property Name</th>
12008 <th class="th_type">Type</th>
12009 <th class="th_description">Description</th>
12010 <th class="th_units">Units</th>
12011 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012012 <th class="th_tags">Tags</th>
12013 </tr>
12014 </thead>
12015
12016 <tbody>
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012030 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012031 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012032 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012033 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012034 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012035 <span class="entry_type_container">x</span>
12036
12037 <span class="entry_type_array">
12038 n
12039 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012040 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012041 <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 -080012042
12043
12044 </td> <!-- entry_type -->
12045
12046 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012047 <p>Which face detection modes are available,<wbr/>
12048if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012049 </td>
12050
12051 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012052 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012053 OFF
12054 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012055 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012056 </td>
12057
12058 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012059 </td>
12060
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012061 <td class="entry_tags">
12062 </td>
12063
12064 </tr>
12065 <tr class="entries_header">
12066 <th class="th_details" colspan="5">Details</th>
12067 </tr>
12068 <tr class="entry_cont">
12069 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012070 <p>OFF means face detection is disabled,<wbr/> it must
12071be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012072<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012073<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12074<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012075<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012076<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12077<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012078 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012079 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012080
12081
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012082 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12083 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012084
12085
12086 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012087 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012088 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012089 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012090 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012091 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012092
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012093 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012094
12095
12096 </td> <!-- entry_type -->
12097
12098 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012099 <p>Number of histogram buckets
12100supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012101 </td>
12102
12103 <td class="entry_units">
12104 </td>
12105
12106 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012107 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012108 </td>
12109
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012110 <td class="entry_tags">
12111 </td>
12112
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012113 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012114
12115
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012116 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12117 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012118
12119
12120 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012121 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012122 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012123 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012124 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012125 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012126
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012127 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012128
12129
12130 </td> <!-- entry_type -->
12131
12132 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012133 <p>Maximum number of simultaneously detectable
12134faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012135 </td>
12136
12137 <td class="entry_units">
12138 </td>
12139
12140 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012141 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012142modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012143 </td>
12144
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012145 <td class="entry_tags">
12146 </td>
12147
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012148 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012149
12150
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012151 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12152 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012153
12154
12155 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012156 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012157 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012158 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012159 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012160 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012161
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012162 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012163
12164
12165 </td> <!-- entry_type -->
12166
12167 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012168 <p>Maximum value possible for a histogram
12169bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012170 </td>
12171
12172 <td class="entry_units">
12173 </td>
12174
12175 <td class="entry_range">
12176 </td>
12177
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012178 <td class="entry_tags">
12179 </td>
12180
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012181 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012182
12183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012184 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12185 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012186
12187
12188 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012189 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012190 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012191 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012193 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012194
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012195 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012196
12197
12198 </td> <!-- entry_type -->
12199
12200 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012201 <p>Maximum value possible for a sharpness map
12202region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012203 </td>
12204
12205 <td class="entry_units">
12206 </td>
12207
12208 <td class="entry_range">
12209 </td>
12210
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012211 <td class="entry_tags">
12212 </td>
12213
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012214 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012215
12216
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012217 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12218 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012219
12220
12221 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012222 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012223 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012224 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012225 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012226 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012227 <span class="entry_type_container">x</span>
12228
12229 <span class="entry_type_array">
12230 2
12231 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012232 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012233 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012234
12235
12236 </td> <!-- entry_type -->
12237
12238 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012239 <p>Dimensions of the sharpness
12240map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012241 </td>
12242
12243 <td class="entry_units">
12244 </td>
12245
12246 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012247 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012248 </td>
12249
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012250 <td class="entry_tags">
12251 </td>
12252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012253 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012254
12255
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012256 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12257 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012258
12259
12260
12261
12262
12263
12264 <!-- end of kind -->
12265 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012266 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012267
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012268 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012269 <tr>
12270 <th class="th_name">Property Name</th>
12271 <th class="th_type">Type</th>
12272 <th class="th_description">Description</th>
12273 <th class="th_units">Units</th>
12274 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012275 <th class="th_tags">Tags</th>
12276 </tr>
12277 </thead>
12278
12279 <tbody>
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012291 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012292 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012293 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012295 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012297 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012298
12299 <ul class="entry_type_enum">
12300 <li>
12301 <span class="entry_type_enum_name">OFF</span>
12302 </li>
12303 <li>
12304 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012305 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12306only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012307 </li>
12308 <li>
12309 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012310 <span class="entry_type_enum_notes"><p>Optional Return all face
12311metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012312 </li>
12313 </ul>
12314
12315 </td> <!-- entry_type -->
12316
12317 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012318 <p>State of the face detector
12319unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012320 </td>
12321
12322 <td class="entry_units">
12323 </td>
12324
12325 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012326 <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 -080012327 </td>
12328
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012329 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012330 <ul class="entry_tags">
12331 <li><a href="#tag_BC">BC</a></li>
12332 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012333 </td>
12334
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012335 </tr>
12336 <tr class="entries_header">
12337 <th class="th_details" colspan="5">Details</th>
12338 </tr>
12339 <tr class="entry_cont">
12340 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012341 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012342should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012343fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012344<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 -080012345 </td>
12346 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012347
12348
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012349 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12350 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012351
12352
12353 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012354 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012355 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012356 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012357 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012358 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012359 <span class="entry_type_container">x</span>
12360
12361 <span class="entry_type_array">
12362 n
12363 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012364 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012365
12366
12367 </td> <!-- entry_type -->
12368
12369 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012370 <p>List of unique IDs for detected
12371faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012372 </td>
12373
12374 <td class="entry_units">
12375 </td>
12376
12377 <td class="entry_range">
12378 </td>
12379
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012380 <td class="entry_tags">
12381 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012382 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012383 </ul>
12384 </td>
12385
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012386 </tr>
12387 <tr class="entries_header">
12388 <th class="th_details" colspan="5">Details</th>
12389 </tr>
12390 <tr class="entry_cont">
12391 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012392 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012393 </td>
12394 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012395
12396
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012397 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12398 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012399
12400
12401 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012402 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012403 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012404 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012405 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012406 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012407 <span class="entry_type_container">x</span>
12408
12409 <span class="entry_type_array">
12410 n x 6
12411 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012412 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012413 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012414
12415
12416 </td> <!-- entry_type -->
12417
12418 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012419 <p>List of landmarks for detected
12420faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012421 </td>
12422
12423 <td class="entry_units">
12424 </td>
12425
12426 <td class="entry_range">
12427 </td>
12428
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012429 <td class="entry_tags">
12430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012431 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012432 </ul>
12433 </td>
12434
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012435 </tr>
12436 <tr class="entries_header">
12437 <th class="th_details" colspan="5">Details</th>
12438 </tr>
12439 <tr class="entry_cont">
12440 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012441 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012442 </td>
12443 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012444
12445
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012446 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12447 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012448
12449
12450 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012451 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012452 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012453 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012454 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012455 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012456 <span class="entry_type_container">x</span>
12457
12458 <span class="entry_type_array">
12459 n x 4
12460 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012461 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012462 <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 -080012463
12464
12465 </td> <!-- entry_type -->
12466
12467 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012468 <p>List of the bounding rectangles for detected
12469faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012470 </td>
12471
12472 <td class="entry_units">
12473 </td>
12474
12475 <td class="entry_range">
12476 </td>
12477
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012478 <td class="entry_tags">
12479 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012480 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012481 </ul>
12482 </td>
12483
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012484 </tr>
12485 <tr class="entries_header">
12486 <th class="th_details" colspan="5">Details</th>
12487 </tr>
12488 <tr class="entry_cont">
12489 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012490 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012491 </td>
12492 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012493
12494
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012495 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12496 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012497
12498
12499 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012500 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012501 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012502 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012504 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012505 <span class="entry_type_container">x</span>
12506
12507 <span class="entry_type_array">
12508 n
12509 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012510 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012511
12512
12513 </td> <!-- entry_type -->
12514
12515 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012516 <p>List of the face confidence scores for
12517detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012518 </td>
12519
12520 <td class="entry_units">
12521 </td>
12522
12523 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012524 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012525 </td>
12526
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012527 <td class="entry_tags">
12528 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012529 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012530 </ul>
12531 </td>
12532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012533 </tr>
12534 <tr class="entries_header">
12535 <th class="th_details" colspan="5">Details</th>
12536 </tr>
12537 <tr class="entry_cont">
12538 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012539 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12540meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012541 </td>
12542 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012543
12544
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012545 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12546 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012547
12548
12549 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012550 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012551 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012552 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012553 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012554 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012555 <span class="entry_type_container">x</span>
12556
12557 <span class="entry_type_array">
12558 n x 3
12559 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012560 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012561 <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 -080012562
12563
12564 </td> <!-- entry_type -->
12565
12566 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012567 <p>A 3-channel histogram based on the raw
12568sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012569 </td>
12570
12571 <td class="entry_units">
12572 </td>
12573
12574 <td class="entry_range">
12575 </td>
12576
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012577 <td class="entry_tags">
12578 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012579 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012580 </ul>
12581 </td>
12582
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012583 </tr>
12584 <tr class="entries_header">
12585 <th class="th_details" colspan="5">Details</th>
12586 </tr>
12587 <tr class="entry_cont">
12588 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012589 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012590(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 -080012591(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12592supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012593 </td>
12594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012595
12596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12598 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012599
12600
12601 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012602 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012603 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012604 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012605 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012606 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012607
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012608 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012609
12610 <ul class="entry_type_enum">
12611 <li>
12612 <span class="entry_type_enum_name">OFF</span>
12613 </li>
12614 <li>
12615 <span class="entry_type_enum_name">ON</span>
12616 </li>
12617 </ul>
12618
12619 </td> <!-- entry_type -->
12620
12621 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012622 <p>Operating mode for histogram
12623generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012624 </td>
12625
12626 <td class="entry_units">
12627 </td>
12628
12629 <td class="entry_range">
12630 </td>
12631
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012632 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012633 <ul class="entry_tags">
12634 <li><a href="#tag_V1">V1</a></li>
12635 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012636 </td>
12637
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012638 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012639
12640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012641 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12642 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012643
12644
12645 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012646 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012647 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012648 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012649 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012650 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012651 <span class="entry_type_container">x</span>
12652
12653 <span class="entry_type_array">
12654 n x m x 3
12655 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012656 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012657 <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 -080012658
12659
12660 </td> <!-- entry_type -->
12661
12662 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012663 <p>A 3-channel sharpness map,<wbr/> based on the raw
12664sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012665 </td>
12666
12667 <td class="entry_units">
12668 </td>
12669
12670 <td class="entry_range">
12671 </td>
12672
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012673 <td class="entry_tags">
12674 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012675 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012676 </ul>
12677 </td>
12678
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012679 </tr>
12680 <tr class="entries_header">
12681 <th class="th_details" colspan="5">Details</th>
12682 </tr>
12683 <tr class="entry_cont">
12684 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012685 <p>If only a monochrome sharpness map is supported,<wbr/>
12686all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012687 </td>
12688 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012689
12690
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012691 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12692 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012693
12694
12695 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012696 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012697 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012698 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012699 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012700 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012701
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012702 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012703
12704 <ul class="entry_type_enum">
12705 <li>
12706 <span class="entry_type_enum_name">OFF</span>
12707 </li>
12708 <li>
12709 <span class="entry_type_enum_name">ON</span>
12710 </li>
12711 </ul>
12712
12713 </td> <!-- entry_type -->
12714
12715 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012716 <p>Operating mode for sharpness map
12717generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012718 </td>
12719
12720 <td class="entry_units">
12721 </td>
12722
12723 <td class="entry_range">
12724 </td>
12725
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012726 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012727 <ul class="entry_tags">
12728 <li><a href="#tag_V1">V1</a></li>
12729 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012730 </td>
12731
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012732 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012733
12734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012735 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12736 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012737
Zhijun He69fc0ea2013-07-17 09:42:58 -070012738
12739 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012740 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012741 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012742 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012743 <td class="entry_type">
12744 <span class="entry_type_name">float</span>
12745 <span class="entry_type_container">x</span>
12746
12747 <span class="entry_type_array">
12748 4 x n x m
12749 </span>
12750 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012751 <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 -070012752
12753
12754 </td> <!-- entry_type -->
12755
12756 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012757 <p>The shading map is a low-resolution floating-point map
12758that lists the coefficients used to correct for vignetting,<wbr/> for each
12759Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012760 </td>
12761
12762 <td class="entry_units">
12763 </td>
12764
12765 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012766 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012767 </td>
12768
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012769 <td class="entry_tags">
12770 </td>
12771
12772 </tr>
12773 <tr class="entries_header">
12774 <th class="th_details" colspan="5">Details</th>
12775 </tr>
12776 <tr class="entry_cont">
12777 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012778 <p>The least shaded section of the image should have a gain factor
12779of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012780<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 -080012781must take into account the colorCorrection settings.<wbr/></p>
12782<p>The shading map is for the entire active pixel array,<wbr/> and is not
12783affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012784entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012785pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12786map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12787(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12788pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12789The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12790<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12791channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12792The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012793is 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 -080012794<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12795and must be smaller than 64x64.<wbr/></p>
12796<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012797<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12798<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012799[ 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/>
12800 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/>
12801 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/>
12802 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/>
12803 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/>
12804 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 -080012805</code></pre>
12806<p>The low-resolution scaling map images for each channel are
12807(displayed using nearest-neighbor interpolation):</p>
12808<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12809<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12810<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12811<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012812<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012813image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012814<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 -070012815 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012816 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012817
12818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012819 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12820 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012821
12822
12823 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012824 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012825 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012826 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012827 <td class="entry_type">
12828 <span class="entry_type_name">float</span>
12829 <span class="entry_type_container">x</span>
12830
12831 <span class="entry_type_array">
12832 4
12833 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012834 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012835 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012836
12837
12838 </td> <!-- entry_type -->
12839
12840 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012841 <p>The best-fit color channel gains calculated
12842by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012843 </td>
12844
12845 <td class="entry_units">
12846 </td>
12847
12848 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012849 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012850 </td>
12851
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012852 <td class="entry_tags">
12853 </td>
12854
12855 </tr>
12856 <tr class="entries_header">
12857 <th class="th_details" colspan="5">Details</th>
12858 </tr>
12859 <tr class="entry_cont">
12860 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012861 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012862since statistics processing on data from a new frame
12863typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012864applied to that frame.<wbr/></p>
12865<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012866see <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 -080012867<p>This value should always be calculated by the AWB block,<wbr/>
12868regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012869 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012870 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012871
12872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012873 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12874 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012875
12876
12877 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012878 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012879 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012880 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012881 <td class="entry_type">
12882 <span class="entry_type_name">rational</span>
12883 <span class="entry_type_container">x</span>
12884
12885 <span class="entry_type_array">
12886 3 x 3
12887 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012888 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012889 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012890
12891
12892 </td> <!-- entry_type -->
12893
12894 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012895 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012896calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080012897output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012898 </td>
12899
12900 <td class="entry_units">
12901 </td>
12902
12903 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012904 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012905 </td>
12906
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012907 <td class="entry_tags">
12908 </td>
12909
12910 </tr>
12911 <tr class="entries_header">
12912 <th class="th_details" colspan="5">Details</th>
12913 </tr>
12914 <tr class="entry_cont">
12915 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012916 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012917statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080012918for the next frame.<wbr/> These are the values the HAL believes
12919are the best fit for the current output frame.<wbr/> This may
12920be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012921statistics processing on data from a new frame typically
12922completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080012923that frame.<wbr/></p>
12924<p>These estimates must be provided for all frames,<wbr/> even if
12925capture settings and color transforms are set by the application.<wbr/></p>
12926<p>This value should always be calculated by the AWB block,<wbr/>
12927regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012928 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012929 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012930
12931
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012932 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12933 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012934
12935
12936 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012937 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012938 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012939 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012940 <td class="entry_type">
12941 <span class="entry_type_name entry_type_name_enum">byte</span>
12942
12943 <span class="entry_type_visibility"> [public]</span>
12944
12945 <ul class="entry_type_enum">
12946 <li>
12947 <span class="entry_type_enum_name">NONE</span>
12948 </li>
12949 <li>
12950 <span class="entry_type_enum_name">50HZ</span>
12951 </li>
12952 <li>
12953 <span class="entry_type_enum_name">60HZ</span>
12954 </li>
12955 </ul>
12956
12957 </td> <!-- entry_type -->
12958
12959 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012960 <p>The HAL estimated scene illumination lighting
12961frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012962 </td>
12963
12964 <td class="entry_units">
12965 </td>
12966
12967 <td class="entry_range">
12968 </td>
12969
Zhijun He69fc0ea2013-07-17 09:42:58 -070012970 <td class="entry_tags">
12971 </td>
12972
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012973 </tr>
12974 <tr class="entries_header">
12975 <th class="th_details" colspan="5">Details</th>
12976 </tr>
12977 <tr class="entry_cont">
12978 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012979 <p>Report NONE if there doesn't appear to be flickering
12980illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012981 </td>
12982 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012983
12984
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012985 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12986 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012987
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012988
12989
12990 <!-- end of kind -->
12991 </tbody>
12992
12993 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012994 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012995
12996
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012997 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012998
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012999 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013000 <tr>
13001 <th class="th_name">Property Name</th>
13002 <th class="th_type">Type</th>
13003 <th class="th_description">Description</th>
13004 <th class="th_units">Units</th>
13005 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013006 <th class="th_tags">Tags</th>
13007 </tr>
13008 </thead>
13009
13010 <tbody>
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013022 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013023 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013024 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013025 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013026 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013027 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013028
Zhijun He704d1282013-08-19 15:26:33 -070013029 <span class="entry_type_array">
13030 n x 2
13031 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013032 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013033 <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 -080013034
13035
13036 </td> <!-- entry_type -->
13037
13038 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013039 <p>Table mapping blue input values to output
13040values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013041 </td>
13042
13043 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013044 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013045 </td>
13046
13047 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013048 <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 -080013049 </td>
13050
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013051 <td class="entry_tags">
13052 </td>
13053
13054 </tr>
13055 <tr class="entries_header">
13056 <th class="th_details" colspan="5">Details</th>
13057 </tr>
13058 <tr class="entry_cont">
13059 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013060 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013061channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13062<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 -080013063 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013064 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013065
13066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013067 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13068 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013069
13070
13071 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013072 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013073 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013074 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013075 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013076 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013077 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013078
Zhijun He704d1282013-08-19 15:26:33 -070013079 <span class="entry_type_array">
13080 n x 2
13081 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013082 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013083 <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 -080013084
13085
13086 </td> <!-- entry_type -->
13087
13088 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013089 <p>Table mapping green input values to output
13090values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013091 </td>
13092
13093 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013094 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013095 </td>
13096
13097 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013098 <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 -080013099 </td>
13100
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013101 <td class="entry_tags">
13102 </td>
13103
13104 </tr>
13105 <tr class="entries_header">
13106 <th class="th_details" colspan="5">Details</th>
13107 </tr>
13108 <tr class="entry_cont">
13109 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013110 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013111channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13112<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 -080013113 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013114 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013115
13116
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013117 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13118 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013119
13120
13121 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013122 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013123 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013124 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013126 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013127 <span class="entry_type_container">x</span>
13128
13129 <span class="entry_type_array">
13130 n x 2
13131 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013133 <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 -080013134
13135
13136 </td> <!-- entry_type -->
13137
13138 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013139 <p>Table mapping red input values to output
13140values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013141 </td>
13142
13143 <td class="entry_units">
13144 </td>
13145
13146 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013147 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013148 </td>
13149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013150 <td class="entry_tags">
13151 <ul class="entry_tags">
13152 <li><a href="#tag_DNG">DNG</a></li>
13153 </ul>
13154 </td>
13155
13156 </tr>
13157 <tr class="entries_header">
13158 <th class="th_details" colspan="5">Details</th>
13159 </tr>
13160 <tr class="entry_cont">
13161 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013162 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013163channel,<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 -080013164<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013165the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013166are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013167between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013168<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013169defined points.<wbr/> The points will be listed in increasing
13170order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
131710.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13172for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
131730.<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 -080013174 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013175 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013176
13177
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013178 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13179 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013180
13181
13182 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013183 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013184 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013185 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013186 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013187 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013188
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013189 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013190
13191 <ul class="entry_type_enum">
13192 <li>
13193 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013194 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13195android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013196 </li>
13197 <li>
13198 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013199 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13200bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013201 </li>
13202 <li>
13203 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013204 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13205quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013206 </li>
13207 </ul>
13208
13209 </td> <!-- entry_type -->
13210
13211 <td class="entry_description">
13212 </td>
13213
13214 <td class="entry_units">
13215 </td>
13216
13217 <td class="entry_range">
13218 </td>
13219
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013220 <td class="entry_tags">
13221 </td>
13222
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013223 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013224
13225
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013226 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13227 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013228
13229
13230
13231 <!-- end of kind -->
13232 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013233 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013234
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013235 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013236 <tr>
13237 <th class="th_name">Property Name</th>
13238 <th class="th_type">Type</th>
13239 <th class="th_description">Description</th>
13240 <th class="th_units">Units</th>
13241 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013242 <th class="th_tags">Tags</th>
13243 </tr>
13244 </thead>
13245
13246 <tbody>
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013258 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013259 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013260 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013261 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013262 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013263
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013264 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013265
13266
13267 </td> <!-- entry_type -->
13268
13269 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013270 <p>Maximum number of supported points in the
13271tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013272 </td>
13273
13274 <td class="entry_units">
13275 </td>
13276
13277 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013278 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013279 </td>
13280
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013281 <td class="entry_tags">
13282 </td>
13283
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013284 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013285
13286
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013287 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13288 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013289
13290
13291
13292 <!-- end of kind -->
13293 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013294 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013295
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013296 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013297 <tr>
13298 <th class="th_name">Property Name</th>
13299 <th class="th_type">Type</th>
13300 <th class="th_description">Description</th>
13301 <th class="th_units">Units</th>
13302 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013303 <th class="th_tags">Tags</th>
13304 </tr>
13305 </thead>
13306
13307 <tbody>
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013319 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013320 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013321 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013322 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013323 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013324 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013325
Zhijun He704d1282013-08-19 15:26:33 -070013326 <span class="entry_type_array">
13327 n x 2
13328 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013329 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013330 <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 -080013331
13332
13333 </td> <!-- entry_type -->
13334
13335 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013336 <p>Table mapping blue input values to output
13337values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013338 </td>
13339
13340 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013341 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013342 </td>
13343
13344 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013345 <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 -080013346 </td>
13347
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013348 <td class="entry_tags">
13349 </td>
13350
13351 </tr>
13352 <tr class="entries_header">
13353 <th class="th_details" colspan="5">Details</th>
13354 </tr>
13355 <tr class="entry_cont">
13356 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013357 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013358channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13359<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 -080013360 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013361 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013362
13363
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013364 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13365 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013366
13367
13368 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013369 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013370 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013371 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013372 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013373 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013374 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013375
Zhijun He704d1282013-08-19 15:26:33 -070013376 <span class="entry_type_array">
13377 n x 2
13378 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013379 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013380 <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 -080013381
13382
13383 </td> <!-- entry_type -->
13384
13385 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013386 <p>Table mapping green input values to output
13387values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013388 </td>
13389
13390 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013391 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013392 </td>
13393
13394 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013395 <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 -080013396 </td>
13397
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013398 <td class="entry_tags">
13399 </td>
13400
13401 </tr>
13402 <tr class="entries_header">
13403 <th class="th_details" colspan="5">Details</th>
13404 </tr>
13405 <tr class="entry_cont">
13406 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013407 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013408channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13409<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 -080013410 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013411 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013412
13413
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013414 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13415 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013416
13417
13418 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013419 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013420 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013421 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013422 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013423 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013424 <span class="entry_type_container">x</span>
13425
13426 <span class="entry_type_array">
13427 n x 2
13428 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013429 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013430 <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 -080013431
13432
13433 </td> <!-- entry_type -->
13434
13435 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013436 <p>Table mapping red input values to output
13437values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013438 </td>
13439
13440 <td class="entry_units">
13441 </td>
13442
13443 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013444 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013445 </td>
13446
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013447 <td class="entry_tags">
13448 <ul class="entry_tags">
13449 <li><a href="#tag_DNG">DNG</a></li>
13450 </ul>
13451 </td>
13452
13453 </tr>
13454 <tr class="entries_header">
13455 <th class="th_details" colspan="5">Details</th>
13456 </tr>
13457 <tr class="entry_cont">
13458 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013459 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013460channel,<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 -080013461<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013462the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013463are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013464between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013465<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013466defined points.<wbr/> The points will be listed in increasing
13467order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
134680.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13469for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
134700.<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 -080013471 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013472 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013473
13474
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013475 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13476 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013477
13478
13479 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013480 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013481 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013482 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013483 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013484 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013485
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013486 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013487
13488 <ul class="entry_type_enum">
13489 <li>
13490 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013491 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13492android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013493 </li>
13494 <li>
13495 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013496 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13497bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013498 </li>
13499 <li>
13500 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013501 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13502quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013503 </li>
13504 </ul>
13505
13506 </td> <!-- entry_type -->
13507
13508 <td class="entry_description">
13509 </td>
13510
13511 <td class="entry_units">
13512 </td>
13513
13514 <td class="entry_range">
13515 </td>
13516
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013517 <td class="entry_tags">
13518 </td>
13519
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013520 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013521
13522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013523 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13524 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013525
13526
13527
13528 <!-- end of kind -->
13529 </tbody>
13530
13531 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013532 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013533
13534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013535 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013536
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013537 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013538 <tr>
13539 <th class="th_name">Property Name</th>
13540 <th class="th_type">Type</th>
13541 <th class="th_description">Description</th>
13542 <th class="th_units">Units</th>
13543 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013544 <th class="th_tags">Tags</th>
13545 </tr>
13546 </thead>
13547
13548 <tbody>
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013560 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013561 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013562 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013563 <td class="entry_type">
13564 <span class="entry_type_name entry_type_name_enum">byte</span>
13565
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013566 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013567
13568 <ul class="entry_type_enum">
13569 <li>
13570 <span class="entry_type_enum_name">OFF</span>
13571 </li>
13572 <li>
13573 <span class="entry_type_enum_name">ON</span>
13574 </li>
13575 </ul>
13576
13577 </td> <!-- entry_type -->
13578
13579 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013580 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013581that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013582Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013583disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013584any untrusted applications.<wbr/></p>
13585<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13586transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13587data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013588<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013589doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013590 </td>
13591
13592 <td class="entry_units">
13593 </td>
13594
13595 <td class="entry_range">
13596 </td>
13597
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013598 <td class="entry_tags">
13599 </td>
13600
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013601 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013602
13603
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013604 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13605 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013606
13607
13608
13609 <!-- end of kind -->
13610 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013611 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013612
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013613 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013614 <tr>
13615 <th class="th_name">Property Name</th>
13616 <th class="th_type">Type</th>
13617 <th class="th_description">Description</th>
13618 <th class="th_units">Units</th>
13619 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013620 <th class="th_tags">Tags</th>
13621 </tr>
13622 </thead>
13623
13624 <tbody>
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013636 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013637 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013638 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013639 <td class="entry_type">
13640 <span class="entry_type_name entry_type_name_enum">byte</span>
13641
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013642 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013643
13644 <ul class="entry_type_enum">
13645 <li>
13646 <span class="entry_type_enum_name">OFF</span>
13647 </li>
13648 <li>
13649 <span class="entry_type_enum_name">ON</span>
13650 </li>
13651 </ul>
13652
13653 </td> <!-- entry_type -->
13654
13655 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013656 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013657that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013658Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013659disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013660any untrusted applications.<wbr/></p>
13661<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13662transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13663data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013664<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013665doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013666 </td>
13667
13668 <td class="entry_units">
13669 </td>
13670
13671 <td class="entry_range">
13672 </td>
13673
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013674 <td class="entry_tags">
13675 </td>
13676
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013677 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013678
13679
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013680 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13681 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013682
13683
13684
13685 <!-- end of kind -->
13686 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013687 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013688
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013689 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013690 <tr>
13691 <th class="th_name">Property Name</th>
13692 <th class="th_type">Type</th>
13693 <th class="th_description">Description</th>
13694 <th class="th_units">Units</th>
13695 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013696 <th class="th_tags">Tags</th>
13697 </tr>
13698 </thead>
13699
13700 <tbody>
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013712 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013713 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013714 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013715 <td class="entry_type">
13716 <span class="entry_type_name entry_type_name_enum">byte</span>
13717 <span class="entry_type_container">x</span>
13718
13719 <span class="entry_type_array">
13720 n
13721 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013722 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013723
13724 <ul class="entry_type_enum">
13725 <li>
13726 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013727 <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 -070013728 </li>
13729 </ul>
13730
13731 </td> <!-- entry_type -->
13732
13733 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013734 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013735 </td>
13736
13737 <td class="entry_units">
13738 </td>
13739
13740 <td class="entry_range">
13741 </td>
13742
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013743 <td class="entry_tags">
13744 </td>
13745
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013746 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013747
13748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013749 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13750 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013751
13752
13753
13754 <!-- end of kind -->
13755 </tbody>
13756
13757 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013758 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013759
13760
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013761 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013762
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013763 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013764 <tr>
13765 <th class="th_name">Property Name</th>
13766 <th class="th_type">Type</th>
13767 <th class="th_description">Description</th>
13768 <th class="th_units">Units</th>
13769 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013770 <th class="th_tags">Tags</th>
13771 </tr>
13772 </thead>
13773
13774 <tbody>
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013786 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013787 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013788 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013789 <td class="entry_type">
13790 <span class="entry_type_name entry_type_name_enum">byte</span>
13791
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013792 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013793
13794 <ul class="entry_type_enum">
13795 <li>
13796 <span class="entry_type_enum_name">LIMITED</span>
13797 </li>
13798 <li>
13799 <span class="entry_type_enum_name">FULL</span>
13800 </li>
13801 </ul>
13802
13803 </td> <!-- entry_type -->
13804
13805 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013806 <p>The camera 3 HAL device can implement one of two possible
13807operational modes; limited and full.<wbr/> Full support is
13808expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013809hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013810camera HAL device v1 implementation,<wbr/> and is expected from
13811older or inexpensive devices.<wbr/> Full is a strict superset of
13812limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13813<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013814 </td>
13815
13816 <td class="entry_units">
13817 </td>
13818
13819 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013820 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013821 </td>
13822
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013823 <td class="entry_tags">
13824 </td>
13825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013826 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013827
13828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013829 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13830 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013831
13832
13833
13834 <!-- end of kind -->
13835 </tbody>
13836
13837 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013838 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013839
13840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013841 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013842
13843 <thead class="entries_header">
13844 <tr>
13845 <th class="th_name">Property Name</th>
13846 <th class="th_type">Type</th>
13847 <th class="th_description">Description</th>
13848 <th class="th_units">Units</th>
13849 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013850 <th class="th_tags">Tags</th>
13851 </tr>
13852 </thead>
13853
13854 <tbody>
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013866 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013867 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013868 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013869 <td class="entry_type">
13870 <span class="entry_type_name entry_type_name_enum">byte</span>
13871
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013872 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013873
13874 <ul class="entry_type_enum">
13875 <li>
13876 <span class="entry_type_enum_name">OFF</span>
13877 </li>
13878 <li>
13879 <span class="entry_type_enum_name">ON</span>
13880 </li>
13881 </ul>
13882
13883 </td> <!-- entry_type -->
13884
13885 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013886 <p>Whether black-level compensation is locked
13887to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013888 </td>
13889
13890 <td class="entry_units">
13891 </td>
13892
13893 <td class="entry_range">
13894 </td>
13895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013896 <td class="entry_tags">
13897 <ul class="entry_tags">
13898 <li><a href="#tag_HAL2">HAL2</a></li>
13899 </ul>
13900 </td>
13901
13902 </tr>
13903 <tr class="entries_header">
13904 <th class="th_details" colspan="5">Details</th>
13905 </tr>
13906 <tr class="entry_cont">
13907 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013908 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013909compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080013910OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013911<p>Since changes to certain capture parameters (such as
13912exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080013913compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013914the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080013915metadata.<wbr/></p>
13916<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013917<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013918<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13919<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13920<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13921<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13922<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13923<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013924</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013925<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080013926device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013927result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013928<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013929<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13930<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13931<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13932<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
13933<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13934<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013935</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013936<p>This indicates to the application that on frame 4,<wbr/> black
13937levels were reset due to exposure value changes,<wbr/> and pixel
13938values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013939<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080013940possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013941other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080013942or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013943 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013944 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013945
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013946 <tr class="entries_header">
13947 <th class="th_details" colspan="5">HAL Implementation Details</th>
13948 </tr>
13949 <tr class="entry_cont">
13950 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013951 <p>If for some reason black level locking is no longer possible
13952(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13953black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013954override this request (and it must report 'OFF' when this
13955does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013956possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013957 </td>
13958 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013959
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013960 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13961 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013962
13963
13964
13965 <!-- end of kind -->
13966 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013967 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013968
13969 <thead class="entries_header">
13970 <tr>
13971 <th class="th_name">Property Name</th>
13972 <th class="th_type">Type</th>
13973 <th class="th_description">Description</th>
13974 <th class="th_units">Units</th>
13975 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013976 <th class="th_tags">Tags</th>
13977 </tr>
13978 </thead>
13979
13980 <tbody>
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013992 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013993 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013994 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013995 <td class="entry_type">
13996 <span class="entry_type_name entry_type_name_enum">byte</span>
13997
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013998 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013999
14000 <ul class="entry_type_enum">
14001 <li>
14002 <span class="entry_type_enum_name">OFF</span>
14003 </li>
14004 <li>
14005 <span class="entry_type_enum_name">ON</span>
14006 </li>
14007 </ul>
14008
14009 </td> <!-- entry_type -->
14010
14011 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014012 <p>Whether black-level compensation is locked
14013to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014014 </td>
14015
14016 <td class="entry_units">
14017 </td>
14018
14019 <td class="entry_range">
14020 </td>
14021
Zhijun He69fc0ea2013-07-17 09:42:58 -070014022 <td class="entry_tags">
14023 <ul class="entry_tags">
14024 <li><a href="#tag_HAL2">HAL2</a></li>
14025 </ul>
14026 </td>
14027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014028 </tr>
14029 <tr class="entries_header">
14030 <th class="th_details" colspan="5">Details</th>
14031 </tr>
14032 <tr class="entry_cont">
14033 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014034 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014035ON 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 -080014036a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014037perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014038 </td>
14039 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014040
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014041 <tr class="entries_header">
14042 <th class="th_details" colspan="5">HAL Implementation Details</th>
14043 </tr>
14044 <tr class="entry_cont">
14045 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014046 <p>If for some reason black level locking is no longer possible
14047(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14048black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014049override this request (and it must report 'OFF' when this
14050does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014051possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014052 </td>
14053 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014055 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14056 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014057
14058
14059
14060 <!-- end of kind -->
14061 </tbody>
14062
14063 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014064<!-- </namespace> -->
14065 </table>
14066
14067 <div class="tags" id="tag_index">
14068 <h2>Tags</h2>
14069 <ul>
14070 <li id="tag_AWB">AWB -
14071 Needed for auto white balance
14072
14073 <ul class="tags_entries">
14074 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14075 </ul>
14076 </li> <!-- tag_AWB -->
14077 <li id="tag_BC">BC -
14078 Needed for backwards compatibility with old Java API
14079
14080 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014081 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014082 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14083 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14084 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14085 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14086 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014087 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014088 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14089 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014090 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014091 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14092 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14093 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14094 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14095 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14096 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14097 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14098 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014099 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014100 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14101 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14102 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14103 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14104 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14105 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14106 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14107 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14108 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14109 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14110 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14111 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14112 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14113 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14114 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14115 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14116 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14117 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14118 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14119 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14120 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14121 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14122 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14123 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14124 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14125 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14126 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14127 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014128 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014129 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14130 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14131 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014132 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014133 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014134 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14135 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14136 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14137 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14138 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14139 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14140 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14141 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14142 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14143 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14144 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14145 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14146 </ul>
14147 </li> <!-- tag_BC -->
14148 <li id="tag_V1">V1 -
14149 New features for first camera 2 release (API1)
14150
14151 <ul class="tags_entries">
14152 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14153 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14154 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14155 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14156 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14157 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14158 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14159 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14160 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14161 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14162 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14163 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14164 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14165 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14166 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14167 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14168 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14169 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14170 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14171 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14172 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14173 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14174 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14175 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014176 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014177 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14178 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14179 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14180 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14181 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14182 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14183 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14184 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14185 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14186 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14187 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14188 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14189 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14190 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14191 </ul>
14192 </li> <!-- tag_V1 -->
14193 <li id="tag_ADV">ADV - None
14194 <ul class="tags_entries">
14195 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14196 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14197 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14198 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14199 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14200 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14201 </ul>
14202 </li> <!-- tag_ADV -->
14203 <li id="tag_DNG">DNG -
14204 Needed for DNG file support
14205
14206 <ul class="tags_entries">
14207 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014208 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14209 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14210 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14211 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14212 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14213 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14214 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14215 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14216 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14217 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14218 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14219 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14220 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14221 </ul>
14222 </li> <!-- tag_DNG -->
14223 <li id="tag_EXIF">EXIF - None
14224 <ul class="tags_entries">
14225 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14226 </ul>
14227 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014228 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014229 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014230
14231 <ul class="tags_entries">
14232 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14233 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14234 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014235 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014236 </ul>
14237 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014238 <li id="tag_FULL">FULL -
14239 Entry is required for full hardware level devices, and optional for other hardware levels
14240
14241 <ul class="tags_entries">
14242 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14243 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14244 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14245 </ul>
14246 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014247 </ul>
14248 </div>
14249
14250 [ <a href="#">top</a> ]
14251
14252</body>
14253</html>