blob: c3f34953a2fe3561f3d2a530ea653bdfc3e1ecba [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">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002179 <td class="entry_name" rowspan="3">
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>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002190 <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002191 </li>
2192 <li>
2193 <span class="entry_type_enum_name">MONO</span>
2194 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002195 <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
2196a single color.<wbr/> This will typically be grayscale.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002197 </li>
2198 <li>
2199 <span class="entry_type_enum_name">NEGATIVE</span>
2200 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002201 <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
2202are inverted.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002203 </li>
2204 <li>
2205 <span class="entry_type_enum_name">SOLARIZE</span>
2206 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002207 <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
2208image is wholly or partially reversed in
2209tone.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002210 </li>
2211 <li>
2212 <span class="entry_type_enum_name">SEPIA</span>
2213 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002214 <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
2215gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002216 </li>
2217 <li>
2218 <span class="entry_type_enum_name">POSTERIZE</span>
2219 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002220 <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
2221discrete regions of tone rather than a continuous
2222gradient of tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002223 </li>
2224 <li>
2225 <span class="entry_type_enum_name">WHITEBOARD</span>
2226 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002227 <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
2228as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002229 </li>
2230 <li>
2231 <span class="entry_type_enum_name">BLACKBOARD</span>
2232 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002233 <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
2234as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002235 </li>
2236 <li>
2237 <span class="entry_type_enum_name">AQUA</span>
2238 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002239 <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002240 </li>
2241 </ul>
2242
2243 </td> <!-- entry_type -->
2244
2245 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002246 <p>A special color effect to apply.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002247 </td>
2248
2249 <td class="entry_units">
2250 </td>
2251
2252 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002253 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002254 </td>
2255
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002256 <td class="entry_tags">
2257 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002258 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002259 </ul>
2260 </td>
2261
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002262 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002263 <tr class="entries_header">
2264 <th class="th_details" colspan="5">Details</th>
2265 </tr>
2266 <tr class="entry_cont">
2267 <td class="entry_details" colspan="5">
2268 <p>When this mode is set,<wbr/> a color effect will be applied
2269to images produced by the camera device.<wbr/> The interpretation
2270and implementation of these color effects is left to the
2271implementor of the camera device,<wbr/> and should not be
2272depended on to be consistent (or present) across all
2273devices.<wbr/></p>
2274<p>A color effect will only be applied if
2275<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2276 </td>
2277 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002278
2279
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002280 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2281 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002282
2283
2284 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002285 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002286 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002287 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002288 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002289 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002290
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002291 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002292
2293 <ul class="entry_type_enum">
2294 <li>
2295 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002296 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2297routines are disabled,<wbr/> no other settings in
2298android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002299 </li>
2300 <li>
2301 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002302 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2303Manual control of capture parameters is disabled.<wbr/> All
2304controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2305effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002306 </li>
2307 <li>
2308 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002309 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2310control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2311controls; the HAL must ignore those settings while
2312USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2313scene mode).<wbr/> Other control entries are still active.<wbr/>
2314This setting can only be used if availableSceneModes !=
2315UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 </li>
2317 </ul>
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002322 <p>Overall mode of 3A control
2323routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002330 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002331 </td>
2332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002333 <td class="entry_tags">
2334 <ul class="entry_tags">
2335 <li><a href="#tag_BC">BC</a></li>
2336 </ul>
2337 </td>
2338
2339 </tr>
2340 <tr class="entries_header">
2341 <th class="th_details" colspan="5">Details</th>
2342 </tr>
2343 <tr class="entry_cont">
2344 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002345 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002346by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002347capture parameters itself.<wbr/></p>
2348<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002349android.<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 -08002350<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002351android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002352one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002353as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002354<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 -08002355 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002356 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002357
2358
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002359 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2360 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002361
2362
2363 <tr class="entry" id="controls_android.control.sceneMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002364 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002365 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002366 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002367 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002368 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002369
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002370 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002371
2372 <ul class="entry_type_enum">
2373 <li>
2374 <span class="entry_type_enum_name">UNSUPPORTED</span>
2375 <span class="entry_type_enum_value">0</span>
2376 </li>
2377 <li>
2378 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002379 <span class="entry_type_enum_notes"><p>if face detection support exists Use face
2380detection data to drive 3A routines.<wbr/> If face detection
2381statistics are disabled,<wbr/> should still operate correctly
2382(but not return face detection statistics to the
2383framework).<wbr/></p>
2384<p>Unlike the other scene modes,<wbr/> aeMode,<wbr/> awbMode,<wbr/> and afMode
2385remain active when FACE_<wbr/>PRIORITY is set.<wbr/> This is due to
2386compatibility concerns with the old camera
2387API</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002388 </li>
2389 <li>
2390 <span class="entry_type_enum_name">ACTION</span>
2391 <span class="entry_type_enum_optional">optional</span>
2392 </li>
2393 <li>
2394 <span class="entry_type_enum_name">PORTRAIT</span>
2395 <span class="entry_type_enum_optional">optional</span>
2396 </li>
2397 <li>
2398 <span class="entry_type_enum_name">LANDSCAPE</span>
2399 <span class="entry_type_enum_optional">optional</span>
2400 </li>
2401 <li>
2402 <span class="entry_type_enum_name">NIGHT</span>
2403 <span class="entry_type_enum_optional">optional</span>
2404 </li>
2405 <li>
2406 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
2407 <span class="entry_type_enum_optional">optional</span>
2408 </li>
2409 <li>
2410 <span class="entry_type_enum_name">THEATRE</span>
2411 <span class="entry_type_enum_optional">optional</span>
2412 </li>
2413 <li>
2414 <span class="entry_type_enum_name">BEACH</span>
2415 <span class="entry_type_enum_optional">optional</span>
2416 </li>
2417 <li>
2418 <span class="entry_type_enum_name">SNOW</span>
2419 <span class="entry_type_enum_optional">optional</span>
2420 </li>
2421 <li>
2422 <span class="entry_type_enum_name">SUNSET</span>
2423 <span class="entry_type_enum_optional">optional</span>
2424 </li>
2425 <li>
2426 <span class="entry_type_enum_name">STEADYPHOTO</span>
2427 <span class="entry_type_enum_optional">optional</span>
2428 </li>
2429 <li>
2430 <span class="entry_type_enum_name">FIREWORKS</span>
2431 <span class="entry_type_enum_optional">optional</span>
2432 </li>
2433 <li>
2434 <span class="entry_type_enum_name">SPORTS</span>
2435 <span class="entry_type_enum_optional">optional</span>
2436 </li>
2437 <li>
2438 <span class="entry_type_enum_name">PARTY</span>
2439 <span class="entry_type_enum_optional">optional</span>
2440 </li>
2441 <li>
2442 <span class="entry_type_enum_name">CANDLELIGHT</span>
2443 <span class="entry_type_enum_optional">optional</span>
2444 </li>
2445 <li>
2446 <span class="entry_type_enum_name">BARCODE</span>
2447 <span class="entry_type_enum_optional">optional</span>
2448 </li>
2449 </ul>
2450
2451 </td> <!-- entry_type -->
2452
2453 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002454 <p>Which scene mode is active when
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002455<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = SCENE_<wbr/>MODE</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002456 </td>
2457
2458 <td class="entry_units">
2459 </td>
2460
2461 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002462 <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 -08002463 </td>
2464
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002465 <td class="entry_tags">
2466 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002467 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002468 </ul>
2469 </td>
2470
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002471 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002472
2473
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002474 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2475 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002476
2477
2478 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002479 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002480 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002481 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002482 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002483 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002484
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002485 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002486
2487 <ul class="entry_type_enum">
2488 <li>
2489 <span class="entry_type_enum_name">OFF</span>
2490 </li>
2491 <li>
2492 <span class="entry_type_enum_name">ON</span>
2493 </li>
2494 </ul>
2495
2496 </td> <!-- entry_type -->
2497
2498 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002499 <p>Whether video stabilization is
2500active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002501 </td>
2502
2503 <td class="entry_units">
2504 </td>
2505
2506 <td class="entry_range">
2507 </td>
2508
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002509 <td class="entry_tags">
2510 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002511 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002512 </ul>
2513 </td>
2514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002515 </tr>
2516 <tr class="entries_header">
2517 <th class="th_details" colspan="5">Details</th>
2518 </tr>
2519 <tr class="entry_cont">
2520 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002521 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002522<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 -08002523stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002524 </td>
2525 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002526
2527
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002528 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2529 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002530
2531
2532
2533 <!-- end of kind -->
2534 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002535 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002536
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002537 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002538 <tr>
2539 <th class="th_name">Property Name</th>
2540 <th class="th_type">Type</th>
2541 <th class="th_description">Description</th>
2542 <th class="th_units">Units</th>
2543 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002544 <th class="th_tags">Tags</th>
2545 </tr>
2546 </thead>
2547
2548 <tbody>
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002560 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002561 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002562 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002564 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002565 <span class="entry_type_container">x</span>
2566
2567 <span class="entry_type_array">
2568 n
2569 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002570 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002571 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002572
2573
2574 </td> <!-- entry_type -->
2575
2576 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002577 <p>The set of auto-exposure antibanding modes that are
2578supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002579 </td>
2580
2581 <td class="entry_units">
2582 </td>
2583
2584 <td class="entry_range">
2585 </td>
2586
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002587 <td class="entry_tags">
2588 </td>
2589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002590 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002591 <tr class="entries_header">
2592 <th class="th_details" colspan="5">Details</th>
2593 </tr>
2594 <tr class="entry_cont">
2595 <td class="entry_details" colspan="5">
2596 <p>Not all of the auto-exposure anti-banding modes may be
2597supported by a given camera device.<wbr/> This field lists the
2598valid anti-banding modes that the application may request
2599for this camera device; they must include AUTO.<wbr/></p>
2600 </td>
2601 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002602
2603
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002604 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2605 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002606
2607
2608 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002609 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002610 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002611 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002612 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002613 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002614 <span class="entry_type_container">x</span>
2615
2616 <span class="entry_type_array">
2617 n
2618 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002619 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002620 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002621
2622
2623 </td> <!-- entry_type -->
2624
2625 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002626 <p>The set of auto-exposure modes that are supported by this
2627camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002628 </td>
2629
2630 <td class="entry_units">
2631 </td>
2632
2633 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002634 </td>
2635
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002636 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002637 <ul class="entry_tags">
2638 <li><a href="#tag_BC">BC</a></li>
2639 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002640 </td>
2641
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002642 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002643 <tr class="entries_header">
2644 <th class="th_details" colspan="5">Details</th>
2645 </tr>
2646 <tr class="entry_cont">
2647 <td class="entry_details" colspan="5">
2648 <p>Not all the auto-exposure modes may be supported by a
2649given camera device,<wbr/> especially if no flash unit is
2650available.<wbr/> This entry lists the valid modes for
2651<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2652<p>All camera devices support ON,<wbr/> and all camera devices with
2653flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2654ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2655<p>Full-capability camera devices always support OFF mode,<wbr/>
2656which enables application control of camera exposure time,<wbr/>
2657sensitivity,<wbr/> and frame duration.<wbr/></p>
2658 </td>
2659 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002660
2661
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002662 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2663 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002664
2665
2666 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002667 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002668 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002669 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002671 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002672 <span class="entry_type_container">x</span>
2673
2674 <span class="entry_type_array">
2675 2 x n
2676 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002677 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002678 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002679
2680
2681 </td> <!-- entry_type -->
2682
2683 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002684 <p>List of frame rate ranges supported by the
2685AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002686 </td>
2687
2688 <td class="entry_units">
2689 </td>
2690
2691 <td class="entry_range">
2692 </td>
2693
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002694 <td class="entry_tags">
2695 </td>
2696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002697 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002698
2699
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002700 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2701 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002702
2703
2704 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002705 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002706 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002707 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002708 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002709 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002710 <span class="entry_type_container">x</span>
2711
2712 <span class="entry_type_array">
2713 2
2714 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002715 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
2717
2718 </td> <!-- entry_type -->
2719
2720 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002721 <p>Maximum and minimum exposure compensation
2722setting,<wbr/> in counts of
2723android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </td>
2725
2726 <td class="entry_units">
2727 </td>
2728
2729 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002730 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2731size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002732 </td>
2733
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002734 <td class="entry_tags">
2735 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002736 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002737 </ul>
2738 </td>
2739
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002740 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002741
2742
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002743 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2744 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002745
2746
2747 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002748 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002749 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002750 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002752 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002753
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002754 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002755
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002760 <p>Smallest step by which exposure compensation
2761can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002762 </td>
2763
2764 <td class="entry_units">
2765 </td>
2766
2767 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002768 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002769 </td>
2770
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002771 <td class="entry_tags">
2772 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002773 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002774 </ul>
2775 </td>
2776
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002778
2779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002782
2783
2784 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002786 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002787 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002788 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002789 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002790 <span class="entry_type_container">x</span>
2791
2792 <span class="entry_type_array">
2793 n
2794 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002795 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002796 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002797
2798
2799 </td> <!-- entry_type -->
2800
2801 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002802 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002803selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002804 </td>
2805
2806 <td class="entry_units">
2807 </td>
2808
2809 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002810 </td>
2811
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002812 <td class="entry_tags">
2813 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002814 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002815 </ul>
2816 </td>
2817
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002818 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002819 <tr class="entries_header">
2820 <th class="th_details" colspan="5">Details</th>
2821 </tr>
2822 <tr class="entry_cont">
2823 <td class="entry_details" colspan="5">
2824 <p>Not all the auto-focus modes may be supported by a
2825given camera device.<wbr/> This entry lists the valid modes for
2826<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2827<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2828adjustable 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>)
2829will support AUTO mode.<wbr/></p>
2830 </td>
2831 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002832
2833
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002834 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2835 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002836
2837
2838 <tr class="entry" id="static_android.control.availableEffects">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002839 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002840 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002841 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002842 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002843 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002844 <span class="entry_type_container">x</span>
2845
2846 <span class="entry_type_array">
2847 n
2848 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002849 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002850 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>effect<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002851
2852
2853 </td> <!-- entry_type -->
2854
2855 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002856 <p>List containing the subset of color effects
2857specified in <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a> that is supported by
2858this device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002859 </td>
2860
2861 <td class="entry_units">
2862 </td>
2863
2864 <td class="entry_range">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002865 <p>Any subset of enums from those specified in
2866<a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a>.<wbr/> OFF must be included in any subset.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002867 </td>
2868
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002869 <td class="entry_tags">
2870 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002871 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002872 </ul>
2873 </td>
2874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002875 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002876 <tr class="entries_header">
2877 <th class="th_details" colspan="5">Details</th>
2878 </tr>
2879 <tr class="entry_cont">
2880 <td class="entry_details" colspan="5">
2881 <p>This list contains the color effect modes that can be applied to
2882images produced by the camera device.<wbr/> Only modes that have
2883been fully implemented for the current device may be included here.<wbr/>
2884Implementations are not expected to be consistent across all devices.<wbr/>
2885If no color effect modes are available for a device,<wbr/> this should
2886simply be set to OFF.<wbr/></p>
2887<p>A color effect will only be applied if
2888<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2889 </td>
2890 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002891
2892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2894 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002895
2896
2897 <tr class="entry" id="static_android.control.availableSceneModes">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002898 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002899 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002900 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002901 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002902 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002903 <span class="entry_type_container">x</span>
2904
2905 <span class="entry_type_array">
2906 n
2907 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002908 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002909 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002910
2911
2912 </td> <!-- entry_type -->
2913
2914 <td class="entry_description">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002915 <p>List containing a subset of scene modes
2916specified in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002917 </td>
2918
2919 <td class="entry_units">
2920 </td>
2921
2922 <td class="entry_range">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002923 <p>Any subset of the enums specified in android.<wbr/>control.<wbr/>scene<wbr/>Mode
2924not including DISABLED,<wbr/> or solely DISABLED if no
2925scene modes are available.<wbr/> FACE_<wbr/>PRIORITY must be included
2926if 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 -08002927 </td>
2928
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002929 <td class="entry_tags">
2930 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002931 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002932 </ul>
2933 </td>
2934
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002935 </tr>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002936 <tr class="entries_header">
2937 <th class="th_details" colspan="5">Details</th>
2938 </tr>
2939 <tr class="entry_cont">
2940 <td class="entry_details" colspan="5">
2941 <p>This list contains scene modes that can be set for the camera device.<wbr/>
2942Only scene modes that have been fully implemented for the
2943camera device may be included here.<wbr/> Implementations are not expected
2944to be consistent across all devices.<wbr/> If no scene modes are supported
2945by the camera device,<wbr/> this will be set to <code>[DISABLED]</code>.<wbr/></p>
2946 </td>
2947 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002948
2949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002950 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2951 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952
2953
2954 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002955 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002956 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002957 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002958 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002959 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960 <span class="entry_type_container">x</span>
2961
2962 <span class="entry_type_array">
2963 n
2964 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002965 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002966 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002967
2968
2969 </td> <!-- entry_type -->
2970
2971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002972 <p>List of video stabilization modes that can
2973be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002974 </td>
2975
2976 <td class="entry_units">
2977 </td>
2978
2979 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002980 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002981 </td>
2982
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002983 <td class="entry_tags">
2984 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002985 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002986 </ul>
2987 </td>
2988
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002989 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002990
2991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002992 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2993 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002994
2995
2996 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002997 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002998 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002999 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003000 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003001 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07003002 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003003
Alex Raya4251d92013-04-30 16:43:44 -07003004 <span class="entry_type_array">
3005 n
3006 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003007 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08003008 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003009
3010
3011 </td> <!-- entry_type -->
3012
3013 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08003014 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
3015that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003016 </td>
3017
3018 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003019 </td>
3020
3021 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003022 </td>
3023
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003024 <td class="entry_tags">
3025 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003026 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003027 </ul>
3028 </td>
3029
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003030 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08003031 <tr class="entries_header">
3032 <th class="th_details" colspan="5">Details</th>
3033 </tr>
3034 <tr class="entry_cont">
3035 <td class="entry_details" colspan="5">
3036 <p>Not all the auto-white-balance modes may be supported by a
3037given camera device.<wbr/> This entry lists the valid modes for
3038<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
3039<p>All camera devices will support ON mode.<wbr/></p>
3040<p>Full-capability camera devices will always support OFF mode,<wbr/>
3041which enables application control of white balance,<wbr/> by using
3042<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>
3043 </td>
3044 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003045
3046
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003047 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3048 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003049
3050
3051 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003052 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003053 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003054 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003055 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003056 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003057
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003058 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003059
3060
3061 </td> <!-- entry_type -->
3062
3063 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003064 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3065regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003066 </td>
3067
3068 <td class="entry_units">
3069 </td>
3070
3071 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003072 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003073 </td>
3074
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003075 <td class="entry_tags">
3076 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003077 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003078 </ul>
3079 </td>
3080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003081 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003082
3083
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003084 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3085 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003086
3087
3088 <tr class="entry" id="static_android.control.sceneModeOverrides">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003089 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003090 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003091 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003092 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003093 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003094 <span class="entry_type_container">x</span>
3095
3096 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003097 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003098 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003099 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003100
3101
3102 </td> <!-- entry_type -->
3103
3104 <td class="entry_description">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003105 <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
3106settings to use with each available scene mode.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003107 </td>
3108
3109 <td class="entry_units">
3110 </td>
3111
3112 <td class="entry_range">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003113 <p>For each available scene mode,<wbr/> the list must contain three
3114entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3115<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values used
3116by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
3117where aeMode has the lowest index position.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118 </td>
3119
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003120 <td class="entry_tags">
3121 <ul class="entry_tags">
3122 <li><a href="#tag_BC">BC</a></li>
3123 </ul>
3124 </td>
3125
3126 </tr>
3127 <tr class="entries_header">
3128 <th class="th_details" colspan="5">Details</th>
3129 </tr>
3130 <tr class="entry_cont">
3131 <td class="entry_details" colspan="5">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003132 <p>When a scene mode is enabled,<wbr/> the camera device is expected
3133to override <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/>
3134and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
3135that scene mode.<wbr/></p>
3136<p>The order of this list matches that of availableSceneModes,<wbr/>
3137with 3 entries for each mode.<wbr/> The overrides listed
3138for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3139mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3140<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values are
3141used instead,<wbr/> matching the behavior when android.<wbr/>control.<wbr/>mode
3142is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
3143overrides should be set to 0.<wbr/></p>
3144<p>For example,<wbr/> if availableSceneModes contains
3145<code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
3146expects sceneModeOverrides to have 9 entries formatted like:
3147<code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
3148ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003149 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003150 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003151
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003152 <tr class="entries_header">
3153 <th class="th_details" colspan="5">HAL Implementation Details</th>
3154 </tr>
3155 <tr class="entry_cont">
3156 <td class="entry_details" colspan="5">
3157 <p>To maintain backward compatibility,<wbr/> this list will be made available
3158in the static metadata of the camera service.<wbr/> The camera service will
3159use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3160<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> when using a scene
3161mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
3162 </td>
3163 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003164
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003165 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3166 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167
3168
3169
3170 <!-- end of kind -->
3171 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003172 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003174 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003175 <tr>
3176 <th class="th_name">Property Name</th>
3177 <th class="th_type">Type</th>
3178 <th class="th_description">Description</th>
3179 <th class="th_units">Units</th>
3180 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003181 <th class="th_tags">Tags</th>
3182 </tr>
3183 </thead>
3184
3185 <tbody>
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003197 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003198 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003199 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003200 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003201 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003202
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003203 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003204
3205
3206 </td> <!-- entry_type -->
3207
3208 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003209 <p>The ID sent with the latest
3210CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003211 </td>
3212
3213 <td class="entry_units">
3214 </td>
3215
3216 <td class="entry_range">
3217 </td>
3218
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003219 <td class="entry_tags">
3220 </td>
3221
3222 </tr>
3223 <tr class="entries_header">
3224 <th class="th_details" colspan="5">Details</th>
3225 </tr>
3226 <tr class="entry_cont">
3227 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003228 <p>Must be 0 if no
3229CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3230by HAL.<wbr/> Always updated even if AE algorithm ignores the
3231trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003232 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003233 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003234
3235
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003236 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3237 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003238
3239
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003240 <tr class="entry" id="dynamic_android.control.aeMode">
3241 <td class="entry_name" rowspan="3">
3242 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3243 </td>
3244 <td class="entry_type">
3245 <span class="entry_type_name entry_type_name_enum">byte</span>
3246
3247 <span class="entry_type_visibility"> [public]</span>
3248
3249 <ul class="entry_type_enum">
3250 <li>
3251 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003252 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3253the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3254<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3255<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3256device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3257a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003258 </li>
3259 <li>
3260 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003261 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3262with no flash control.<wbr/> The application's values for
3263<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3264<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3265<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3266application has control over the various
3267android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003268 </li>
3269 <li>
3270 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003271 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3272the camera's flash unit,<wbr/> firing it in low-light
3273conditions.<wbr/> The flash may be fired during a
3274precapture sequence (triggered by
3275<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3276for captures for which the
3277<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3278STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003279 </li>
3280 <li>
3281 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003282 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3283the camera's flash unit,<wbr/> always firing it for still
3284captures.<wbr/> The flash may be fired during a precapture
3285sequence (triggered by
3286<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3287be fired for captures for which the
3288<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3289STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003290 </li>
3291 <li>
3292 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003293 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3294reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3295a red eye reduction flash will fire during the
3296precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003297 </li>
3298 </ul>
3299
3300 </td> <!-- entry_type -->
3301
3302 <td class="entry_description">
3303 <p>The desired mode for the camera device's
3304auto-exposure routine.<wbr/></p>
3305 </td>
3306
3307 <td class="entry_units">
3308 </td>
3309
3310 <td class="entry_range">
3311 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3312 </td>
3313
3314 <td class="entry_tags">
3315 <ul class="entry_tags">
3316 <li><a href="#tag_BC">BC</a></li>
3317 </ul>
3318 </td>
3319
3320 </tr>
3321 <tr class="entries_header">
3322 <th class="th_details" colspan="5">Details</th>
3323 </tr>
3324 <tr class="entry_cont">
3325 <td class="entry_details" colspan="5">
3326 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3327AUTO.<wbr/></p>
3328<p>When set to any of the ON modes,<wbr/> the camera device's
3329auto-exposure routine is enabled,<wbr/> overriding the
3330application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3331and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3332<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3333<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3334is selected,<wbr/> the camera device's flash unit controls are
3335also overridden.<wbr/></p>
3336<p>The FLASH modes are only available if the camera device
3337has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3338<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3339ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3340<p>When set to any of the ON modes,<wbr/> the values chosen by the
3341camera device auto-exposure routine for the overridden
3342fields for a given capture will be available in its
3343CaptureResult.<wbr/></p>
3344 </td>
3345 </tr>
3346
3347
3348 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3349 <!-- end of entry -->
3350
3351
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003352 <tr class="entry" id="dynamic_android.control.aeRegions">
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/>Regions
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">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003358 <span class="entry_type_container">x</span>
3359
3360 <span class="entry_type_array">
3361 5 x area_count
3362 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003363 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003364
3365
3366 </td> <!-- entry_type -->
3367
3368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003369 <p>List of areas to use for
3370metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003371 </td>
3372
3373 <td class="entry_units">
3374 </td>
3375
3376 <td class="entry_range">
3377 </td>
3378
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003379 <td class="entry_tags">
3380 <ul class="entry_tags">
3381 <li><a href="#tag_BC">BC</a></li>
3382 </ul>
3383 </td>
3384
3385 </tr>
3386 <tr class="entries_header">
3387 <th class="th_details" colspan="5">Details</th>
3388 </tr>
3389 <tr class="entry_cont">
3390 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003391 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3392xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3393specified coordinates.<wbr/></p>
3394<p>The coordinate system is based on the active pixel array,<wbr/>
3395with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003396(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3397<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 -08003398bottom-right pixel in the active pixel array.<wbr/> The weight
3399should be nonnegative.<wbr/></p>
3400<p>If all regions have 0 weight,<wbr/> then no specific metering area
3401needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003402outside 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 -08003403should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003404used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003405 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003406 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003407
3408
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003409 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3410 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003411
3412
3413 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003414 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003415 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003416 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003418 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003419
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003420 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003421
3422 <ul class="entry_type_enum">
3423 <li>
3424 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003425 <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 -08003426this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003427 </li>
3428 <li>
3429 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003430 <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 -08003431for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003432 </li>
3433 <li>
3434 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003435 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003436current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003437 </li>
3438 <li>
3439 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003440 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003441 </li>
3442 <li>
3443 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003444 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3445needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003446capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003447 </li>
3448 <li>
3449 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003450 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003451(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3452and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003453completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003454FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003455 </li>
3456 </ul>
3457
3458 </td> <!-- entry_type -->
3459
3460 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003461 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003462 </td>
3463
3464 <td class="entry_units">
3465 </td>
3466
3467 <td class="entry_range">
3468 </td>
3469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003470 <td class="entry_tags">
3471 </td>
3472
3473 </tr>
3474 <tr class="entries_header">
3475 <th class="th_details" colspan="5">Details</th>
3476 </tr>
3477 <tr class="entry_cont">
3478 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003479 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3480resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3481or <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
3482the algorithm states to INACTIVE.<wbr/></p>
3483<p>The camera device can do several state transitions between two results,<wbr/> if it is
3484allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3485seen in a result.<wbr/></p>
3486<p>The state in the result is the state for this image (in sync with this image): if
3487AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3488be good to use.<wbr/></p>
3489<p>Below are state transition tables for different AE modes.<wbr/></p>
3490<table>
3491<thead>
3492<tr>
3493<th align="center">State</th>
3494<th align="center">Transition Cause</th>
3495<th align="center">New State</th>
3496<th align="center">Notes</th>
3497</tr>
3498</thead>
3499<tbody>
3500<tr>
3501<td align="center">INACTIVE</td>
3502<td align="center"></td>
3503<td align="center">INACTIVE</td>
3504<td align="center">Camera device auto exposure algorithm is disabled</td>
3505</tr>
3506</tbody>
3507</table>
3508<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3509<table>
3510<thead>
3511<tr>
3512<th align="center">State</th>
3513<th align="center">Transition Cause</th>
3514<th align="center">New State</th>
3515<th align="center">Notes</th>
3516</tr>
3517</thead>
3518<tbody>
3519<tr>
3520<td align="center">INACTIVE</td>
3521<td align="center">Camera device initiates AE scan</td>
3522<td align="center">SEARCHING</td>
3523<td align="center">Values changing</td>
3524</tr>
3525<tr>
3526<td align="center">INACTIVE</td>
3527<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3528<td align="center">LOCKED</td>
3529<td align="center">Values locked</td>
3530</tr>
3531<tr>
3532<td align="center">SEARCHING</td>
3533<td align="center">Camera device finishes AE scan</td>
3534<td align="center">CONVERGED</td>
3535<td align="center">Good values,<wbr/> not changing</td>
3536</tr>
3537<tr>
3538<td align="center">SEARCHING</td>
3539<td align="center">Camera device finishes AE scan</td>
3540<td align="center">FLASH_<wbr/>REQUIRED</td>
3541<td align="center">Converged but too dark w/<wbr/>o flash</td>
3542</tr>
3543<tr>
3544<td align="center">SEARCHING</td>
3545<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3546<td align="center">LOCKED</td>
3547<td align="center">Values locked</td>
3548</tr>
3549<tr>
3550<td align="center">CONVERGED</td>
3551<td align="center">Camera device initiates AE scan</td>
3552<td align="center">SEARCHING</td>
3553<td align="center">Values changing</td>
3554</tr>
3555<tr>
3556<td align="center">CONVERGED</td>
3557<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3558<td align="center">LOCKED</td>
3559<td align="center">Values locked</td>
3560</tr>
3561<tr>
3562<td align="center">FLASH_<wbr/>REQUIRED</td>
3563<td align="center">Camera device initiates AE scan</td>
3564<td align="center">SEARCHING</td>
3565<td align="center">Values changing</td>
3566</tr>
3567<tr>
3568<td align="center">FLASH_<wbr/>REQUIRED</td>
3569<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3570<td align="center">LOCKED</td>
3571<td align="center">Values locked</td>
3572</tr>
3573<tr>
3574<td align="center">LOCKED</td>
3575<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3576<td align="center">SEARCHING</td>
3577<td align="center">Values not good after unlock</td>
3578</tr>
3579<tr>
3580<td align="center">LOCKED</td>
3581<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3582<td align="center">CONVERGED</td>
3583<td align="center">Values good after unlock</td>
3584</tr>
3585<tr>
3586<td align="center">LOCKED</td>
3587<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3588<td align="center">FLASH_<wbr/>REQUIRED</td>
3589<td align="center">Exposure good,<wbr/> but too dark</td>
3590</tr>
3591<tr>
3592<td align="center">PRECAPTURE</td>
3593<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3594<td align="center">CONVERGED</td>
3595<td align="center">Ready for high-quality capture</td>
3596</tr>
3597<tr>
3598<td align="center">PRECAPTURE</td>
3599<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3600<td align="center">LOCKED</td>
3601<td align="center">Ready for high-quality capture</td>
3602</tr>
3603<tr>
3604<td align="center">Any state</td>
3605<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3606<td align="center">PRECAPTURE</td>
3607<td align="center">Start AE precapture metering sequence</td>
3608</tr>
3609</tbody>
3610</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003611 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003612 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003613
3614
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003615 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3616 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003617
3618
3619 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003620 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003621 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003622 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003623 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003624 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003625
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003626 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003627
3628 <ul class="entry_type_enum">
3629 <li>
3630 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003631 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3632<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3633application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003634 </li>
3635 <li>
3636 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003637 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3638<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
3639is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3640the autofocus trigger action is called.<wbr/> When that trigger
3641is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3642the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3643<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3644and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003645 </li>
3646 <li>
3647 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003648 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3649autofocus trigger action is called.<wbr/></p>
3650<p>When that trigger is activated,<wbr/> AF must transition to
3651ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3652NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3653position to default,<wbr/> and sets the AF state to
3654INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003655 </li>
3656 <li>
3657 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003658 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3659position continually to attempt to provide a
3660constantly-in-focus image stream.<wbr/></p>
3661<p>The focusing behavior should be suitable for good quality
3662video recording; typically this means slower focus
3663movement and no overshoots.<wbr/> When the AF trigger is not
3664involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3665and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3666states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3667the algorithm should immediately transition into
3668AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3669lens position until a cancel AF trigger is received.<wbr/></p>
3670<p>Once cancel is received,<wbr/> the algorithm should transition
3671back to INACTIVE and resume passive scan.<wbr/> Note that this
3672behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3673ongoing PASSIVE_<wbr/>SCAN must immediately be
3674canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003675 </li>
3676 <li>
3677 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003678 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3679position continually to attempt to provide a
3680constantly-in-focus image stream.<wbr/></p>
3681<p>The focusing behavior should be suitable for still image
3682capture; typically this means focusing as fast as
3683possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3684algorithm should start in INACTIVE state,<wbr/> and then
3685transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3686appropriate as it attempts to maintain focus.<wbr/> When the AF
3687trigger is activated,<wbr/> the algorithm should finish its
3688PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3689AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3690lens position until a cancel AF trigger is received.<wbr/></p>
3691<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3692should transition back to INACTIVE and then act as if it
3693has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003694 </li>
3695 <li>
3696 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003697 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3698trigger is ignored,<wbr/> AF state should always be
3699INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003700 </li>
3701 </ul>
3702
3703 </td> <!-- entry_type -->
3704
3705 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003706 <p>Whether AF is currently enabled,<wbr/> and what
3707mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003708 </td>
3709
3710 <td class="entry_units">
3711 </td>
3712
3713 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003714 <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 -08003715 </td>
3716
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003717 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003718 <ul class="entry_tags">
3719 <li><a href="#tag_BC">BC</a></li>
3720 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003721 </td>
3722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003723 </tr>
3724 <tr class="entries_header">
3725 <th class="th_details" colspan="5">Details</th>
3726 </tr>
3727 <tr class="entry_cont">
3728 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003729 <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 -08003730<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3731the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3732in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003733 </td>
3734 </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.afRegions">
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/>Regions
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">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747 <span class="entry_type_container">x</span>
3748
3749 <span class="entry_type_array">
3750 5 x area_count
3751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003752 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003753
3754
3755 </td> <!-- entry_type -->
3756
3757 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003758 <p>List of areas to use for focus
3759estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003760 </td>
3761
3762 <td class="entry_units">
3763 </td>
3764
3765 <td class="entry_range">
3766 </td>
3767
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003768 <td class="entry_tags">
3769 <ul class="entry_tags">
3770 <li><a href="#tag_BC">BC</a></li>
3771 </ul>
3772 </td>
3773
3774 </tr>
3775 <tr class="entries_header">
3776 <th class="th_details" colspan="5">Details</th>
3777 </tr>
3778 <tr class="entry_cont">
3779 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003780 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3781xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3782specified coordinates.<wbr/></p>
3783<p>The coordinate system is based on the active pixel array,<wbr/>
3784with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003785(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3786<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 -08003787bottom-right pixel in the active pixel array.<wbr/> The weight
3788should be nonnegative.<wbr/></p>
3789<p>If all regions have 0 weight,<wbr/> then no specific focus area
3790needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003791outside 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 -08003792should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003793used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003794 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003795 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003796
3797
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003798 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3799 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003800
3801
3802 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003803 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003804 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003805 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003806 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003807 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003808
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003809 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003810
3811 <ul class="entry_type_enum">
3812 <li>
3813 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003814 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3815to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3816this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003817 </li>
3818 <li>
3819 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003820 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3821currently doing an AF scan initiated by a continuous
3822autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003823 </li>
3824 <li>
3825 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003826 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3827believes it is in focus,<wbr/> but may restart scanning at
3828any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003829 </li>
3830 <li>
3831 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003832 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3833an AF scan because it was triggered by AF
3834trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003835 </li>
3836 <li>
3837 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003838 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3839believes it is focused correctly and is
3840locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003841 </li>
3842 <li>
3843 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003844 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3845failed to focus successfully and is
3846locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003847 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003848 <li>
3849 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003850 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3851passive scan without finding focus,<wbr/> and may restart
3852scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003853 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003854 </ul>
3855
3856 </td> <!-- entry_type -->
3857
3858 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003859 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003860 </td>
3861
3862 <td class="entry_units">
3863 </td>
3864
3865 <td class="entry_range">
3866 </td>
3867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003868 <td class="entry_tags">
3869 </td>
3870
3871 </tr>
3872 <tr class="entries_header">
3873 <th class="th_details" colspan="5">Details</th>
3874 </tr>
3875 <tr class="entry_cont">
3876 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003877 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3878resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3879or <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
3880the algorithm states to INACTIVE.<wbr/></p>
3881<p>The camera device can do several state transitions between two results,<wbr/> if it is
3882allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3883seen in a result.<wbr/></p>
3884<p>The state in the result is the state for this image (in sync with this image): if
3885AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3886be sharp.<wbr/></p>
3887<p>Below are state transition tables for different AF modes.<wbr/></p>
3888<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>
3889<table>
3890<thead>
3891<tr>
3892<th align="center">State</th>
3893<th align="center">Transition Cause</th>
3894<th align="center">New State</th>
3895<th align="center">Notes</th>
3896</tr>
3897</thead>
3898<tbody>
3899<tr>
3900<td align="center">INACTIVE</td>
3901<td align="center"></td>
3902<td align="center">INACTIVE</td>
3903<td align="center">Never changes</td>
3904</tr>
3905</tbody>
3906</table>
3907<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>
3908<table>
3909<thead>
3910<tr>
3911<th align="center">State</th>
3912<th align="center">Transition Cause</th>
3913<th align="center">New State</th>
3914<th align="center">Notes</th>
3915</tr>
3916</thead>
3917<tbody>
3918<tr>
3919<td align="center">INACTIVE</td>
3920<td align="center">AF_<wbr/>TRIGGER</td>
3921<td align="center">ACTIVE_<wbr/>SCAN</td>
3922<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3923</tr>
3924<tr>
3925<td align="center">ACTIVE_<wbr/>SCAN</td>
3926<td align="center">AF sweep done</td>
3927<td align="center">FOCUSED_<wbr/>LOCKED</td>
3928<td align="center">Focused,<wbr/> Lens now locked</td>
3929</tr>
3930<tr>
3931<td align="center">ACTIVE_<wbr/>SCAN</td>
3932<td align="center">AF sweep done</td>
3933<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3934<td align="center">Not focused,<wbr/> Lens now locked</td>
3935</tr>
3936<tr>
3937<td align="center">ACTIVE_<wbr/>SCAN</td>
3938<td align="center">AF_<wbr/>CANCEL</td>
3939<td align="center">INACTIVE</td>
3940<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3941</tr>
3942<tr>
3943<td align="center">FOCUSED_<wbr/>LOCKED</td>
3944<td align="center">AF_<wbr/>CANCEL</td>
3945<td align="center">INACTIVE</td>
3946<td align="center">Cancel/<wbr/>reset AF</td>
3947</tr>
3948<tr>
3949<td align="center">FOCUSED_<wbr/>LOCKED</td>
3950<td align="center">AF_<wbr/>TRIGGER</td>
3951<td align="center">ACTIVE_<wbr/>SCAN</td>
3952<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3953</tr>
3954<tr>
3955<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3956<td align="center">AF_<wbr/>CANCEL</td>
3957<td align="center">INACTIVE</td>
3958<td align="center">Cancel/<wbr/>reset AF</td>
3959</tr>
3960<tr>
3961<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3962<td align="center">AF_<wbr/>TRIGGER</td>
3963<td align="center">ACTIVE_<wbr/>SCAN</td>
3964<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3965</tr>
3966<tr>
3967<td align="center">Any state</td>
3968<td align="center">Mode change</td>
3969<td align="center">INACTIVE</td>
3970<td align="center"></td>
3971</tr>
3972</tbody>
3973</table>
3974<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>
3975<table>
3976<thead>
3977<tr>
3978<th align="center">State</th>
3979<th align="center">Transition Cause</th>
3980<th align="center">New State</th>
3981<th align="center">Notes</th>
3982</tr>
3983</thead>
3984<tbody>
3985<tr>
3986<td align="center">INACTIVE</td>
3987<td align="center">Camera device initiates new scan</td>
3988<td align="center">PASSIVE_<wbr/>SCAN</td>
3989<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3990</tr>
3991<tr>
3992<td align="center">INACTIVE</td>
3993<td align="center">AF_<wbr/>TRIGGER</td>
3994<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3995<td align="center">AF state query,<wbr/> Lens now locked</td>
3996</tr>
3997<tr>
3998<td align="center">PASSIVE_<wbr/>SCAN</td>
3999<td align="center">Camera device completes current scan</td>
4000<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4001<td align="center">End AF scan,<wbr/> Lens now locked</td>
4002</tr>
4003<tr>
4004<td align="center">PASSIVE_<wbr/>SCAN</td>
4005<td align="center">Camera device fails current scan</td>
4006<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4007<td align="center">End AF scan,<wbr/> Lens now locked</td>
4008</tr>
4009<tr>
4010<td align="center">PASSIVE_<wbr/>SCAN</td>
4011<td align="center">AF_<wbr/>TRIGGER</td>
4012<td align="center">FOCUSED_<wbr/>LOCKED</td>
4013<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
4014</tr>
4015<tr>
4016<td align="center">PASSIVE_<wbr/>SCAN</td>
4017<td align="center">AF_<wbr/>TRIGGER</td>
4018<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4019<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
4020</tr>
4021<tr>
4022<td align="center">PASSIVE_<wbr/>SCAN</td>
4023<td align="center">AF_<wbr/>CANCEL</td>
4024<td align="center">INACTIVE</td>
4025<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4026</tr>
4027<tr>
4028<td align="center">PASSIVE_<wbr/>FOCUSED</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">PASSIVE_<wbr/>UNFOCUSED</td>
4035<td align="center">Camera device initiates new scan</td>
4036<td align="center">PASSIVE_<wbr/>SCAN</td>
4037<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4038</tr>
4039<tr>
4040<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4041<td align="center">AF_<wbr/>TRIGGER</td>
4042<td align="center">FOCUSED_<wbr/>LOCKED</td>
4043<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4044</tr>
4045<tr>
4046<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4047<td align="center">AF_<wbr/>TRIGGER</td>
4048<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4049<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4050</tr>
4051<tr>
4052<td align="center">FOCUSED_<wbr/>LOCKED</td>
4053<td align="center">AF_<wbr/>TRIGGER</td>
4054<td align="center">FOCUSED_<wbr/>LOCKED</td>
4055<td align="center">No effect</td>
4056</tr>
4057<tr>
4058<td align="center">FOCUSED_<wbr/>LOCKED</td>
4059<td align="center">AF_<wbr/>CANCEL</td>
4060<td align="center">INACTIVE</td>
4061<td align="center">Restart AF scan</td>
4062</tr>
4063<tr>
4064<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4065<td align="center">AF_<wbr/>TRIGGER</td>
4066<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4067<td align="center">No effect</td>
4068</tr>
4069<tr>
4070<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4071<td align="center">AF_<wbr/>CANCEL</td>
4072<td align="center">INACTIVE</td>
4073<td align="center">Restart AF scan</td>
4074</tr>
4075</tbody>
4076</table>
4077<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>
4078<table>
4079<thead>
4080<tr>
4081<th align="center">State</th>
4082<th align="center">Transition Cause</th>
4083<th align="center">New State</th>
4084<th align="center">Notes</th>
4085</tr>
4086</thead>
4087<tbody>
4088<tr>
4089<td align="center">INACTIVE</td>
4090<td align="center">Camera device initiates new scan</td>
4091<td align="center">PASSIVE_<wbr/>SCAN</td>
4092<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4093</tr>
4094<tr>
4095<td align="center">INACTIVE</td>
4096<td align="center">AF_<wbr/>TRIGGER</td>
4097<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4098<td align="center">AF state query,<wbr/> Lens now locked</td>
4099</tr>
4100<tr>
4101<td align="center">PASSIVE_<wbr/>SCAN</td>
4102<td align="center">Camera device completes current scan</td>
4103<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4104<td align="center">End AF scan,<wbr/> Lens now locked</td>
4105</tr>
4106<tr>
4107<td align="center">PASSIVE_<wbr/>SCAN</td>
4108<td align="center">Camera device fails current scan</td>
4109<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4110<td align="center">End AF scan,<wbr/> Lens now locked</td>
4111</tr>
4112<tr>
4113<td align="center">PASSIVE_<wbr/>SCAN</td>
4114<td align="center">AF_<wbr/>TRIGGER</td>
4115<td align="center">FOCUSED_<wbr/>LOCKED</td>
4116<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4117</tr>
4118<tr>
4119<td align="center">PASSIVE_<wbr/>SCAN</td>
4120<td align="center">AF_<wbr/>TRIGGER</td>
4121<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4122<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4123</tr>
4124<tr>
4125<td align="center">PASSIVE_<wbr/>SCAN</td>
4126<td align="center">AF_<wbr/>CANCEL</td>
4127<td align="center">INACTIVE</td>
4128<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4129</tr>
4130<tr>
4131<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4132<td align="center">Camera device initiates new scan</td>
4133<td align="center">PASSIVE_<wbr/>SCAN</td>
4134<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4135</tr>
4136<tr>
4137<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4138<td align="center">Camera device initiates new scan</td>
4139<td align="center">PASSIVE_<wbr/>SCAN</td>
4140<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4141</tr>
4142<tr>
4143<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4144<td align="center">AF_<wbr/>TRIGGER</td>
4145<td align="center">FOCUSED_<wbr/>LOCKED</td>
4146<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4147</tr>
4148<tr>
4149<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4150<td align="center">AF_<wbr/>TRIGGER</td>
4151<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4152<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4153</tr>
4154<tr>
4155<td align="center">FOCUSED_<wbr/>LOCKED</td>
4156<td align="center">AF_<wbr/>TRIGGER</td>
4157<td align="center">FOCUSED_<wbr/>LOCKED</td>
4158<td align="center">No effect</td>
4159</tr>
4160<tr>
4161<td align="center">FOCUSED_<wbr/>LOCKED</td>
4162<td align="center">AF_<wbr/>CANCEL</td>
4163<td align="center">INACTIVE</td>
4164<td align="center">Restart AF scan</td>
4165</tr>
4166<tr>
4167<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4168<td align="center">AF_<wbr/>TRIGGER</td>
4169<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4170<td align="center">No effect</td>
4171</tr>
4172<tr>
4173<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4174<td align="center">AF_<wbr/>CANCEL</td>
4175<td align="center">INACTIVE</td>
4176<td align="center">Restart AF scan</td>
4177</tr>
4178</tbody>
4179</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004180 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004181 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004182
4183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004184 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4185 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004186
4187
4188 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004189 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004190 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004191 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004193 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004194
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004195 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004196
4197
4198 </td> <!-- entry_type -->
4199
4200 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004201 <p>The ID sent with the latest
4202CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004203 </td>
4204
4205 <td class="entry_units">
4206 </td>
4207
4208 <td class="entry_range">
4209 </td>
4210
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004211 <td class="entry_tags">
4212 </td>
4213
4214 </tr>
4215 <tr class="entries_header">
4216 <th class="th_details" colspan="5">Details</th>
4217 </tr>
4218 <tr class="entry_cont">
4219 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004220 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4221received yet by HAL.<wbr/> Always updated even if AF algorithm
4222ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004223 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004224 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004225
4226
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004227 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4228 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004229
4230
4231 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004232 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004233 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004234 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004236 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004238 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004239
4240 <ul class="entry_type_enum">
4241 <li>
4242 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004243 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4244the application-selected color transform matrix
4245(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4246(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4247device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004248 </li>
4249 <li>
4250 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004251 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4252the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4253and <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 -08004254 </li>
4255 <li>
4256 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004257 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4258the camera device uses incandescent light as the assumed scene
4259illumination for white balance.<wbr/> While the exact white balance
4260transforms are up to the camera device,<wbr/> they will approximately
4261match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004262 </li>
4263 <li>
4264 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004265 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4266the camera device uses fluorescent light as the assumed scene
4267illumination for white balance.<wbr/> While the exact white balance
4268transforms are up to the camera device,<wbr/> they will approximately
4269match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004270 </li>
4271 <li>
4272 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004273 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4274the camera device uses warm fluorescent light as the assumed scene
4275illumination for white balance.<wbr/> While the exact white balance
4276transforms are up to the camera device,<wbr/> they will approximately
4277match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004278 </li>
4279 <li>
4280 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004281 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4282the camera device uses daylight light as the assumed scene
4283illumination for white balance.<wbr/> While the exact white balance
4284transforms are up to the camera device,<wbr/> they will approximately
4285match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004286 </li>
4287 <li>
4288 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004289 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4290the camera device uses cloudy daylight light as the assumed scene
4291illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004292 </li>
4293 <li>
4294 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004295 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4296the camera device uses twilight light as the assumed scene
4297illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004298 </li>
4299 <li>
4300 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004301 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4302the camera device uses shade light as the assumed scene
4303illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004304 </li>
4305 </ul>
4306
4307 </td> <!-- entry_type -->
4308
4309 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004310 <p>Whether AWB is currently setting the color
4311transform fields,<wbr/> and what its illumination target
4312is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004313 </td>
4314
4315 <td class="entry_units">
4316 </td>
4317
4318 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004319 <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 -08004320 </td>
4321
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004322 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004323 <ul class="entry_tags">
4324 <li><a href="#tag_BC">BC</a></li>
4325 <li><a href="#tag_AWB">AWB</a></li>
4326 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004327 </td>
4328
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004329 </tr>
4330 <tr class="entries_header">
4331 <th class="th_details" colspan="5">Details</th>
4332 </tr>
4333 <tr class="entry_cont">
4334 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004335 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4336<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4337routine is enabled,<wbr/> overriding the application's selected
4338<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
4339<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4340<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4341routine is disabled.<wbr/> The applicantion manually controls the white
4342balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4343and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4344<p>When set to any other modes,<wbr/> the camera device's auto white balance
4345routine is disabled.<wbr/> The camera device uses each particular illumination
4346target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004347 </td>
4348 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004349
4350
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004351 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4352 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004353
4354
4355 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004356 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004357 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004358 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004359 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004360 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004361 <span class="entry_type_container">x</span>
4362
4363 <span class="entry_type_array">
4364 5 x area_count
4365 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004366 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004367
4368
4369 </td> <!-- entry_type -->
4370
4371 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004372 <p>List of areas to use for illuminant
4373estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004374 </td>
4375
4376 <td class="entry_units">
4377 </td>
4378
4379 <td class="entry_range">
4380 </td>
4381
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004382 <td class="entry_tags">
4383 <ul class="entry_tags">
4384 <li><a href="#tag_BC">BC</a></li>
4385 </ul>
4386 </td>
4387
4388 </tr>
4389 <tr class="entries_header">
4390 <th class="th_details" colspan="5">Details</th>
4391 </tr>
4392 <tr class="entry_cont">
4393 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004394 <p>Only used in AUTO mode.<wbr/></p>
4395<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4396xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4397specified coordinates.<wbr/></p>
4398<p>The coordinate system is based on the active pixel array,<wbr/>
4399with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004400(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4401<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 -08004402bottom-right pixel in the active pixel array.<wbr/> The weight
4403should be nonnegative.<wbr/></p>
4404<p>If all regions have 0 weight,<wbr/> then no specific metering area
4405needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004406outside 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 -08004407should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004408used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004409 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004410 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004411
4412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004415
4416
4417 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004418 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004419 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004422 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004423
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004424 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004425
4426 <ul class="entry_type_enum">
4427 <li>
4428 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004429 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4430starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004431 </li>
4432 <li>
4433 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004434 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004435values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004436 </li>
4437 <li>
4438 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004439 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004440current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004441 </li>
4442 <li>
4443 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004444 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004445 </li>
4446 </ul>
4447
4448 </td> <!-- entry_type -->
4449
4450 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004451 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004452 </td>
4453
4454 <td class="entry_units">
4455 </td>
4456
4457 <td class="entry_range">
4458 </td>
4459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004460 <td class="entry_tags">
4461 </td>
4462
4463 </tr>
4464 <tr class="entries_header">
4465 <th class="th_details" colspan="5">Details</th>
4466 </tr>
4467 <tr class="entry_cont">
4468 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004469 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4470resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4471or <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
4472the algorithm states to INACTIVE.<wbr/></p>
4473<p>The camera device can do several state transitions between two results,<wbr/> if it is
4474allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4475a result.<wbr/></p>
4476<p>The state in the result is the state for this image (in sync with this image): if
4477AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4478be good to use.<wbr/></p>
4479<p>Below are state transition tables for different AWB modes.<wbr/></p>
4480<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4481<table>
4482<thead>
4483<tr>
4484<th align="center">State</th>
4485<th align="center">Transition Cause</th>
4486<th align="center">New State</th>
4487<th align="center">Notes</th>
4488</tr>
4489</thead>
4490<tbody>
4491<tr>
4492<td align="center">INACTIVE</td>
4493<td align="center"></td>
4494<td align="center">INACTIVE</td>
4495<td align="center">Camera device auto white balance algorithm is disabled</td>
4496</tr>
4497</tbody>
4498</table>
4499<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4500<table>
4501<thead>
4502<tr>
4503<th align="center">State</th>
4504<th align="center">Transition Cause</th>
4505<th align="center">New State</th>
4506<th align="center">Notes</th>
4507</tr>
4508</thead>
4509<tbody>
4510<tr>
4511<td align="center">INACTIVE</td>
4512<td align="center">Camera device initiates AWB scan</td>
4513<td align="center">SEARCHING</td>
4514<td align="center">Values changing</td>
4515</tr>
4516<tr>
4517<td align="center">INACTIVE</td>
4518<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4519<td align="center">LOCKED</td>
4520<td align="center">Values locked</td>
4521</tr>
4522<tr>
4523<td align="center">SEARCHING</td>
4524<td align="center">Camera device finishes AWB scan</td>
4525<td align="center">CONVERGED</td>
4526<td align="center">Good values,<wbr/> not changing</td>
4527</tr>
4528<tr>
4529<td align="center">SEARCHING</td>
4530<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4531<td align="center">LOCKED</td>
4532<td align="center">Values locked</td>
4533</tr>
4534<tr>
4535<td align="center">CONVERGED</td>
4536<td align="center">Camera device initiates AWB scan</td>
4537<td align="center">SEARCHING</td>
4538<td align="center">Values changing</td>
4539</tr>
4540<tr>
4541<td align="center">CONVERGED</td>
4542<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4543<td align="center">LOCKED</td>
4544<td align="center">Values locked</td>
4545</tr>
4546<tr>
4547<td align="center">LOCKED</td>
4548<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4549<td align="center">SEARCHING</td>
4550<td align="center">Values not good after unlock</td>
4551</tr>
4552<tr>
4553<td align="center">LOCKED</td>
4554<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4555<td align="center">CONVERGED</td>
4556<td align="center">Values good after unlock</td>
4557</tr>
4558</tbody>
4559</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004560 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004561 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004562
4563
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004564 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4565 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004566
4567
4568 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004569 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004570 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004571 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004572 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004573 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004574
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004575 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004576
4577 <ul class="entry_type_enum">
4578 <li>
4579 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004580 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4581routines are disabled,<wbr/> no other settings in
4582android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004583 </li>
4584 <li>
4585 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004586 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4587Manual control of capture parameters is disabled.<wbr/> All
4588controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4589effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004590 </li>
4591 <li>
4592 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004593 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4594control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4595controls; the HAL must ignore those settings while
4596USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4597scene mode).<wbr/> Other control entries are still active.<wbr/>
4598This setting can only be used if availableSceneModes !=
4599UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004600 </li>
4601 </ul>
4602
4603 </td> <!-- entry_type -->
4604
4605 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004606 <p>Overall mode of 3A control
4607routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004608 </td>
4609
4610 <td class="entry_units">
4611 </td>
4612
4613 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004614 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004615 </td>
4616
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004617 <td class="entry_tags">
4618 <ul class="entry_tags">
4619 <li><a href="#tag_BC">BC</a></li>
4620 </ul>
4621 </td>
4622
4623 </tr>
4624 <tr class="entries_header">
4625 <th class="th_details" colspan="5">Details</th>
4626 </tr>
4627 <tr class="entry_cont">
4628 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004629 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004630by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004631capture parameters itself.<wbr/></p>
4632<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004633android.<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 -08004634<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004635android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004636one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004637as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004638<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 -08004639 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004640 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004641
4642
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004643 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4644 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004645
4646
4647
4648 <!-- end of kind -->
4649 </tbody>
4650
4651 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004652 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004653
4654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004655 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004657 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004658 <tr>
4659 <th class="th_name">Property Name</th>
4660 <th class="th_type">Type</th>
4661 <th class="th_description">Description</th>
4662 <th class="th_units">Units</th>
4663 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004664 <th class="th_tags">Tags</th>
4665 </tr>
4666 </thead>
4667
4668 <tbody>
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004680 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004681 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004682 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004683 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004684 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004686 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004687
4688 <ul class="entry_type_enum">
4689 <li>
4690 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004691 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4692Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004693 </li>
4694 <li>
4695 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004696 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4697rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004698 </li>
4699 </ul>
4700
4701 </td> <!-- entry_type -->
4702
4703 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004704 <p>Controls the quality of the demosaicing
4705processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004706 </td>
4707
4708 <td class="entry_units">
4709 </td>
4710
4711 <td class="entry_range">
4712 </td>
4713
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 <td class="entry_tags">
4715 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004716 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004717 </ul>
4718 </td>
4719
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004720 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004721
4722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004723 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4724 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004725
4726
4727
4728 <!-- end of kind -->
4729 </tbody>
4730
4731 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004732 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004733
4734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004735 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004737 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004738 <tr>
4739 <th class="th_name">Property Name</th>
4740 <th class="th_type">Type</th>
4741 <th class="th_description">Description</th>
4742 <th class="th_units">Units</th>
4743 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004744 <th class="th_tags">Tags</th>
4745 </tr>
4746 </thead>
4747
4748 <tbody>
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004760 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004761 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004762 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004763 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004764 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004766 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004767
4768 <ul class="entry_type_enum">
4769 <li>
4770 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004771 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004772 </li>
4773 <li>
4774 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004775 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4776output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004777 </li>
4778 <li>
4779 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004780 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4781quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004782 </li>
4783 </ul>
4784
4785 </td> <!-- entry_type -->
4786
4787 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004788 <p>Operation mode for edge
4789enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004790 </td>
4791
4792 <td class="entry_units">
4793 </td>
4794
4795 <td class="entry_range">
4796 </td>
4797
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004798 <td class="entry_tags">
4799 </td>
4800
4801 </tr>
4802 <tr class="entries_header">
4803 <th class="th_details" colspan="5">Details</th>
4804 </tr>
4805 <tr class="entry_cont">
4806 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004807 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4808enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004809<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004810will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004811camera device will use the highest-quality enhancement algorithms,<wbr/>
4812even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004813not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004814 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004815 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004816
4817
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004818 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4819 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004820
4821
4822 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004823 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004824 android.<wbr/>edge.<wbr/>strength
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">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004829 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004830
4831
4832 </td> <!-- entry_type -->
4833
4834 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004835 <p>Control the amount of edge enhancement
4836applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004837 </td>
4838
4839 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004840 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004841 </td>
4842
4843 <td class="entry_range">
4844 </td>
4845
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004846 <td class="entry_tags">
4847 </td>
4848
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004849 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004850
4851
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004852 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4853 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854
4855
4856
4857 <!-- end of kind -->
4858 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004859 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004860
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004861 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004862 <tr>
4863 <th class="th_name">Property Name</th>
4864 <th class="th_type">Type</th>
4865 <th class="th_description">Description</th>
4866 <th class="th_units">Units</th>
4867 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004868 <th class="th_tags">Tags</th>
4869 </tr>
4870 </thead>
4871
4872 <tbody>
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004884 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004885 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004886 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004887 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004888 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004889
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004890 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004891
4892 <ul class="entry_type_enum">
4893 <li>
4894 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004895 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004896 </li>
4897 <li>
4898 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004899 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4900output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004901 </li>
4902 <li>
4903 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004904 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4905quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004906 </li>
4907 </ul>
4908
4909 </td> <!-- entry_type -->
4910
4911 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004912 <p>Operation mode for edge
4913enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004914 </td>
4915
4916 <td class="entry_units">
4917 </td>
4918
4919 <td class="entry_range">
4920 </td>
4921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004922 <td class="entry_tags">
4923 </td>
4924
4925 </tr>
4926 <tr class="entries_header">
4927 <th class="th_details" colspan="5">Details</th>
4928 </tr>
4929 <tr class="entry_cont">
4930 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004931 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4932enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004933<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004934will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004935camera device will use the highest-quality enhancement algorithms,<wbr/>
4936even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004937not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004938 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004939 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004940
4941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004942 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4943 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004944
4945
4946
4947 <!-- end of kind -->
4948 </tbody>
4949
4950 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004951 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952
4953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004954 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004956 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004957 <tr>
4958 <th class="th_name">Property Name</th>
4959 <th class="th_type">Type</th>
4960 <th class="th_description">Description</th>
4961 <th class="th_units">Units</th>
4962 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963 <th class="th_tags">Tags</th>
4964 </tr>
4965 </thead>
4966
4967 <tbody>
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004979 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004980 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004981 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004982 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004983 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004984
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004985 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004986
4987
4988 </td> <!-- entry_type -->
4989
4990 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004991 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004992 </td>
4993
4994 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004995 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004996 </td>
4997
4998 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004999 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005000 </td>
5001
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005002 <td class="entry_tags">
5003 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005004 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005005 </ul>
5006 </td>
5007
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005008 </tr>
5009 <tr class="entries_header">
5010 <th class="th_details" colspan="5">Details</th>
5011 </tr>
5012 <tr class="entry_cont">
5013 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005014 <p>Power for snapshot may use a different scale than
5015for torch mode.<wbr/> Only one entry for torch mode will be
5016used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005017 </td>
5018 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005019
5020
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005021 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5022 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005023
5024
5025 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005026 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005027 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005028 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005030 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005032 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005033
5034
5035 </td> <!-- entry_type -->
5036
5037 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005038 <p>Firing time of flash relative to start of
5039exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005040 </td>
5041
5042 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005043 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005044 </td>
5045
5046 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005047 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005048 </td>
5049
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005050 <td class="entry_tags">
5051 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005052 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </ul>
5054 </td>
5055
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005056 </tr>
5057 <tr class="entries_header">
5058 <th class="th_details" colspan="5">Details</th>
5059 </tr>
5060 <tr class="entry_cont">
5061 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005062 <p>Clamped to (0,<wbr/> exposure time - flash
5063duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005064 </td>
5065 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005066
5067
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005068 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5069 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005070
5071
5072 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005073 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005074 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005075 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005076 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005077 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005079 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080
5081 <ul class="entry_type_enum">
5082 <li>
5083 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005084 <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 -08005085 </li>
5086 <li>
5087 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005088 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5089for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5090<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005091 </li>
5092 <li>
5093 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005094 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005095 </li>
5096 </ul>
5097
5098 </td> <!-- entry_type -->
5099
5100 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005101 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005102 </td>
5103
5104 <td class="entry_units">
5105 </td>
5106
5107 <td class="entry_range">
5108 </td>
5109
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005110 <td class="entry_tags">
5111 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005112 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005113 </ul>
5114 </td>
5115
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005116 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005117 <tr class="entries_header">
5118 <th class="th_details" colspan="5">Details</th>
5119 </tr>
5120 <tr class="entry_cont">
5121 <td class="entry_details" colspan="5">
5122 <p>This control is only effective when flash unit is available
5123(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5124<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/>
5125Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5126ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5127<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5128<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5129device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5130control should be used along with AE precapture metering sequence
5131(<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>
5132<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5133for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5134 </td>
5135 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005136
5137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005138 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5139 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005140
5141
5142
5143 <!-- end of kind -->
5144 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005145 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005146
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005147 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005148 <tr>
5149 <th class="th_name">Property Name</th>
5150 <th class="th_type">Type</th>
5151 <th class="th_description">Description</th>
5152 <th class="th_units">Units</th>
5153 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005154 <th class="th_tags">Tags</th>
5155 </tr>
5156 </thead>
5157
5158 <tbody>
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005172 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005173 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005174 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005175 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005176 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005177
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005178 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005179
5180
5181 </td> <!-- entry_type -->
5182
5183 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005184 <p>Whether this camera has a
5185flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005186 </td>
5187
5188 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005189 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005190 </td>
5191
5192 <td class="entry_range">
5193 </td>
5194
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005195 <td class="entry_tags">
5196 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005197 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005198 </ul>
5199 </td>
5200
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005201 </tr>
5202 <tr class="entries_header">
5203 <th class="th_details" colspan="5">Details</th>
5204 </tr>
5205 <tr class="entry_cont">
5206 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005207 <p>If no flash,<wbr/> none of the flash controls do
5208anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005209 </td>
5210 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005211
5212
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005213 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5214 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005215
5216
5217 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005218 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005219 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005222 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005224 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005225
5226
5227 </td> <!-- entry_type -->
5228
5229 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005230 <p>Time taken before flash can fire
5231again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005232 </td>
5233
5234 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005235 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005236 </td>
5237
5238 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005239 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005240 </td>
5241
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005242 <td class="entry_tags">
5243 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005244 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005245 </ul>
5246 </td>
5247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005248 </tr>
5249 <tr class="entries_header">
5250 <th class="th_details" colspan="5">Details</th>
5251 </tr>
5252 <tr class="entry_cont">
5253 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005254 <p>1 second too long/<wbr/>too short for recharge? Should
5255this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005256 </td>
5257 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005258
5259
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005260 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5261 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005262
5263
5264
5265
5266
5267 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005268 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005269 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005270 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005271 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005272 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005273
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005274 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005275
5276
5277 </td> <!-- entry_type -->
5278
5279 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005280 <p>The x,<wbr/>y whitepoint of the
5281flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005282 </td>
5283
5284 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005285 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286 </td>
5287
5288 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005289 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005290 </td>
5291
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005292 <td class="entry_tags">
5293 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005294 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005295 </ul>
5296 </td>
5297
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005298 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005299
5300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005301 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5302 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005303
5304
5305 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005306 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005307 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005308 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005309 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005310 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005311
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005312 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005313
5314
5315 </td> <!-- entry_type -->
5316
5317 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005318 <p>Max energy output of the flash for a full
5319power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005320 </td>
5321
5322 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005323 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324 </td>
5325
5326 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005327 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005328 </td>
5329
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005330 <td class="entry_tags">
5331 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005332 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005333 </ul>
5334 </td>
5335
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005336 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005337
5338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005339 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5340 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005341
5342
5343
5344 <!-- end of kind -->
5345 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005346 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005347
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005348 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005349 <tr>
5350 <th class="th_name">Property Name</th>
5351 <th class="th_type">Type</th>
5352 <th class="th_description">Description</th>
5353 <th class="th_units">Units</th>
5354 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005355 <th class="th_tags">Tags</th>
5356 </tr>
5357 </thead>
5358
5359 <tbody>
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005371 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005372 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005373 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005374 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005375 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005376
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005377 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005378
5379
5380 </td> <!-- entry_type -->
5381
5382 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005383 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005384 </td>
5385
5386 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005387 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005388 </td>
5389
5390 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005391 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005392 </td>
5393
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005394 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005395 <ul class="entry_tags">
5396 <li><a href="#tag_V1">V1</a></li>
5397 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005398 </td>
5399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005400 </tr>
5401 <tr class="entries_header">
5402 <th class="th_details" colspan="5">Details</th>
5403 </tr>
5404 <tr class="entry_cont">
5405 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005406 <p>Power for snapshot may use a different scale than
5407for torch mode.<wbr/> Only one entry for torch mode will be
5408used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005409 </td>
5410 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005411
5412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005415
5416
5417 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005418 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005419 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005422 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005423
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005424 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005425
5426
5427 </td> <!-- entry_type -->
5428
5429 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005430 <p>Firing time of flash relative to start of
5431exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005432 </td>
5433
5434 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005435 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436 </td>
5437
5438 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005439 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005440 </td>
5441
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005443 <ul class="entry_tags">
5444 <li><a href="#tag_V1">V1</a></li>
5445 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005446 </td>
5447
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005448 </tr>
5449 <tr class="entries_header">
5450 <th class="th_details" colspan="5">Details</th>
5451 </tr>
5452 <tr class="entry_cont">
5453 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005454 <p>Clamped to (0,<wbr/> exposure time - flash
5455duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005456 </td>
5457 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005458
5459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005460 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5461 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005462
5463
5464 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005465 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005466 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005467 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005469 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005470
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005471 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472
5473 <ul class="entry_type_enum">
5474 <li>
5475 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005476 <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 -08005477 </li>
5478 <li>
5479 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005480 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5481for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5482<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005483 </li>
5484 <li>
5485 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005486 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005487 </li>
5488 </ul>
5489
5490 </td> <!-- entry_type -->
5491
5492 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005493 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005494 </td>
5495
5496 <td class="entry_units">
5497 </td>
5498
5499 <td class="entry_range">
5500 </td>
5501
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005502 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005503 <ul class="entry_tags">
5504 <li><a href="#tag_BC">BC</a></li>
5505 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005506 </td>
5507
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005508 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005509 <tr class="entries_header">
5510 <th class="th_details" colspan="5">Details</th>
5511 </tr>
5512 <tr class="entry_cont">
5513 <td class="entry_details" colspan="5">
5514 <p>This control is only effective when flash unit is available
5515(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5516<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/>
5517Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5518ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5519<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5520<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5521device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5522control should be used along with AE precapture metering sequence
5523(<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>
5524<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5525for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5526 </td>
5527 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005528
5529
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005530 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5531 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005532
5533
5534 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005535 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005536 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005537 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005538 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005539 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005540
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005541 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005542
5543 <ul class="entry_type_enum">
5544 <li>
5545 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005546 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005547 </li>
5548 <li>
5549 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005550 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5551charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005552 </li>
5553 <li>
5554 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005555 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5556ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005557 </li>
5558 <li>
5559 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005560 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5561for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005562 </li>
5563 </ul>
5564
5565 </td> <!-- entry_type -->
5566
5567 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005568 <p>Current state of the flash
5569unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005570 </td>
5571
5572 <td class="entry_units">
5573 </td>
5574
5575 <td class="entry_range">
5576 </td>
5577
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005578 <td class="entry_tags">
5579 </td>
5580
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005581 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005582
5583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005584 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5585 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005586
5587
5588
5589 <!-- end of kind -->
5590 </tbody>
5591
5592 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005593 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005594
5595
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005596 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005597
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005598 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005599 <tr>
5600 <th class="th_name">Property Name</th>
5601 <th class="th_type">Type</th>
5602 <th class="th_description">Description</th>
5603 <th class="th_units">Units</th>
5604 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005605 <th class="th_tags">Tags</th>
5606 </tr>
5607 </thead>
5608
5609 <tbody>
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005621 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005622 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005623 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005624 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005625 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005626
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005627 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005628
5629 <ul class="entry_type_enum">
5630 <li>
5631 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005632 <span class="entry_type_enum_notes"><p>No geometric correction is
5633applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005634 </li>
5635 <li>
5636 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005637 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5638bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005639 </li>
5640 <li>
5641 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005642 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5643quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005644 </li>
5645 </ul>
5646
5647 </td> <!-- entry_type -->
5648
5649 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005650 <p>Operating mode of geometric
5651correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005652 </td>
5653
5654 <td class="entry_units">
5655 </td>
5656
5657 <td class="entry_range">
5658 </td>
5659
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005660 <td class="entry_tags">
5661 </td>
5662
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005663 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005664
5665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5667 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005668
5669
5670 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005671 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005672 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005673 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005674 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005675 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005676
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005677 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005678
5679
5680 </td> <!-- entry_type -->
5681
5682 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005683 <p>Control the amount of shading correction
5684applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005685 </td>
5686
5687 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005688 unitless: 1-10; 10 is full shading
5689 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005690 </td>
5691
5692 <td class="entry_range">
5693 </td>
5694
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005695 <td class="entry_tags">
5696 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005697 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005698 </ul>
5699 </td>
5700
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005701 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005702
5703
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005704 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5705 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005706
5707
5708
5709 <!-- end of kind -->
5710 </tbody>
5711
5712 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005713 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005714
5715
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005716 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005718 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005719 <tr>
5720 <th class="th_name">Property Name</th>
5721 <th class="th_type">Type</th>
5722 <th class="th_description">Description</th>
5723 <th class="th_units">Units</th>
5724 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005725 <th class="th_tags">Tags</th>
5726 </tr>
5727 </thead>
5728
5729 <tbody>
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005741 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005742 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005743 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005744 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005745 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005747 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005748
5749 <ul class="entry_type_enum">
5750 <li>
5751 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005752 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5753applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005754 </li>
5755 <li>
5756 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005757 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5758Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005759 </li>
5760 <li>
5761 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005762 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5763quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005764 </li>
5765 </ul>
5766
5767 </td> <!-- entry_type -->
5768
5769 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005770 <p>Set operational mode for hot pixel
5771correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005772 </td>
5773
5774 <td class="entry_units">
5775 </td>
5776
5777 <td class="entry_range">
5778 </td>
5779
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005780 <td class="entry_tags">
5781 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005782 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005783 </ul>
5784 </td>
5785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005786 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005787
5788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005789 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5790 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005791
5792
5793
5794 <!-- end of kind -->
5795 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005796 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005798 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005799 <tr>
5800 <th class="th_name">Property Name</th>
5801 <th class="th_type">Type</th>
5802 <th class="th_description">Description</th>
5803 <th class="th_units">Units</th>
5804 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005805 <th class="th_tags">Tags</th>
5806 </tr>
5807 </thead>
5808
5809 <tbody>
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005823 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005824 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005825 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005826 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005827 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005828 <span class="entry_type_container">x</span>
5829
5830 <span class="entry_type_array">
5831 2 x n
5832 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005833 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005834 <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 -08005835
5836
5837 </td> <!-- entry_type -->
5838
5839 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005840 <p>Location of hot/<wbr/>defective pixels on
5841sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005842 </td>
5843
5844 <td class="entry_units">
5845 </td>
5846
5847 <td class="entry_range">
5848 </td>
5849
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850 <td class="entry_tags">
5851 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005852 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005853 </ul>
5854 </td>
5855
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005856 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005857
5858
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005859 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5860 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005861
5862
5863
5864
5865
5866
5867 <!-- end of kind -->
5868 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005869 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005870
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005871 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005872 <tr>
5873 <th class="th_name">Property Name</th>
5874 <th class="th_type">Type</th>
5875 <th class="th_description">Description</th>
5876 <th class="th_units">Units</th>
5877 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005878 <th class="th_tags">Tags</th>
5879 </tr>
5880 </thead>
5881
5882 <tbody>
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005894 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005895 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005896 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005897 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005898 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005899
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005900 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005901
5902 <ul class="entry_type_enum">
5903 <li>
5904 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005905 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5906applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005907 </li>
5908 <li>
5909 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005910 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5911Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005912 </li>
5913 <li>
5914 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005915 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5916quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005917 </li>
5918 </ul>
5919
5920 </td> <!-- entry_type -->
5921
5922 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005923 <p>Set operational mode for hot pixel
5924correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005925 </td>
5926
5927 <td class="entry_units">
5928 </td>
5929
5930 <td class="entry_range">
5931 </td>
5932
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005933 <td class="entry_tags">
5934 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005935 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005936 </ul>
5937 </td>
5938
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005939 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005940
5941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005942 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5943 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005944
5945
5946
5947 <!-- end of kind -->
5948 </tbody>
5949
5950 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005951 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005952
5953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005954 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005956 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005957 <tr>
5958 <th class="th_name">Property Name</th>
5959 <th class="th_type">Type</th>
5960 <th class="th_description">Description</th>
5961 <th class="th_units">Units</th>
5962 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005963 <th class="th_tags">Tags</th>
5964 </tr>
5965 </thead>
5966
5967 <tbody>
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005979 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005980 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005981 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005982 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005983 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984 <span class="entry_type_container">x</span>
5985
5986 <span class="entry_type_array">
5987 3
5988 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005990 <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 -08005991
5992
5993 </td> <!-- entry_type -->
5994
5995 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005996 <p>GPS coordinates to include in output JPEG
5997EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005998 </td>
5999
6000 <td class="entry_units">
6001 </td>
6002
6003 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006004 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006005 </td>
6006
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006007 <td class="entry_tags">
6008 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006009 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006010 </ul>
6011 </td>
6012
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006013 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006014
6015
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006016 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6017 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006018
6019
6020 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006021 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006022 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006023 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006024 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006025 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006026
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006027 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006028
6029
6030 </td> <!-- entry_type -->
6031
6032 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006033 <p>32 characters describing GPS algorithm to
6034include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006035 </td>
6036
6037 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006038 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006039 </td>
6040
6041 <td class="entry_range">
6042 </td>
6043
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006044 <td class="entry_tags">
6045 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006046 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006047 </ul>
6048 </td>
6049
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006050 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006051
6052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006053 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6054 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055
6056
6057 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006058 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006059 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006060 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006062 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006063
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006064 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006065
6066
6067 </td> <!-- entry_type -->
6068
6069 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006070 <p>Time GPS fix was made to include in
6071EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006072 </td>
6073
6074 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006075 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006076 </td>
6077
6078 <td class="entry_range">
6079 </td>
6080
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081 <td class="entry_tags">
6082 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006083 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006084 </ul>
6085 </td>
6086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006088
6089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006092
6093
6094 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006095 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006096 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006097 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006099 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006102
6103
6104 </td> <!-- entry_type -->
6105
6106 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006107 <p>Orientation of JPEG image to
6108write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006109 </td>
6110
6111 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006112 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006113 </td>
6114
6115 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006116 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006117 </td>
6118
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006119 <td class="entry_tags">
6120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006122 </ul>
6123 </td>
6124
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006125 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006126
6127
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006128 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6129 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006130
6131
6132 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006133 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006134 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006135 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006136 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006137 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006138
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006139 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006140
6141
6142 </td> <!-- entry_type -->
6143
6144 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006145 <p>Compression quality of the final JPEG
6146image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006147 </td>
6148
6149 <td class="entry_units">
6150 </td>
6151
6152 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006153 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006154 </td>
6155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006156 <td class="entry_tags">
6157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006159 </ul>
6160 </td>
6161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006162 </tr>
6163 <tr class="entries_header">
6164 <th class="th_details" colspan="5">Details</th>
6165 </tr>
6166 <tr class="entry_cont">
6167 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006168 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006169 </td>
6170 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006171
6172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006173 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6174 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006175
6176
6177 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006178 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006179 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006180 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006181 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006182 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006183
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006184 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006185
6186
6187 </td> <!-- entry_type -->
6188
6189 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006190 <p>Compression quality of JPEG
6191thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006192 </td>
6193
6194 <td class="entry_units">
6195 </td>
6196
6197 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006198 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006199 </td>
6200
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006201 <td class="entry_tags">
6202 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006203 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006204 </ul>
6205 </td>
6206
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006207 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006208
6209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006210 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6211 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006212
6213
6214 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006215 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006216 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006217 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006218 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006219 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006220 <span class="entry_type_container">x</span>
6221
6222 <span class="entry_type_array">
6223 2
6224 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006225 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006226
6227
6228 </td> <!-- entry_type -->
6229
6230 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006231 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006232 </td>
6233
6234 <td class="entry_units">
6235 </td>
6236
6237 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006238 <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 -08006239 </td>
6240
6241 <td class="entry_tags">
6242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006244 </ul>
6245 </td>
6246
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006247 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006248 <tr class="entries_header">
6249 <th class="th_details" colspan="5">Details</th>
6250 </tr>
6251 <tr class="entry_cont">
6252 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006253 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6254but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006255<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6256the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006257 </td>
6258 </tr>
6259
6260
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006261 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6262 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006263
6264
6265
6266 <!-- end of kind -->
6267 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006268 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006269
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006270 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006271 <tr>
6272 <th class="th_name">Property Name</th>
6273 <th class="th_type">Type</th>
6274 <th class="th_description">Description</th>
6275 <th class="th_units">Units</th>
6276 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006277 <th class="th_tags">Tags</th>
6278 </tr>
6279 </thead>
6280
6281 <tbody>
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
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/>available<wbr/>Thumbnail<wbr/>Sizes
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 <span class="entry_type_container">x</span>
6299
6300 <span class="entry_type_array">
6301 2 x n
6302 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006303 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006304
6305
6306 </td> <!-- entry_type -->
6307
6308 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006309 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006310 </td>
6311
6312 <td class="entry_units">
6313 </td>
6314
6315 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006316 <p>Will include at least one valid resolution,<wbr/> plus
6317(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006318 </td>
6319
6320 <td class="entry_tags">
6321 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006322 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006323 </ul>
6324 </td>
6325
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006326 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006327 <tr class="entries_header">
6328 <th class="th_details" colspan="5">Details</th>
6329 </tr>
6330 <tr class="entry_cont">
6331 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006332 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006333<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006334<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6335If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6336<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006337aspect 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 -08006338The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006339in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006340<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 -08006341one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6342and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006343<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006344</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006345 </td>
6346 </tr>
6347
6348
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006349 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6350 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006351
6352
6353 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006354 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006355 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006356 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006357 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006358 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006359
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006360 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006361
6362
6363 </td> <!-- entry_type -->
6364
6365 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006366 <p>Maximum size in bytes for the compressed
6367JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006368 </td>
6369
6370 <td class="entry_units">
6371 </td>
6372
6373 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006374 <p>Must be large enough to fit any JPEG produced by
6375the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006376 </td>
6377
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006378 <td class="entry_tags">
6379 </td>
6380
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006381 </tr>
6382 <tr class="entries_header">
6383 <th class="th_details" colspan="5">Details</th>
6384 </tr>
6385 <tr class="entry_cont">
6386 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006387 <p>This is used for sizing the gralloc buffers for
6388JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006389 </td>
6390 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006391
6392
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006393 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6394 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006395
6396
6397
6398 <!-- end of kind -->
6399 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006400 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006401
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006402 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006403 <tr>
6404 <th class="th_name">Property Name</th>
6405 <th class="th_type">Type</th>
6406 <th class="th_description">Description</th>
6407 <th class="th_units">Units</th>
6408 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006409 <th class="th_tags">Tags</th>
6410 </tr>
6411 </thead>
6412
6413 <tbody>
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006425 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006426 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006427 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006429 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006430 <span class="entry_type_container">x</span>
6431
6432 <span class="entry_type_array">
6433 3
6434 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006435 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006436 <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 -08006437
6438
6439 </td> <!-- entry_type -->
6440
6441 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006442 <p>GPS coordinates to include in output JPEG
6443EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006444 </td>
6445
6446 <td class="entry_units">
6447 </td>
6448
6449 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006450 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006451 </td>
6452
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006453 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006454 <ul class="entry_tags">
6455 <li><a href="#tag_BC">BC</a></li>
6456 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006457 </td>
6458
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006459 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006460
6461
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006462 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6463 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006464
6465
6466 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006467 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006468 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006469 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006471 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006472
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006473 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006474
6475
6476 </td> <!-- entry_type -->
6477
6478 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006479 <p>32 characters describing GPS algorithm to
6480include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006481 </td>
6482
6483 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006484 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485 </td>
6486
6487 <td class="entry_range">
6488 </td>
6489
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006490 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006491 <ul class="entry_tags">
6492 <li><a href="#tag_BC">BC</a></li>
6493 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006494 </td>
6495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006497
6498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006501
6502
6503 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006504 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006505 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006508 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006509
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006510 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006511
6512
6513 </td> <!-- entry_type -->
6514
6515 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006516 <p>Time GPS fix was made to include in
6517EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006518 </td>
6519
6520 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006521 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006522 </td>
6523
6524 <td class="entry_range">
6525 </td>
6526
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006527 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006528 <ul class="entry_tags">
6529 <li><a href="#tag_BC">BC</a></li>
6530 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006531 </td>
6532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006533 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006534
6535
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006536 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6537 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006538
6539
6540 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006541 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006542 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006543 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006544 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006545 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006546
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006547 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006548
6549
6550 </td> <!-- entry_type -->
6551
6552 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006553 <p>Orientation of JPEG image to
6554write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006555 </td>
6556
6557 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006558 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006559 </td>
6560
6561 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006562 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006563 </td>
6564
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006565 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006566 <ul class="entry_tags">
6567 <li><a href="#tag_BC">BC</a></li>
6568 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006569 </td>
6570
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006571 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006572
6573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006574 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6575 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006576
6577
6578 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006579 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006580 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006581 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006582 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006583 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006584
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006585 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006586
6587
6588 </td> <!-- entry_type -->
6589
6590 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006591 <p>Compression quality of the final JPEG
6592image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006593 </td>
6594
6595 <td class="entry_units">
6596 </td>
6597
6598 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006599 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006600 </td>
6601
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006602 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006603 <ul class="entry_tags">
6604 <li><a href="#tag_BC">BC</a></li>
6605 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006606 </td>
6607
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006608 </tr>
6609 <tr class="entries_header">
6610 <th class="th_details" colspan="5">Details</th>
6611 </tr>
6612 <tr class="entry_cont">
6613 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006614 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006615 </td>
6616 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006617
6618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006619 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6620 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006621
6622
6623 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006624 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006625 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006626 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006630 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006631
6632
6633 </td> <!-- entry_type -->
6634
6635 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006636 <p>The size of the compressed JPEG image,<wbr/> in
6637bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006638 </td>
6639
6640 <td class="entry_units">
6641 </td>
6642
6643 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006644 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006645 </td>
6646
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006647 <td class="entry_tags">
6648 </td>
6649
6650 </tr>
6651 <tr class="entries_header">
6652 <th class="th_details" colspan="5">Details</th>
6653 </tr>
6654 <tr class="entry_cont">
6655 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006656 <p>If no JPEG output is produced for the request,<wbr/>
6657this must be 0.<wbr/></p>
6658<p>Otherwise,<wbr/> this describes the real size of the compressed
6659JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006660if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6661has <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 -08006662the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6663500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006664 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006665 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006666
6667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006668 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6669 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006670
6671
6672 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006673 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006674 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006675 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006676 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006677 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006678
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006679 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006680
6681
6682 </td> <!-- entry_type -->
6683
6684 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006685 <p>Compression quality of JPEG
6686thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006687 </td>
6688
6689 <td class="entry_units">
6690 </td>
6691
6692 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006693 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006694 </td>
6695
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006696 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006697 <ul class="entry_tags">
6698 <li><a href="#tag_BC">BC</a></li>
6699 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006700 </td>
6701
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006702 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006703
6704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006705 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6706 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006707
6708
6709 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006710 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006711 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006712 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006713 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006714 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006715 <span class="entry_type_container">x</span>
6716
6717 <span class="entry_type_array">
6718 2
6719 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006720 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006721
6722
6723 </td> <!-- entry_type -->
6724
6725 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006726 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006727 </td>
6728
6729 <td class="entry_units">
6730 </td>
6731
6732 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006733 <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 -08006734 </td>
6735
6736 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006737 <ul class="entry_tags">
6738 <li><a href="#tag_BC">BC</a></li>
6739 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006740 </td>
6741
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006742 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006743 <tr class="entries_header">
6744 <th class="th_details" colspan="5">Details</th>
6745 </tr>
6746 <tr class="entry_cont">
6747 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006748 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6749but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006750<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6751the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006752 </td>
6753 </tr>
6754
6755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006756 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6757 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006758
6759
6760
6761 <!-- end of kind -->
6762 </tbody>
6763
6764 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006765 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006766
6767
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006768 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006769
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006770 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006771 <tr>
6772 <th class="th_name">Property Name</th>
6773 <th class="th_type">Type</th>
6774 <th class="th_description">Description</th>
6775 <th class="th_units">Units</th>
6776 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006777 <th class="th_tags">Tags</th>
6778 </tr>
6779 </thead>
6780
6781 <tbody>
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006793 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006794 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006795 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006796 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006797 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006798
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006799 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800
6801
6802 </td> <!-- entry_type -->
6803
6804 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006805 <p>The ratio of lens focal length to the effective
6806aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006807 </td>
6808
6809 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006810 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006811 </td>
6812
6813 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006814 <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 -08006815 </td>
6816
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006817 <td class="entry_tags">
6818 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006819 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006820 </ul>
6821 </td>
6822
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006823 </tr>
6824 <tr class="entries_header">
6825 <th class="th_details" colspan="5">Details</th>
6826 </tr>
6827 <tr class="entry_cont">
6828 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006829 <p>This will only be supported on the camera devices that
6830have variable aperture lens.<wbr/> The aperture value can only be
6831one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6832<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6833this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6834<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6835to achieve manual exposure control.<wbr/></p>
6836<p>The requested aperture value may take several frames to reach the
6837requested value; the camera device will report the current (intermediate)
6838aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6839<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6840the ON modes,<wbr/> this will be overridden by the camera device
6841auto-exposure algorithm,<wbr/> the overridden values are then provided
6842back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006843 </td>
6844 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006845
6846
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006847 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6848 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849
6850
6851 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006852 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006853 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006854 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006855 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006856 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006857
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006858 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006859
6860
6861 </td> <!-- entry_type -->
6862
6863 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006864 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006865 </td>
6866
6867 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006868 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869 </td>
6870
6871 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006872 <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 -08006873 </td>
6874
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006875 <td class="entry_tags">
6876 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006877 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006878 </ul>
6879 </td>
6880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006881 </tr>
6882 <tr class="entries_header">
6883 <th class="th_details" colspan="5">Details</th>
6884 </tr>
6885 <tr class="entry_cont">
6886 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006887 <p>This will not be supported on most camera devices.<wbr/> On devices
6888where this is supported,<wbr/> this may only be set to one of the
6889values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6890<p>Lens filters are typically used to lower the amount of light the
6891sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6892step is the standard logarithmic representation,<wbr/> which are
6893non-negative,<wbr/> and inversely proportional to the amount of light
6894hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6895in no reduction of the incoming light,<wbr/> and setting this to 2 would
6896mean that the filter is set to reduce incoming light by two stops
6897(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006898 </td>
6899 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006900
6901
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006902 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6903 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006904
6905
6906 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006907 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006908 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006909 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006910 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006911 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006912
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006913 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006914
6915
6916 </td> <!-- entry_type -->
6917
6918 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006919 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006920 </td>
6921
6922 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006923 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006924 </td>
6925
6926 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006927 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006928 </td>
6929
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006930 <td class="entry_tags">
6931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006932 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006933 </ul>
6934 </td>
6935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006936 </tr>
6937 <tr class="entries_header">
6938 <th class="th_details" colspan="5">Details</th>
6939 </tr>
6940 <tr class="entry_cont">
6941 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006942 <p>This setting controls the physical focal length of the camera
6943device's lens.<wbr/> Changing the focal length changes the field of
6944view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
6945<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
6946setting won't be applied instantaneously,<wbr/> and it may take several
6947frames before the lens can move to the requested focal length.<wbr/>
6948While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
6949be set to MOVING.<wbr/></p>
6950<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006951 </td>
6952 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006953
6954
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006955 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6956 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006957
6958
6959 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006960 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006961 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006962 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006963 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006964 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006965
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006966 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006967
6968
6969 </td> <!-- entry_type -->
6970
6971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006972 <p>Distance to plane of sharpest focus,<wbr/>
6973measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006974 </td>
6975
6976 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006977 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006978 </td>
6979
6980 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006981 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982 </td>
6983
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006984 <td class="entry_tags">
6985 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006986 <li><a href="#tag_BC">BC</a></li>
6987 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006988 </ul>
6989 </td>
6990
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006991 </tr>
6992 <tr class="entries_header">
6993 <th class="th_details" colspan="5">Details</th>
6994 </tr>
6995 <tr class="entry_cont">
6996 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006997 <p>0 = infinity focus.<wbr/> Used value should be clamped
6998to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006999 </td>
7000 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007001
7002
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007003 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7004 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007005
7006
7007 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007008 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007009 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007010 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007011 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007012 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007013
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007014 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007015
7016 <ul class="entry_type_enum">
7017 <li>
7018 <span class="entry_type_enum_name">OFF</span>
7019 </li>
7020 <li>
7021 <span class="entry_type_enum_name">ON</span>
7022 <span class="entry_type_enum_optional">optional</span>
7023 </li>
7024 </ul>
7025
7026 </td> <!-- entry_type -->
7027
7028 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007029 <p>Whether optical image stabilization is
7030enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007031 </td>
7032
7033 <td class="entry_units">
7034 </td>
7035
7036 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007037 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007038 </td>
7039
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007040 <td class="entry_tags">
7041 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007042 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007043 </ul>
7044 </td>
7045
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007046 </tr>
7047 <tr class="entries_header">
7048 <th class="th_details" colspan="5">Details</th>
7049 </tr>
7050 <tr class="entry_cont">
7051 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007052 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007053 </td>
7054 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007055
7056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007057 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7058 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007059
7060
7061
7062 <!-- end of kind -->
7063 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007064 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007065
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007066 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007067 <tr>
7068 <th class="th_name">Property Name</th>
7069 <th class="th_type">Type</th>
7070 <th class="th_description">Description</th>
7071 <th class="th_units">Units</th>
7072 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007073 <th class="th_tags">Tags</th>
7074 </tr>
7075 </thead>
7076
7077 <tbody>
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007091 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007092 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007093 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007094 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007095 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007096 <span class="entry_type_container">x</span>
7097
7098 <span class="entry_type_array">
7099 n
7100 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007102
7103
7104 </td> <!-- entry_type -->
7105
7106 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007107 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007108values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007109 </td>
7110
7111 <td class="entry_units">
7112 </td>
7113
7114 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007115 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007116 </td>
7117
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007118 <td class="entry_tags">
7119 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007120 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007121 </ul>
7122 </td>
7123
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007124 </tr>
7125 <tr class="entries_header">
7126 <th class="th_details" colspan="5">Details</th>
7127 </tr>
7128 <tr class="entry_cont">
7129 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007130 <p>If the camera device doesn't support variable apertures,<wbr/>
7131listed value will be the fixed aperture.<wbr/></p>
7132<p>If the camera device supports variable apertures,<wbr/> the aperture value
7133in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007134 </td>
7135 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007136
7137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007138 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7139 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007140
7141
7142 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007143 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007144 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007145 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007146 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007147 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007148 <span class="entry_type_container">x</span>
7149
7150 <span class="entry_type_array">
7151 n
7152 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007153 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007154
7155
7156 </td> <!-- entry_type -->
7157
7158 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007159 <p>List of supported neutral density filter values for
7160<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007161 </td>
7162
7163 <td class="entry_units">
7164 </td>
7165
7166 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007167 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007168 </td>
7169
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007170 <td class="entry_tags">
7171 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007172 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007173 </ul>
7174 </td>
7175
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007176 </tr>
7177 <tr class="entries_header">
7178 <th class="th_details" colspan="5">Details</th>
7179 </tr>
7180 <tr class="entry_cont">
7181 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007182 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7183availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7184list contains only the exact filter density values available on
7185this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007186 </td>
7187 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007188
7189
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007190 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7191 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007192
7193
7194 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007195 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007196 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007197 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007198 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007199 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007200 <span class="entry_type_container">x</span>
7201
7202 <span class="entry_type_array">
7203 n
7204 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007205 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007206 <div class="entry_type_notes">The list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007207
7208
7209 </td> <!-- entry_type -->
7210
7211 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007212 <p>The available focal lengths for this device for use with
7213<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007214 </td>
7215
7216 <td class="entry_units">
7217 </td>
7218
7219 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007220 <p>Each value in this list must be &gt; 0.<wbr/> This list must
7221contain at least one value.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007222 </td>
7223
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007224 <td class="entry_tags">
7225 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007226 <li><a href="#tag_BC">BC</a></li>
7227 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007228 </ul>
7229 </td>
7230
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007231 </tr>
7232 <tr class="entries_header">
7233 <th class="th_details" colspan="5">Details</th>
7234 </tr>
7235 <tr class="entry_cont">
7236 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007237 <p>If optical zoom is not supported,<wbr/> this will only report
7238a single value corresponding to the static focal length of the
7239device.<wbr/> Otherwise,<wbr/> this will report every focal length supported
7240by the device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007241 </td>
7242 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007243
7244
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007245 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7246 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007247
7248
7249 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007250 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007251 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007252 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007253 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007254 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007255 <span class="entry_type_container">x</span>
7256
7257 <span class="entry_type_array">
7258 n
7259 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007260 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007261 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007262
7263
7264 </td> <!-- entry_type -->
7265
7266 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007267 <p>List of supported optical image
7268stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007269 </td>
7270
7271 <td class="entry_units">
7272 </td>
7273
7274 <td class="entry_range">
7275 </td>
7276
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007277 <td class="entry_tags">
7278 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007279 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007280 </ul>
7281 </td>
7282
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007283 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007284
7285
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007286 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7287 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007288
7289
7290 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007291 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007292 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007293 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007295 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007296 <span class="entry_type_container">x</span>
7297
7298 <span class="entry_type_array">
7299 2 x 3 x n x m
7300 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007301 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007302 <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 -08007303
7304
7305 </td> <!-- entry_type -->
7306
7307 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007308 <p>A low-resolution map for correction of
7309geometric distortions and chromatic aberrations,<wbr/> per
7310color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007311 </td>
7312
7313 <td class="entry_units">
7314 </td>
7315
7316 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007317 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007318 </td>
7319
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007320 <td class="entry_tags">
7321 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007322 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007323 </ul>
7324 </td>
7325
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007326 </tr>
7327 <tr class="entries_header">
7328 <th class="th_details" colspan="5">Details</th>
7329 </tr>
7330 <tr class="entry_cont">
7331 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007332 <p>[DNG wants a function instead].<wbr/> What's easiest
7333for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7334j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7335j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7336entry 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 -08007337 </td>
7338 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007339
7340
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007341 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7342 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007343
7344
7345 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007346 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007347 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007348 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007349 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007350 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007351 <span class="entry_type_container">x</span>
7352
7353 <span class="entry_type_array">
7354 2
7355 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007356 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007357 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007358
7359
7360 </td> <!-- entry_type -->
7361
7362 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007363 <p>Dimensions of geometric correction
7364map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007365 </td>
7366
7367 <td class="entry_units">
7368 </td>
7369
7370 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007371 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007372 </td>
7373
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007374 <td class="entry_tags">
7375 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007376 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007377 </ul>
7378 </td>
7379
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007380 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007381
7382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007383 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7384 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007385
7386
7387 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007388 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007389 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007390 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007392 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007393
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007395
7396
7397 </td> <!-- entry_type -->
7398
7399 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007400 <p>Hyperfocal distance for this lens; set to
74010 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007402 </td>
7403
7404 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007405 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007406 </td>
7407
7408 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007409 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007410 </td>
7411
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007412 <td class="entry_tags">
7413 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007414 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007415 </ul>
7416 </td>
7417
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007418 </tr>
7419 <tr class="entries_header">
7420 <th class="th_details" colspan="5">Details</th>
7421 </tr>
7422 <tr class="entry_cont">
7423 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007424 <p>The hyperfocal distance is used for the old
7425API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007426 </td>
7427 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007428
7429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007430 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7431 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007432
7433
7434 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007435 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007436 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007437 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007438 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007439 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007440
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007441 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007442
7443
7444 </td> <!-- entry_type -->
7445
7446 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007447 <p>Shortest distance from frontmost surface
7448of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007449 </td>
7450
7451 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007452 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007453 </td>
7454
7455 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007456 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457 </td>
7458
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007459 <td class="entry_tags">
7460 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007461 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007462 </ul>
7463 </td>
7464
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007465 </tr>
7466 <tr class="entries_header">
7467 <th class="th_details" colspan="5">Details</th>
7468 </tr>
7469 <tr class="entry_cont">
7470 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007471 <p>If the lens is fixed-focus,<wbr/> this should be
74720</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007473 </td>
7474 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007475
7476
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007477 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7478 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007479
7480
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007481 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007482 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007483 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007484 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007485 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007486 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007487 <span class="entry_type_container">x</span>
7488
7489 <span class="entry_type_array">
7490 2
7491 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007492 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007493 <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 -08007494
7495
7496 </td> <!-- entry_type -->
7497
7498 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007499 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007500 </td>
7501
7502 <td class="entry_units">
7503 </td>
7504
7505 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007506 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007507 </td>
7508
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007509 <td class="entry_tags">
7510 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007511 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007512 </ul>
7513 </td>
7514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007515 </tr>
7516 <tr class="entries_header">
7517 <th class="th_details" colspan="5">Details</th>
7518 </tr>
7519 <tr class="entry_cont">
7520 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007521 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7522must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007523 </td>
7524 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007525
7526
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007527 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7528 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007529
7530
7531
7532
7533
7534 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007535 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007536 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007537 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007538 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007539 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007540
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007541 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007542
7543 <ul class="entry_type_enum">
7544 <li>
7545 <span class="entry_type_enum_name">FRONT</span>
7546 </li>
7547 <li>
7548 <span class="entry_type_enum_name">BACK</span>
7549 </li>
7550 </ul>
7551
7552 </td> <!-- entry_type -->
7553
7554 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007555 <p>Direction the camera faces relative to
7556device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007557 </td>
7558
7559 <td class="entry_units">
7560 </td>
7561
7562 <td class="entry_range">
7563 </td>
7564
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007565 <td class="entry_tags">
7566 </td>
7567
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007568 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007569
7570
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007571 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7572 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007573
7574
7575 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007576 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007577 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007578 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007579 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007580 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007581 <span class="entry_type_container">x</span>
7582
7583 <span class="entry_type_array">
7584 2
7585 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007586 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007587 <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 -08007588
7589
7590 </td> <!-- entry_type -->
7591
7592 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007593 <p>Relative angle of camera optical axis to the
7594perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007595 </td>
7596
7597 <td class="entry_units">
7598 </td>
7599
7600 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007601 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007602 </td>
7603
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007604 <td class="entry_tags">
7605 <ul class="entry_tags">
7606 <li><a href="#tag_ADV">ADV</a></li>
7607 </ul>
7608 </td>
7609
7610 </tr>
7611 <tr class="entries_header">
7612 <th class="th_details" colspan="5">Details</th>
7613 </tr>
7614 <tr class="entry_cont">
7615 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007616 <p>Examples:</p>
7617<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007618is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007619<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007620device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007621<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7622the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007623<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007624direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007625 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007626 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007627
7628
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007629 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7630 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007631
7632
7633 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007634 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007635 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007636 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007637 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007638 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007639 <span class="entry_type_container">x</span>
7640
7641 <span class="entry_type_array">
7642 3, location in mm, in the sensor coordinate
7643 system
7644 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007645 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007646
7647
7648 </td> <!-- entry_type -->
7649
7650 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007651 <p>Coordinates of camera optical axis on
7652device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007653 </td>
7654
7655 <td class="entry_units">
7656 </td>
7657
7658 <td class="entry_range">
7659 </td>
7660
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007661 <td class="entry_tags">
7662 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007663 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007664 </ul>
7665 </td>
7666
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007668
7669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007670 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7671 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007672
7673
7674
7675 <!-- end of kind -->
7676 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007677 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007678
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007679 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007680 <tr>
7681 <th class="th_name">Property Name</th>
7682 <th class="th_type">Type</th>
7683 <th class="th_description">Description</th>
7684 <th class="th_units">Units</th>
7685 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007686 <th class="th_tags">Tags</th>
7687 </tr>
7688 </thead>
7689
7690 <tbody>
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007702 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007703 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007704 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007705 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007706 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007707
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007708 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007709
7710
7711 </td> <!-- entry_type -->
7712
7713 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007714 <p>The ratio of lens focal length to the effective
7715aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007716 </td>
7717
7718 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007719 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007720 </td>
7721
7722 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007723 <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 -08007724 </td>
7725
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007726 <td class="entry_tags">
7727 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007728 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007729 </ul>
7730 </td>
7731
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007732 </tr>
7733 <tr class="entries_header">
7734 <th class="th_details" colspan="5">Details</th>
7735 </tr>
7736 <tr class="entry_cont">
7737 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007738 <p>This will only be supported on the camera devices that
7739have variable aperture lens.<wbr/> The aperture value can only be
7740one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7741<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7742this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7743<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7744to achieve manual exposure control.<wbr/></p>
7745<p>The requested aperture value may take several frames to reach the
7746requested value; the camera device will report the current (intermediate)
7747aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7748<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7749the ON modes,<wbr/> this will be overridden by the camera device
7750auto-exposure algorithm,<wbr/> the overridden values are then provided
7751back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007752 </td>
7753 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007754
7755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007756 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7757 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007758
7759
7760 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007761 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007762 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007763 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007764 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007765 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007766
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007767 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007768
7769
7770 </td> <!-- entry_type -->
7771
7772 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007773 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007774 </td>
7775
7776 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007777 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007778 </td>
7779
7780 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007781 <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 -08007782 </td>
7783
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007784 <td class="entry_tags">
7785 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007786 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007787 </ul>
7788 </td>
7789
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007790 </tr>
7791 <tr class="entries_header">
7792 <th class="th_details" colspan="5">Details</th>
7793 </tr>
7794 <tr class="entry_cont">
7795 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007796 <p>This will not be supported on most camera devices.<wbr/> On devices
7797where this is supported,<wbr/> this may only be set to one of the
7798values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7799<p>Lens filters are typically used to lower the amount of light the
7800sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7801step is the standard logarithmic representation,<wbr/> which are
7802non-negative,<wbr/> and inversely proportional to the amount of light
7803hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7804in no reduction of the incoming light,<wbr/> and setting this to 2 would
7805mean that the filter is set to reduce incoming light by two stops
7806(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007807 </td>
7808 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007809
7810
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007811 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7812 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007813
7814
7815 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007816 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007817 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007818 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007820 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007822 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007823
7824
7825 </td> <!-- entry_type -->
7826
7827 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007828 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007829 </td>
7830
7831 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007832 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007833 </td>
7834
7835 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007836 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007837 </td>
7838
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007839 <td class="entry_tags">
7840 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007841 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007842 </ul>
7843 </td>
7844
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007845 </tr>
7846 <tr class="entries_header">
7847 <th class="th_details" colspan="5">Details</th>
7848 </tr>
7849 <tr class="entry_cont">
7850 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007851 <p>This setting controls the physical focal length of the camera
7852device's lens.<wbr/> Changing the focal length changes the field of
7853view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
7854<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
7855setting won't be applied instantaneously,<wbr/> and it may take several
7856frames before the lens can move to the requested focal length.<wbr/>
7857While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7858be set to MOVING.<wbr/></p>
7859<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007860 </td>
7861 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007862
7863
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007864 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7865 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007866
7867
7868 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007869 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007870 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007871 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007872 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007873 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007874
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007875 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007876
7877
7878 </td> <!-- entry_type -->
7879
7880 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007881 <p>Distance to plane of sharpest focus,<wbr/>
7882measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007883 </td>
7884
7885 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007886 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007887 </td>
7888
7889 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007890 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007891 </td>
7892
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007893 <td class="entry_tags">
7894 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007895 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007896 </ul>
7897 </td>
7898
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007899 </tr>
7900 <tr class="entries_header">
7901 <th class="th_details" colspan="5">Details</th>
7902 </tr>
7903 <tr class="entry_cont">
7904 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007905 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007906 </td>
7907 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007908
7909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007910 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7911 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912
7913
7914 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007915 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007916 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007917 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007918 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007919 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007920 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007921
Zhijun He50451ad2013-09-26 10:27:47 -07007922 <span class="entry_type_array">
7923 2
7924 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007925 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007926 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007927
7928
7929 </td> <!-- entry_type -->
7930
7931 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007932 <p>The range of scene distances that are in
7933sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007934 </td>
7935
7936 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007937 pair of focus distances in diopters: (near,<wbr/>
7938 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007939 </td>
7940
7941 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007942 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007943 </td>
7944
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007945 <td class="entry_tags">
7946 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007947 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007948 </ul>
7949 </td>
7950
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007951 </tr>
7952 <tr class="entries_header">
7953 <th class="th_details" colspan="5">Details</th>
7954 </tr>
7955 <tr class="entry_cont">
7956 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007957 <p>If variable focus not supported,<wbr/> can still report
7958fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007959 </td>
7960 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007961
7962
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007963 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7964 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007965
7966
7967 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007968 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007969 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007970 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007971 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007972 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007973
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007974 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007975
7976 <ul class="entry_type_enum">
7977 <li>
7978 <span class="entry_type_enum_name">OFF</span>
7979 </li>
7980 <li>
7981 <span class="entry_type_enum_name">ON</span>
7982 <span class="entry_type_enum_optional">optional</span>
7983 </li>
7984 </ul>
7985
7986 </td> <!-- entry_type -->
7987
7988 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007989 <p>Whether optical image stabilization is
7990enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007991 </td>
7992
7993 <td class="entry_units">
7994 </td>
7995
7996 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007997 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007998 </td>
7999
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008000 <td class="entry_tags">
8001 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008002 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008003 </ul>
8004 </td>
8005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008006 </tr>
8007 <tr class="entries_header">
8008 <th class="th_details" colspan="5">Details</th>
8009 </tr>
8010 <tr class="entry_cont">
8011 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008012 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008013 </td>
8014 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008015
8016
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008017 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8018 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008019
8020
8021 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008022 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008023 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008024 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008025 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008026 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008027
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008028 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008029
8030 <ul class="entry_type_enum">
8031 <li>
8032 <span class="entry_type_enum_name">STATIONARY</span>
8033 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07008034 <li>
8035 <span class="entry_type_enum_name">MOVING</span>
8036 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008037 </ul>
8038
8039 </td> <!-- entry_type -->
8040
8041 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008042 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008043 </td>
8044
8045 <td class="entry_units">
8046 </td>
8047
8048 <td class="entry_range">
8049 </td>
8050
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008051 <td class="entry_tags">
8052 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008053 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008054 </ul>
8055 </td>
8056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008057 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008058
8059
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008060 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8061 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008062
8063
8064
8065 <!-- end of kind -->
8066 </tbody>
8067
8068 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008069 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008070
8071
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008072 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008073
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008074 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008075 <tr>
8076 <th class="th_name">Property Name</th>
8077 <th class="th_type">Type</th>
8078 <th class="th_description">Description</th>
8079 <th class="th_units">Units</th>
8080 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008081 <th class="th_tags">Tags</th>
8082 </tr>
8083 </thead>
8084
8085 <tbody>
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008097 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008098 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008099 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008100 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008101 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008103 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008104
8105 <ul class="entry_type_enum">
8106 <li>
8107 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008108 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008109 </li>
8110 <li>
8111 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008112 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8113output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008114 </li>
8115 <li>
8116 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008117 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8118quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008119 </li>
8120 </ul>
8121
8122 </td> <!-- entry_type -->
8123
8124 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008125 <p>Mode of operation for the noise reduction
8126algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008127 </td>
8128
8129 <td class="entry_units">
8130 </td>
8131
8132 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008133 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008134 </td>
8135
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008136 <td class="entry_tags">
8137 <ul class="entry_tags">
8138 <li><a href="#tag_V1">V1</a></li>
8139 </ul>
8140 </td>
8141
8142 </tr>
8143 <tr class="entries_header">
8144 <th class="th_details" colspan="5">Details</th>
8145 </tr>
8146 <tr class="entry_cont">
8147 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008148 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8149will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008150<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8151will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8152will use the highest-quality noise filtering algorithms,<wbr/>
8153even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008154slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008155 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008156 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008157
8158
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008159 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8160 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008161
8162
8163 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008164 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008165 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008166 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008167 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008168 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008169
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008170 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008171
8172
8173 </td> <!-- entry_type -->
8174
8175 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008176 <p>Control the amount of noise reduction
8177applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008178 </td>
8179
8180 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008181 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008182 </td>
8183
8184 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008185 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008186 </td>
8187
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008188 <td class="entry_tags">
8189 </td>
8190
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008191 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008192
8193
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008194 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8195 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008196
8197
8198
8199 <!-- end of kind -->
8200 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008201 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008202
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008203 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008204 <tr>
8205 <th class="th_name">Property Name</th>
8206 <th class="th_type">Type</th>
8207 <th class="th_description">Description</th>
8208 <th class="th_units">Units</th>
8209 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008210 <th class="th_tags">Tags</th>
8211 </tr>
8212 </thead>
8213
8214 <tbody>
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008226 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008227 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008228 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008229 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008230 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008231
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008232 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008233
8234 <ul class="entry_type_enum">
8235 <li>
8236 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008237 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008238 </li>
8239 <li>
8240 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008241 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8242output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008243 </li>
8244 <li>
8245 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008246 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8247quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008248 </li>
8249 </ul>
8250
8251 </td> <!-- entry_type -->
8252
8253 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008254 <p>Mode of operation for the noise reduction
8255algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008256 </td>
8257
8258 <td class="entry_units">
8259 </td>
8260
8261 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008262 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008263 </td>
8264
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008265 <td class="entry_tags">
8266 <ul class="entry_tags">
8267 <li><a href="#tag_V1">V1</a></li>
8268 </ul>
8269 </td>
8270
8271 </tr>
8272 <tr class="entries_header">
8273 <th class="th_details" colspan="5">Details</th>
8274 </tr>
8275 <tr class="entry_cont">
8276 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008277 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8278will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008279<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8280will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8281will use the highest-quality noise filtering algorithms,<wbr/>
8282even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008283slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008284 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008285 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008286
8287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008288 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8289 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008290
8291
8292
8293 <!-- end of kind -->
8294 </tbody>
8295
8296 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008297 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008298
8299
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008300 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008301
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008302 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008303 <tr>
8304 <th class="th_name">Property Name</th>
8305 <th class="th_type">Type</th>
8306 <th class="th_description">Description</th>
8307 <th class="th_units">Units</th>
8308 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008309 <th class="th_tags">Tags</th>
8310 </tr>
8311 </thead>
8312
8313 <tbody>
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008325 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008326 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008327 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008328 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008329 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008330
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008331 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008332
8333
8334 </td> <!-- entry_type -->
8335
8336 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008337 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008338scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008339region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8340and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008341 </td>
8342
8343 <td class="entry_units">
8344 </td>
8345
8346 <td class="entry_range">
8347 </td>
8348
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008349 <td class="entry_tags">
8350 </td>
8351
8352 </tr>
8353 <tr class="entries_header">
8354 <th class="th_details" colspan="5">Details</th>
8355 </tr>
8356 <tr class="entry_cont">
8357 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008358 <p>Normalized coordinates refer to those in the
8359(-1000,<wbr/>1000) range mentioned in the
8360android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008361<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008362sensor array-relative coordinates for all region data.<wbr/> Does
8363not need to be listed in static metadata.<wbr/> Support will be
8364removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008365 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008366 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008367
8368
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008369 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8370 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008371
8372
8373 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008374 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008375 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008376 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008377 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008378 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008379
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008380 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008381
8382
8383 </td> <!-- entry_type -->
8384
8385 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008386 <p>If set to 1,<wbr/> then the camera service always
8387switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8388trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008389 </td>
8390
8391 <td class="entry_units">
8392 </td>
8393
8394 <td class="entry_range">
8395 </td>
8396
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008397 <td class="entry_tags">
8398 </td>
8399
8400 </tr>
8401 <tr class="entries_header">
8402 <th class="th_details" colspan="5">Details</th>
8403 </tr>
8404 <tr class="entry_cont">
8405 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008406 <p>HAL implementations should implement AF trigger
8407modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8408CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8409not need to be listed in static metadata.<wbr/> Support will be
8410removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008411 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008412 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008413
8414
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008415 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8416 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008417
8418
8419 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008420 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008421 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008422 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008423 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008424 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008425
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008426 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008427
8428
8429 </td> <!-- entry_type -->
8430
8431 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008432 <p>If set to 1,<wbr/> the camera service uses
8433CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8434HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8435shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008436 </td>
8437
8438 <td class="entry_units">
8439 </td>
8440
8441 <td class="entry_range">
8442 </td>
8443
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008444 <td class="entry_tags">
8445 </td>
8446
8447 </tr>
8448 <tr class="entries_header">
8449 <th class="th_details" colspan="5">Details</th>
8450 </tr>
8451 <tr class="entry_cont">
8452 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008453 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008454to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008455zero-shutter-lag,<wbr/> instead of relying on an explicit
8456format setting.<wbr/> Does not need to be listed in static
8457metadata.<wbr/> Support will be removed in future versions of
8458camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008459 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008460 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008461
8462
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008463 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8464 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008465
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008466
8467 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008468 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008469 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008470 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008471 <td class="entry_type">
8472 <span class="entry_type_name">byte</span>
8473
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008474 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008475
8476
8477 </td> <!-- entry_type -->
8478
8479 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008480 <p>If set to 1,<wbr/> the HAL will always split result
8481metadata for a single capture into multiple buffers,<wbr/>
8482returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008483 </td>
8484
8485 <td class="entry_units">
8486 </td>
8487
8488 <td class="entry_range">
8489 </td>
8490
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008491 <td class="entry_tags">
8492 </td>
8493
8494 </tr>
8495 <tr class="entries_header">
8496 <th class="th_details" colspan="5">Details</th>
8497 </tr>
8498 <tr class="entry_cont">
8499 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008500 <p>Does not need to be listed in static
8501metadata.<wbr/> Support for partial results will be reworked in
8502future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008503working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008504consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008505 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008506 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008507
8508
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008509 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8510 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008511
8512
8513
8514 <!-- end of kind -->
8515 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008516 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008517
8518 <thead class="entries_header">
8519 <tr>
8520 <th class="th_name">Property Name</th>
8521 <th class="th_type">Type</th>
8522 <th class="th_description">Description</th>
8523 <th class="th_units">Units</th>
8524 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008525 <th class="th_tags">Tags</th>
8526 </tr>
8527 </thead>
8528
8529 <tbody>
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008541 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008542 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008543 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008544 <td class="entry_type">
8545 <span class="entry_type_name entry_type_name_enum">byte</span>
8546
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008547 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008548
8549 <ul class="entry_type_enum">
8550 <li>
8551 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008552 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8553for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008554 </li>
8555 <li>
8556 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008557 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8558capture.<wbr/> More result buffers for this capture will be sent
8559by the HAL,<wbr/> the last of which will be marked
8560FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008561 </li>
8562 </ul>
8563
8564 </td> <!-- entry_type -->
8565
8566 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008567 <p>Whether a result given to the framework is the
8568final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008569subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008570values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008571 </td>
8572
8573 <td class="entry_units">
8574 </td>
8575
8576 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008577 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008578 </td>
8579
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008580 <td class="entry_tags">
8581 </td>
8582
8583 </tr>
8584 <tr class="entries_header">
8585 <th class="th_details" colspan="5">Details</th>
8586 </tr>
8587 <tr class="entry_cont">
8588 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008589 <p>The entries in the result metadata buffers for a
8590single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008591FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008592requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8593always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8594before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8595in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8596capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8597only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008598 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008599 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008600
8601
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008602 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8603 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008604
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008605
8606
8607 <!-- end of kind -->
8608 </tbody>
8609
8610 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008611 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008612
8613
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008614 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008615
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008616 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008617 <tr>
8618 <th class="th_name">Property Name</th>
8619 <th class="th_type">Type</th>
8620 <th class="th_description">Description</th>
8621 <th class="th_units">Units</th>
8622 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008623 <th class="th_tags">Tags</th>
8624 </tr>
8625 </thead>
8626
8627 <tbody>
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008639 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008640 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008641 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008642 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008643 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008644
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008645 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008646
8647
8648 </td> <!-- entry_type -->
8649
8650 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008651 <p>A frame counter set by the framework.<wbr/> Must
8652be maintained unchanged in output frame.<wbr/> This value monotonically
8653increases with every new result (that is,<wbr/> each new result has a unique
8654frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008655 </td>
8656
8657 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008658 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008659 </td>
8660
8661 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008662 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008663 </td>
8664
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008665 <td class="entry_tags">
8666 </td>
8667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008668 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008669
8670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008671 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8672 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008673
8674
8675 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008676 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008677 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008678 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008679 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008680 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008681
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008682 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008683
8684
8685 </td> <!-- entry_type -->
8686
8687 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008688 <p>An application-specified ID for the current
8689request.<wbr/> Must be maintained unchanged in output
8690frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008691 </td>
8692
8693 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008694 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008695 </td>
8696
8697 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008698 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008699 </td>
8700
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008701 <td class="entry_tags">
8702 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008703 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008704 </ul>
8705 </td>
8706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008707 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008708
8709
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008710 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8711 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008712
8713
8714 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008715 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008716 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008717 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008718 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008719 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008720 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008721
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008722 <span class="entry_type_array">
8723 n
8724 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008725 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008726
8727
8728 </td> <!-- entry_type -->
8729
8730 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008731 <p>List which camera reprocess stream is used
8732for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008733 </td>
8734
8735 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008736 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008737 </td>
8738
8739 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008740 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8741reprocess stream ID.<wbr/></p>
8742<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8743reprocess streams may be included in a single request; they
8744must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008745 </td>
8746
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008747 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008748 <ul class="entry_tags">
8749 <li><a href="#tag_HAL2">HAL2</a></li>
8750 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008751 </td>
8752
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008753 </tr>
8754 <tr class="entries_header">
8755 <th class="th_details" colspan="5">Details</th>
8756 </tr>
8757 <tr class="entry_cont">
8758 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008759 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008760REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008761 </td>
8762 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008763
8764
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008765 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8766 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008767
8768
8769 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008770 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008771 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008772 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008773 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008774 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008775
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008777
8778 <ul class="entry_type_enum">
8779 <li>
8780 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008781 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8782for application-bound buffer data.<wbr/> If no
8783application-bound streams exist,<wbr/> no frame should be
8784placed in the output frame queue.<wbr/> If such streams
8785exist,<wbr/> a frame should be placed on the output queue
8786with null metadata but with the necessary output buffer
8787information.<wbr/> Timestamp information should still be
8788included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008789 </li>
8790 <li>
8791 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008792 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8793only be produced if they are separately
8794enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008795 </li>
8796 </ul>
8797
8798 </td> <!-- entry_type -->
8799
8800 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008801 <p>How much metadata to produce on
8802output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008803 </td>
8804
8805 <td class="entry_units">
8806 </td>
8807
8808 <td class="entry_range">
8809 </td>
8810
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008811 <td class="entry_tags">
8812 </td>
8813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008814 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008815
8816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008817 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8818 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008819
8820
8821 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008823 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008824 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008825 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008826 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008827 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008828
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008829 <span class="entry_type_array">
8830 n
8831 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008832 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008833
8834
8835 </td> <!-- entry_type -->
8836
8837 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008838 <p>Lists which camera output streams image data
8839from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008840 </td>
8841
8842 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008843 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008844 </td>
8845
8846 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008847 <p>List must only include streams that have been
8848created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008849 </td>
8850
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008851 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008852 <ul class="entry_tags">
8853 <li><a href="#tag_HAL2">HAL2</a></li>
8854 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008855 </td>
8856
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008857 </tr>
8858 <tr class="entries_header">
8859 <th class="th_details" colspan="5">Details</th>
8860 </tr>
8861 <tr class="entry_cont">
8862 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008863 <p>If no output streams are listed,<wbr/> then the image
8864data should simply be discarded.<wbr/> The image data must
8865still be captured for metadata and statistics production,<wbr/>
8866and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008867 </td>
8868 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008869
8870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008871 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8872 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008873
8874
8875 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008876 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008877 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008878 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008879 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008880 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008881
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008882 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008883
8884 <ul class="entry_type_enum">
8885 <li>
8886 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008887 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8888and process it according to the
8889settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008890 </li>
8891 <li>
8892 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008893 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8894android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8895source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8896needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008897 </li>
8898 </ul>
8899
8900 </td> <!-- entry_type -->
8901
8902 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008903 <p>The type of the request; either CAPTURE or
8904REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008905 </td>
8906
8907 <td class="entry_units">
8908 </td>
8909
8910 <td class="entry_range">
8911 </td>
8912
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008913 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008914 <ul class="entry_tags">
8915 <li><a href="#tag_HAL2">HAL2</a></li>
8916 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008917 </td>
8918
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008919 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008920
8921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008922 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8923 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008924
8925
8926
8927 <!-- end of kind -->
8928 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008929 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008930
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008931 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008932 <tr>
8933 <th class="th_name">Property Name</th>
8934 <th class="th_type">Type</th>
8935 <th class="th_description">Description</th>
8936 <th class="th_units">Units</th>
8937 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008938 <th class="th_tags">Tags</th>
8939 </tr>
8940 </thead>
8941
8942 <tbody>
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008954 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008955 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008956 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008957 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008958 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008959 <span class="entry_type_container">x</span>
8960
8961 <span class="entry_type_array">
8962 3
8963 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008964 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008965
8966
8967 </td> <!-- entry_type -->
8968
8969 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008970 <p>How many output streams can be allocated at
8971the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008972 </td>
8973
8974 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008975 The number of raw sensor streams; the number of
8976 processed,<wbr/> uncompressed streams; and the number of
8977 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008978 </td>
8979
8980 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008981 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008982for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008983 </td>
8984
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008985 <td class="entry_tags">
8986 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008987 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008988 </ul>
8989 </td>
8990
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008991 </tr>
8992 <tr class="entries_header">
8993 <th class="th_details" colspan="5">Details</th>
8994 </tr>
8995 <tr class="entry_cont">
8996 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008997 <p>Video snapshot with preview callbacks requires 3
8998processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8999one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009000 </td>
9001 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009002
9003
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009004 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9005 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009006
9007
9008 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009009 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009010 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009011 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009012 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009013 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009014 <span class="entry_type_container">x</span>
9015
9016 <span class="entry_type_array">
9017 1
9018 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009019 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009020
9021
9022 </td> <!-- entry_type -->
9023
9024 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009025 <p>How many reprocessing streams of any type
9026can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009027 </td>
9028
9029 <td class="entry_units">
9030 </td>
9031
9032 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009033 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009034 </td>
9035
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009036 <td class="entry_tags">
9037 </td>
9038
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009039 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009040
9041
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009042 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9043 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044
9045
9046
9047 <!-- end of kind -->
9048 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009049 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009050
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009051 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009052 <tr>
9053 <th class="th_name">Property Name</th>
9054 <th class="th_type">Type</th>
9055 <th class="th_description">Description</th>
9056 <th class="th_units">Units</th>
9057 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009058 <th class="th_tags">Tags</th>
9059 </tr>
9060 </thead>
9061
9062 <tbody>
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009074 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009075 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009076 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009077 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009078 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009079
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009080 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009081
9082
9083 </td> <!-- entry_type -->
9084
9085 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009086 <p>A frame counter set by the framework.<wbr/> This value monotonically
9087increases with every new result (that is,<wbr/> each new result has a unique
9088frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009089 </td>
9090
9091 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009092 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009093 </td>
9094
9095 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009096 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009097 </td>
9098
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009099 <td class="entry_tags">
9100 </td>
9101
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009102 </tr>
9103 <tr class="entries_header">
9104 <th class="th_details" colspan="5">Details</th>
9105 </tr>
9106 <tr class="entry_cont">
9107 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009108 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009109 </td>
9110 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009111
9112
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009113 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9114 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009115
9116
9117 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009118 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009119 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009120 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009121 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009122 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009123
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009124 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009125
9126
9127 </td> <!-- entry_type -->
9128
9129 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009130 <p>An application-specified ID for the current
9131request.<wbr/> Must be maintained unchanged in output
9132frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009133 </td>
9134
9135 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009136 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009137 </td>
9138
9139 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009140 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009141 </td>
9142
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009143 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009144 <ul class="entry_tags">
9145 <li><a href="#tag_V1">V1</a></li>
9146 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009147 </td>
9148
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009149 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009150
9151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009152 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9153 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009154
9155
9156 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009157 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009158 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009159 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009160 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009161 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009162
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009163 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009164
9165 <ul class="entry_type_enum">
9166 <li>
9167 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009168 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9169for application-bound buffer data.<wbr/> If no
9170application-bound streams exist,<wbr/> no frame should be
9171placed in the output frame queue.<wbr/> If such streams
9172exist,<wbr/> a frame should be placed on the output queue
9173with null metadata but with the necessary output buffer
9174information.<wbr/> Timestamp information should still be
9175included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009176 </li>
9177 <li>
9178 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009179 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9180only be produced if they are separately
9181enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009182 </li>
9183 </ul>
9184
9185 </td> <!-- entry_type -->
9186
9187 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009188 <p>How much metadata to produce on
9189output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009190 </td>
9191
9192 <td class="entry_units">
9193 </td>
9194
9195 <td class="entry_range">
9196 </td>
9197
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009198 <td class="entry_tags">
9199 </td>
9200
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009201 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009202
9203
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009204 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9205 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009206
9207
9208 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009209 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009210 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009211 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009212 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009213 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009214 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009215
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009216 <span class="entry_type_array">
9217 n
9218 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009219 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009220
9221
9222 </td> <!-- entry_type -->
9223
9224 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009225 <p>Lists which camera output streams image data
9226from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009227 </td>
9228
9229 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009230 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009231 </td>
9232
9233 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009234 <p>List must only include streams that have been
9235created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009236 </td>
9237
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009238 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009239 <ul class="entry_tags">
9240 <li><a href="#tag_HAL2">HAL2</a></li>
9241 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009242 </td>
9243
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009244 </tr>
9245 <tr class="entries_header">
9246 <th class="th_details" colspan="5">Details</th>
9247 </tr>
9248 <tr class="entry_cont">
9249 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009250 <p>If no output streams are listed,<wbr/> then the image
9251data should simply be discarded.<wbr/> The image data must
9252still be captured for metadata and statistics production,<wbr/>
9253and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009254 </td>
9255 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009256
9257
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009258 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9259 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009260
9261
9262
9263 <!-- end of kind -->
9264 </tbody>
9265
9266 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009267 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009268
9269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009270 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009271
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009272 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009273 <tr>
9274 <th class="th_name">Property Name</th>
9275 <th class="th_type">Type</th>
9276 <th class="th_description">Description</th>
9277 <th class="th_units">Units</th>
9278 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009279 <th class="th_tags">Tags</th>
9280 </tr>
9281 </thead>
9282
9283 <tbody>
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009295 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009296 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009297 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009298 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009299 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009300 <span class="entry_type_container">x</span>
9301
9302 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009303 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009304 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009305 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009306
9307
9308 </td> <!-- entry_type -->
9309
9310 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009311 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9312<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9313(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9314output.<wbr/> Each stream must use this rectangle to produce its
9315output,<wbr/> cropping to a smaller region if necessary to
9316maintain the stream's aspect ratio.<wbr/></p>
9317<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009318 </td>
9319
9320 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009321 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9322 in pixels; (0,<wbr/>0) is top-left corner of
9323 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009324 </td>
9325
9326 <td class="entry_range">
9327 </td>
9328
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009329 <td class="entry_tags">
9330 <ul class="entry_tags">
9331 <li><a href="#tag_BC">BC</a></li>
9332 </ul>
9333 </td>
9334
9335 </tr>
9336 <tr class="entries_header">
9337 <th class="th_details" colspan="5">Details</th>
9338 </tr>
9339 <tr class="entry_cont">
9340 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009341 <p>Any additional per-stream cropping must be done to
9342maximize the final pixel area of the stream.<wbr/></p>
9343<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9344ratio,<wbr/> then 4:3 streams should use the exact crop
9345region.<wbr/> 16:9 streams should further crop vertically
9346(letterbox).<wbr/></p>
9347<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9348outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9349streams should match exactly.<wbr/> These additional crops must
9350be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009351<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009352times,<wbr/> no matter what the relative aspect ratios of the
9353crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009354corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009355larger than active pixel array.<wbr/> Width and height may be
9356rounded to nearest larger supportable width,<wbr/> especially
9357for raw output,<wbr/> where only a few fixed scales may be
9358possible.<wbr/> The width and height of the crop region cannot
9359be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9360android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9361activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9362respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009363 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009364 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009365
9366
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009367 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9368 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009369
9370
9371
9372 <!-- end of kind -->
9373 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009374 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009375
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009376 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009377 <tr>
9378 <th class="th_name">Property Name</th>
9379 <th class="th_type">Type</th>
9380 <th class="th_description">Description</th>
9381 <th class="th_units">Units</th>
9382 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009383 <th class="th_tags">Tags</th>
9384 </tr>
9385 </thead>
9386
9387 <tbody>
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009399 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009400 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009401 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009402 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009403 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009404 <span class="entry_type_container">x</span>
9405
9406 <span class="entry_type_array">
9407 n
9408 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009409 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009410
9411 <ul class="entry_type_enum">
9412 <li>
9413 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009414 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009415 <span class="entry_type_enum_value">0x20</span>
9416 </li>
9417 <li>
9418 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009419 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009420 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009421 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009422 </li>
9423 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009424 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009425 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009426 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009427 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009428 </li>
9429 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009430 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9431 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009432 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009433 </li>
9434 <li>
9435 <span class="entry_type_enum_name">YCbCr_420_888</span>
9436 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009437 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009438 </li>
9439 <li>
9440 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009441 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009442 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009443 </li>
9444 </ul>
9445
9446 </td> <!-- entry_type -->
9447
9448 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009449 <p>The list of image formats that are supported by this
9450camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009451 </td>
9452
9453 <td class="entry_units">
9454 </td>
9455
9456 <td class="entry_range">
9457 </td>
9458
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009459 <td class="entry_tags">
9460 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009461 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009462 </ul>
9463 </td>
9464
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009465 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009466 <tr class="entries_header">
9467 <th class="th_details" colspan="5">Details</th>
9468 </tr>
9469 <tr class="entry_cont">
9470 <td class="entry_details" colspan="5">
9471 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9472<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9473 </td>
9474 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009475
Zhijun Heb8317e22014-01-16 09:47:07 -08009476 <tr class="entries_header">
9477 <th class="th_details" colspan="5">HAL Implementation Details</th>
9478 </tr>
9479 <tr class="entry_cont">
9480 <td class="entry_details" colspan="5">
9481 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9482system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9483<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9484gralloc module will select a format based on the usage flags provided
9485by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9486usually used by preview and recording streams,<wbr/> where the application doesn't
9487need access the image data.<wbr/></p>
9488<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9489needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9490<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9491 </td>
9492 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009493
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009494 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9495 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009496
9497
9498 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009499 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009500 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009501 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009502 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009503 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009504 <span class="entry_type_container">x</span>
9505
9506 <span class="entry_type_array">
9507 n
9508 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009509 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009510
9511
9512 </td> <!-- entry_type -->
9513
9514 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009515 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009516for 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 -08009517 </td>
9518
9519 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009520 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009521 </td>
9522
9523 <td class="entry_range">
9524 </td>
9525
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009526 <td class="entry_tags">
9527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009528 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009529 </ul>
9530 </td>
9531
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009532 </tr>
9533 <tr class="entries_header">
9534 <th class="th_details" colspan="5">Details</th>
9535 </tr>
9536 <tr class="entry_cont">
9537 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009538 <p>This corresponds to the minimum steady-state frame duration when only
9539that JPEG stream is active and captured in a burst,<wbr/> with all
9540processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9541<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009542frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009543durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009544 </td>
9545 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009546
9547
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009548 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9549 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009550
9551
9552 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009553 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009554 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009555 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009556 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009557 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009558 <span class="entry_type_container">x</span>
9559
9560 <span class="entry_type_array">
9561 n x 2
9562 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009563 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009564
9565
9566 </td> <!-- entry_type -->
9567
9568 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009569 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009570 </td>
9571
9572 <td class="entry_units">
9573 </td>
9574
9575 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009576 </td>
9577
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009578 <td class="entry_tags">
9579 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009580 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009581 </ul>
9582 </td>
9583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009584 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009585 <tr class="entries_header">
9586 <th class="th_details" colspan="5">Details</th>
9587 </tr>
9588 <tr class="entry_cont">
9589 <td class="entry_details" colspan="5">
9590 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9591sensor 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>
9592 </td>
9593 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009594
Zhijun Heb8317e22014-01-16 09:47:07 -08009595 <tr class="entries_header">
9596 <th class="th_details" colspan="5">HAL Implementation Details</th>
9597 </tr>
9598 <tr class="entry_cont">
9599 <td class="entry_details" colspan="5">
9600 <p>The HAL must include sensor maximum resolution
9601(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9602and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9603 </td>
9604 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009605
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009606 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9607 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009608
9609
9610 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009611 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009612 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009613 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009614 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009615 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009616
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009617 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009618
9619
9620 </td> <!-- entry_type -->
9621
9622 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009623 <p>The maximum ratio between active area width
9624and crop region width,<wbr/> or between active area height and
9625crop region height,<wbr/> if the crop region height is larger
9626than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009627 </td>
9628
9629 <td class="entry_units">
9630 </td>
9631
9632 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009633 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009634 </td>
9635
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009636 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009637 <ul class="entry_tags">
9638 <li><a href="#tag_BC">BC</a></li>
9639 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009640 </td>
9641
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009642 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009643
9644
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009645 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9646 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009647
9648
9649 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009650 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009651 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009652 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009653 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009654 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009655 <span class="entry_type_container">x</span>
9656
9657 <span class="entry_type_array">
9658 n
9659 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009660 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009661
9662
9663 </td> <!-- entry_type -->
9664
9665 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009666 <p>For each available processed output size (defined in
9667<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9668minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009669 </td>
9670
9671 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009672 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009673 </td>
9674
9675 <td class="entry_range">
9676 </td>
9677
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009678 <td class="entry_tags">
9679 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009680 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009681 </ul>
9682 </td>
9683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009684 </tr>
9685 <tr class="entries_header">
9686 <th class="th_details" colspan="5">Details</th>
9687 </tr>
9688 <tr class="entry_cont">
9689 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009690 <p>This should correspond to the frame duration when only that processed
9691stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9692set to FAST.<wbr/></p>
9693<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9694be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009695 </td>
9696 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009697
9698
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009699 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9700 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009701
9702
9703 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009704 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009705 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009706 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009707 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009708 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009709 <span class="entry_type_container">x</span>
9710
9711 <span class="entry_type_array">
9712 n x 2
9713 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009714 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009715
9716
9717 </td> <!-- entry_type -->
9718
9719 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009720 <p>The resolutions available for use with
9721processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9722platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009723encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009724 </td>
9725
9726 <td class="entry_units">
9727 </td>
9728
9729 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009730 </td>
9731
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009732 <td class="entry_tags">
9733 <ul class="entry_tags">
9734 <li><a href="#tag_BC">BC</a></li>
9735 </ul>
9736 </td>
9737
9738 </tr>
9739 <tr class="entries_header">
9740 <th class="th_details" colspan="5">Details</th>
9741 </tr>
9742 <tr class="entry_cont">
9743 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009744 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9745<p>For a given use case,<wbr/> the actual maximum supported resolution
9746may be lower than what is listed here,<wbr/> depending on the destination
9747Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9748the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9749smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9750can provide.<wbr/></p>
9751<p>Please reference the documentation for the image data destination to
9752check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009753 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009754 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009755
Zhijun Heb8317e22014-01-16 09:47:07 -08009756 <tr class="entries_header">
9757 <th class="th_details" colspan="5">HAL Implementation Details</th>
9758 </tr>
9759 <tr class="entry_cont">
9760 <td class="entry_details" colspan="5">
9761 <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/>
9762the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9763and each below resolution if it is smaller than or equal to the sensor
9764maximum resolution (if they are not listed in JPEG sizes already):</p>
9765<ul>
9766<li>240p (320 x 240)</li>
9767<li>480p (640 x 480)</li>
9768<li>720p (1280 x 720)</li>
9769<li>1080p (1920 x 1080)</li>
9770</ul>
9771<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/>
9772the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9773 </td>
9774 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009776 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9777 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009778
9779
9780 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009781 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009782 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009783 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009784 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009785 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009786 <span class="entry_type_container">x</span>
9787
9788 <span class="entry_type_array">
9789 n
9790 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009791 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009792
9793
9794 </td> <!-- entry_type -->
9795
9796 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009797 <p>For each available processed output size (defined in
9798<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9799supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009800 </td>
9801
9802 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009803 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009804 </td>
9805
9806 <td class="entry_range">
9807 </td>
9808
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009809 <td class="entry_tags">
9810 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009811 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009812 </ul>
9813 </td>
9814
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009815 </tr>
9816 <tr class="entries_header">
9817 <th class="th_details" colspan="5">Details</th>
9818 </tr>
9819 <tr class="entry_cont">
9820 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009821 <p>Should correspond to the frame duration when only the raw stream is
9822active.<wbr/></p>
9823<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009824frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009825durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009826 </td>
9827 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009828
9829
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009830 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9831 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009832
9833
9834 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009835 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009836 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009837 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009838 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009839 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009840 <span class="entry_type_container">x</span>
9841
9842 <span class="entry_type_array">
9843 n x 2
9844 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009845 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009846
9847
9848 </td> <!-- entry_type -->
9849
9850 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009851 <p>The resolutions available for use with raw
9852sensor output streams,<wbr/> listed as width,<wbr/>
9853height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009854 </td>
9855
9856 <td class="entry_units">
9857 </td>
9858
9859 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009860 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009861 </td>
9862
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009863 <td class="entry_tags">
9864 </td>
9865
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009866 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009867
9868
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009869 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9870 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009871
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009872
9873
9874 <!-- end of kind -->
9875 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009876 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009877
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009878 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009879 <tr>
9880 <th class="th_name">Property Name</th>
9881 <th class="th_type">Type</th>
9882 <th class="th_description">Description</th>
9883 <th class="th_units">Units</th>
9884 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009885 <th class="th_tags">Tags</th>
9886 </tr>
9887 </thead>
9888
9889 <tbody>
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009901 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009902 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009903 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009904 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009905 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009906 <span class="entry_type_container">x</span>
9907
9908 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009909 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009910 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009911 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009912
9913
9914 </td> <!-- entry_type -->
9915
9916 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009917 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9918<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9919(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9920output.<wbr/> Each stream must use this rectangle to produce its
9921output,<wbr/> cropping to a smaller region if necessary to
9922maintain the stream's aspect ratio.<wbr/></p>
9923<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009924 </td>
9925
9926 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009927 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9928 in pixels; (0,<wbr/>0) is top-left corner of
9929 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009930 </td>
9931
9932 <td class="entry_range">
9933 </td>
9934
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009935 <td class="entry_tags">
9936 <ul class="entry_tags">
9937 <li><a href="#tag_BC">BC</a></li>
9938 </ul>
9939 </td>
9940
9941 </tr>
9942 <tr class="entries_header">
9943 <th class="th_details" colspan="5">Details</th>
9944 </tr>
9945 <tr class="entry_cont">
9946 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009947 <p>Any additional per-stream cropping must be done to
9948maximize the final pixel area of the stream.<wbr/></p>
9949<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9950ratio,<wbr/> then 4:3 streams should use the exact crop
9951region.<wbr/> 16:9 streams should further crop vertically
9952(letterbox).<wbr/></p>
9953<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9954outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9955streams should match exactly.<wbr/> These additional crops must
9956be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009957<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009958times,<wbr/> no matter what the relative aspect ratios of the
9959crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009960corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009961larger than active pixel array.<wbr/> Width and height may be
9962rounded to nearest larger supportable width,<wbr/> especially
9963for raw output,<wbr/> where only a few fixed scales may be
9964possible.<wbr/> The width and height of the crop region cannot
9965be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9966android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9967activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9968respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009969 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009970 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009971
9972
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009973 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9974 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009975
9976
9977
9978 <!-- end of kind -->
9979 </tbody>
9980
9981 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009982 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009983
9984
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009985 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009986
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009987 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009988 <tr>
9989 <th class="th_name">Property Name</th>
9990 <th class="th_type">Type</th>
9991 <th class="th_description">Description</th>
9992 <th class="th_units">Units</th>
9993 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009994 <th class="th_tags">Tags</th>
9995 </tr>
9996 </thead>
9997
9998 <tbody>
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010010 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010011 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010012 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010013 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010014 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010015
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010016 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010017
10018
10019 </td> <!-- entry_type -->
10020
10021 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010022 <p>Duration each pixel is exposed to
10023light.<wbr/></p>
10024<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
10025duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010026 </td>
10027
10028 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010029 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010030 </td>
10031
10032 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010033 <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 -080010034 </td>
10035
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010036 <td class="entry_tags">
10037 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010038 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010039 </ul>
10040 </td>
10041
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010042 </tr>
10043 <tr class="entries_header">
10044 <th class="th_details" colspan="5">Details</th>
10045 </tr>
10046 <tr class="entry_cont">
10047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010048 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010049 </td>
10050 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010051
10052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010053 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10054 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010055
10056
10057 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010058 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010059 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010060 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010062 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010063
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010064 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010065
10066
10067 </td> <!-- entry_type -->
10068
10069 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010070 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010071start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010072 </td>
10073
10074 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010075 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010076 </td>
10077
10078 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010079 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10080android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10081is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010082 </td>
10083
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010084 <td class="entry_tags">
10085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010086 <li><a href="#tag_V1">V1</a></li>
10087 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010088 </ul>
10089 </td>
10090
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010091 </tr>
10092 <tr class="entries_header">
10093 <th class="th_details" colspan="5">Details</th>
10094 </tr>
10095 <tr class="entry_cont">
10096 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010097 <p>The maximum frame rate that can be supported by a camera subsystem is
10098a function of many factors:</p>
10099<ul>
10100<li>Requested resolutions of output image streams</li>
10101<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10102<li>The bandwidth of the imager interface</li>
10103<li>The bandwidth of the various ISP processing blocks</li>
10104</ul>
10105<p>Since these factors can vary greatly between different ISPs and
10106sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10107restrictions with as simple a model as possible.<wbr/></p>
10108<p>The model presented has the following characteristics:</p>
10109<ul>
10110<li>The image sensor is always configured to output the smallest
10111resolution possible given the application's requested output stream
10112sizes.<wbr/> The smallest resolution is defined as being at least as large
10113as the largest requested output stream size; the camera pipeline must
10114never digitally upsample sensor data when the crop region covers the
10115whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10116resolutions are configured,<wbr/> the sensor can provide a higher frame
10117rate.<wbr/></li>
10118<li>Since any request may use any or all the currently configured
10119output streams,<wbr/> the sensor and ISP must be configured to support
10120scaling a single capture to all the streams at the same time.<wbr/> This
10121means the camera pipeline must be ready to produce the largest
10122requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10123frame rate of a given configured stream set is governed only by the
10124largest requested stream resolution.<wbr/></li>
10125<li>Using more than one output stream in a request does not affect the
10126frame duration.<wbr/></li>
10127<li>JPEG streams act like processed YUV streams in requests for which
10128they are not included; in requests in which they are directly
10129referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10130JPEG stream requires the underlying YUV data to always be ready for
10131use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10132frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10133<li>The JPEG processor can run concurrently to the rest of the camera
10134pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10135</ul>
10136<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10137is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10138These are used to determine the maximum frame rate /<wbr/> minimum frame
10139duration that is possible for a given stream configuration.<wbr/></p>
10140<p>Specifically,<wbr/> the application can use the following rules to
10141determine the minimum frame duration it can request from the HAL
10142device:</p>
10143<ol>
10144<li>Given the application's currently configured set of output
10145streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10146<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10147<code>SP</code>.<wbr/></li>
10148<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10149count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10150<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10151<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
10152no exact match for <code>RP == RJ</code> (in particular there isn't an available
10153processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10154to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10155there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10156the processed resolution closest to <code>RJ</code>.<wbr/></li>
10157<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
10158no exact match for <code>RR == RP</code> (in particular there isn't an available
10159raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10160or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10161there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10162the raw resolution closest to <code>RP</code>.<wbr/></li>
10163<li>Look up the matching minimum frame durations in the property lists
10164<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10165<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10166<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10167minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10168<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10169supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10170<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10171supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10172<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10173the application,<wbr/> then the HAL will have to delay JPEG-using requests
10174whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10175This will happen whenever a JPEG-using request starts capture less
10176than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10177supported frame duration will vary between the values calculated in
10178#6 and #7.<wbr/></li>
10179</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010180 </td>
10181 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010182
10183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010184 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10185 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010186
10187
10188 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010189 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010190 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010191 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010193 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010194
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010195 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010196
10197
10198 </td> <!-- entry_type -->
10199
10200 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010201 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010202implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010203below 'maximum analog sensitivity'.<wbr/></p>
10204<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10205gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010206 </td>
10207
10208 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010209 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010210 </td>
10211
10212 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010213 <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 -080010214 </td>
10215
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010216 <td class="entry_tags">
10217 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010218 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010219 </ul>
10220 </td>
10221
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010222 </tr>
10223 <tr class="entries_header">
10224 <th class="th_details" colspan="5">Details</th>
10225 </tr>
10226 <tr class="entry_cont">
10227 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010228 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010229 </td>
10230 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010231
10232
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010233 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10234 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010235
10236
10237
10238 <!-- end of kind -->
10239 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010240 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010241
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010242 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010243 <tr>
10244 <th class="th_name">Property Name</th>
10245 <th class="th_type">Type</th>
10246 <th class="th_description">Description</th>
10247 <th class="th_units">Units</th>
10248 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010249 <th class="th_tags">Tags</th>
10250 </tr>
10251 </thead>
10252
10253 <tbody>
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010267 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010268 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010269 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010270 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010271 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010272 <span class="entry_type_container">x</span>
10273
10274 <span class="entry_type_array">
10275 4
10276 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010277 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010278 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010279
10280
10281 </td> <!-- entry_type -->
10282
10283 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010284 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010285active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010286pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010287 </td>
10288
10289 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010290 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10291 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010292 </td>
10293
10294 <td class="entry_range">
10295 </td>
10296
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010297 <td class="entry_tags">
10298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010299 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010300 </ul>
10301 </td>
10302
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010303 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010304
10305
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010306 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10307 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010308
10309
Zhijun He69fc0ea2013-07-17 09:42:58 -070010310 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010311 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010312 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010313 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010314 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010315 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010316 <span class="entry_type_container">x</span>
10317
10318 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010319 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010320 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010321 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010322 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010323
10324
10325 </td> <!-- entry_type -->
10326
10327 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010328 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010329 </td>
10330
10331 <td class="entry_units">
10332 </td>
10333
10334 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010335 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010336 </td>
10337
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010338 <td class="entry_tags">
10339 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010340 <li><a href="#tag_BC">BC</a></li>
10341 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010342 </ul>
10343 </td>
10344
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010345 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010346
10347
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010348 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10349 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010350
10351
10352 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010353 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010354 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010355 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010356 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010357 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010358
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010359 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010360
10361 <ul class="entry_type_enum">
10362 <li>
10363 <span class="entry_type_enum_name">RGGB</span>
10364 </li>
10365 <li>
10366 <span class="entry_type_enum_name">GRBG</span>
10367 </li>
10368 <li>
10369 <span class="entry_type_enum_name">GBRG</span>
10370 </li>
10371 <li>
10372 <span class="entry_type_enum_name">BGGR</span>
10373 </li>
10374 <li>
10375 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010376 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10377values for each pixel,<wbr/> instead of just 1 16-bit value
10378per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010379 </li>
10380 </ul>
10381
10382 </td> <!-- entry_type -->
10383
10384 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010385 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010386represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010387the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010388 </td>
10389
10390 <td class="entry_units">
10391 </td>
10392
10393 <td class="entry_range">
10394 </td>
10395
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010396 <td class="entry_tags">
10397 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010398 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010399 </ul>
10400 </td>
10401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010402 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010403
10404
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010405 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10406 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010407
10408
10409 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010410 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010411 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010412 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010413 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010414 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010415 <span class="entry_type_container">x</span>
10416
10417 <span class="entry_type_array">
10418 2
10419 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010420 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010421 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010422
10423
10424 </td> <!-- entry_type -->
10425
10426 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010427 <p>Range of valid exposure
10428times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010429 </td>
10430
10431 <td class="entry_units">
10432 </td>
10433
10434 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010435 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10436sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010437 </td>
10438
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010439 <td class="entry_tags">
10440 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010441 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010442 </ul>
10443 </td>
10444
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010445 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010446
10447
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010448 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10449 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010450
10451
10452 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010453 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010454 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010455 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010456 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010457 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010458
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010459 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010460
10461
10462 </td> <!-- entry_type -->
10463
10464 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010465 <p>Maximum possible frame duration (minimum frame
10466rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010467 </td>
10468
10469 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010470 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010471 </td>
10472
10473 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010474 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010475 </td>
10476
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010477 <td class="entry_tags">
10478 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010479 <li><a href="#tag_BC">BC</a></li>
10480 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010481 </ul>
10482 </td>
10483
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010484 </tr>
10485 <tr class="entries_header">
10486 <th class="th_details" colspan="5">Details</th>
10487 </tr>
10488 <tr class="entry_cont">
10489 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010490 <p>Minimum duration is a function of resolution,<wbr/>
10491processing settings.<wbr/> See
10492android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10493android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010494<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 -080010495 </td>
10496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010497
10498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010501
10502
10503 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010504 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010505 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010508 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010509 <span class="entry_type_container">x</span>
10510
10511 <span class="entry_type_array">
10512 2
10513 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010514 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010515 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010516
10517
10518 </td> <!-- entry_type -->
10519
10520 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010521 <p>The physical dimensions of the full pixel
10522array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010523 </td>
10524
10525 <td class="entry_units">
10526 </td>
10527
10528 <td class="entry_range">
10529 </td>
10530
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010531 <td class="entry_tags">
10532 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010533 <li><a href="#tag_V1">V1</a></li>
10534 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010535 </ul>
10536 </td>
10537
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010538 </tr>
10539 <tr class="entries_header">
10540 <th class="th_details" colspan="5">Details</th>
10541 </tr>
10542 <tr class="entry_cont">
10543 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010544 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010545 </td>
10546 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010547
10548
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010549 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10550 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010551
10552
10553 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010554 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010555 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010556 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010558 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010559 <span class="entry_type_container">x</span>
10560
10561 <span class="entry_type_array">
10562 2
10563 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010564 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010565
10566
10567 </td> <!-- entry_type -->
10568
10569 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010570 <p>Dimensions of full pixel array,<wbr/> possibly
10571including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010572 </td>
10573
10574 <td class="entry_units">
10575 </td>
10576
10577 <td class="entry_range">
10578 </td>
10579
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010580 <td class="entry_tags">
10581 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010582 <li><a href="#tag_DNG">DNG</a></li>
10583 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010584 </ul>
10585 </td>
10586
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010587 </tr>
10588 <tr class="entries_header">
10589 <th class="th_details" colspan="5">Details</th>
10590 </tr>
10591 <tr class="entry_cont">
10592 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010593 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010594match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010595android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010596 </td>
10597 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010598
10599
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010600 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10601 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010602
10603
10604 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010605 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010606 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010607 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010608 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010609 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010610
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010611 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010612
10613
10614 </td> <!-- entry_type -->
10615
10616 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010617 <p>Maximum raw value output by
10618sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010619 </td>
10620
10621 <td class="entry_units">
10622 </td>
10623
10624 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010625 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010626 </td>
10627
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010628 <td class="entry_tags">
10629 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010630 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010631 </ul>
10632 </td>
10633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010634 </tr>
10635 <tr class="entries_header">
10636 <th class="th_details" colspan="5">Details</th>
10637 </tr>
10638 <tr class="entry_cont">
10639 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010640 <p>Defines sensor bit depth (10-14 bits is
10641expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010642 </td>
10643 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010644
10645
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010646 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10647 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010648
10649
10650
10651
10652
10653 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010654 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010655 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010656 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010657 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010658 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010659
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010660 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010661
10662
10663 </td> <!-- entry_type -->
10664
10665 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010666 <p>Gain factor from electrons to raw units when
10667ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010668 </td>
10669
10670 <td class="entry_units">
10671 </td>
10672
10673 <td class="entry_range">
10674 </td>
10675
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010676 <td class="entry_tags">
10677 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010678 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010679 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010680 </ul>
10681 </td>
10682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010683 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010684
10685
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010686 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10687 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010688
10689
10690 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010691 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010692 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010693 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010694 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010695 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010696 <span class="entry_type_container">x</span>
10697
10698 <span class="entry_type_array">
10699 4
10700 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010701 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010702 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010703
10704
10705 </td> <!-- entry_type -->
10706
10707 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010708 <p>A fixed black level offset for each of the
10709Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010710 </td>
10711
10712 <td class="entry_units">
10713 </td>
10714
10715 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010716 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010717 </td>
10718
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010719 <td class="entry_tags">
10720 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010721 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010722 </ul>
10723 </td>
10724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010725 </tr>
10726 <tr class="entries_header">
10727 <th class="th_details" colspan="5">Details</th>
10728 </tr>
10729 <tr class="entry_cont">
10730 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010731 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10732tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010733 </td>
10734 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010735
10736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010737 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10738 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010739
10740
10741 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010742 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010743 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010744 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010746 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010747 <span class="entry_type_container">x</span>
10748
10749 <span class="entry_type_array">
10750 9
10751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010752 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010753 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010754
10755
10756 </td> <!-- entry_type -->
10757
10758 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010759 <p>Per-device calibration on top of color space
10760transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010761 </td>
10762
10763 <td class="entry_units">
10764 </td>
10765
10766 <td class="entry_range">
10767 </td>
10768
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010769 <td class="entry_tags">
10770 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010771 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010772 </ul>
10773 </td>
10774
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010775 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010776
10777
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010778 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10779 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010780
10781
10782 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010783 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010784 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010785 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010787 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010788 <span class="entry_type_container">x</span>
10789
10790 <span class="entry_type_array">
10791 9
10792 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010793 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010794 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010795
10796
10797 </td> <!-- entry_type -->
10798
10799 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010800 <p>Per-device calibration on top of color space
10801transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010802 </td>
10803
10804 <td class="entry_units">
10805 </td>
10806
10807 <td class="entry_range">
10808 </td>
10809
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010810 <td class="entry_tags">
10811 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010812 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010813 </ul>
10814 </td>
10815
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010816 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010817
10818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010819 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10820 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010821
10822
10823 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010824 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010825 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010826 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010827 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010828 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010829 <span class="entry_type_container">x</span>
10830
10831 <span class="entry_type_array">
10832 9
10833 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010834 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010835 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010836
10837
10838 </td> <!-- entry_type -->
10839
10840 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010841 <p>Linear mapping from XYZ (D50) color space to
10842reference linear sensor color,<wbr/> for first reference
10843illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010844 </td>
10845
10846 <td class="entry_units">
10847 </td>
10848
10849 <td class="entry_range">
10850 </td>
10851
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010852 <td class="entry_tags">
10853 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010854 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010855 </ul>
10856 </td>
10857
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010858 </tr>
10859 <tr class="entries_header">
10860 <th class="th_details" colspan="5">Details</th>
10861 </tr>
10862 <tr class="entry_cont">
10863 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010864 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10865black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10866At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010867 </td>
10868 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010869
10870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010871 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10872 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010873
10874
10875 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010876 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010877 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010878 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010879 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010880 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010881 <span class="entry_type_container">x</span>
10882
10883 <span class="entry_type_array">
10884 9
10885 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010886 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010887 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010888
10889
10890 </td> <!-- entry_type -->
10891
10892 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010893 <p>Linear mapping from XYZ (D50) color space to
10894reference linear sensor color,<wbr/> for second reference
10895illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010896 </td>
10897
10898 <td class="entry_units">
10899 </td>
10900
10901 <td class="entry_range">
10902 </td>
10903
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010904 <td class="entry_tags">
10905 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010906 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010907 </ul>
10908 </td>
10909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010910 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010911
10912
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010913 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10914 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010915
10916
10917 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010918 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010919 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010920 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010921 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010922 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010923 <span class="entry_type_container">x</span>
10924
10925 <span class="entry_type_array">
10926 9
10927 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010928 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010929 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010930
10931
10932 </td> <!-- entry_type -->
10933
10934 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010935 <p>Used by DNG for better WB
10936adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010937 </td>
10938
10939 <td class="entry_units">
10940 </td>
10941
10942 <td class="entry_range">
10943 </td>
10944
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010945 <td class="entry_tags">
10946 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010947 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010948 </ul>
10949 </td>
10950
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010951 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010952
10953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010954 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10955 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010956
10957
10958 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010959 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010960 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010961 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010962 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010963 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010964 <span class="entry_type_container">x</span>
10965
10966 <span class="entry_type_array">
10967 9
10968 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010969 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010970 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010971
10972
10973 </td> <!-- entry_type -->
10974
10975 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010976 <p>Used by DNG for better WB
10977adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010978 </td>
10979
10980 <td class="entry_units">
10981 </td>
10982
10983 <td class="entry_range">
10984 </td>
10985
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010986 <td class="entry_tags">
10987 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010988 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010989 </ul>
10990 </td>
10991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010992 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010993
10994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010995 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10996 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010997
10998
10999 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011000 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011001 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011002 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011003 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011004 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011005
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011006 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011007
11008
11009 </td> <!-- entry_type -->
11010
11011 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011012 <p>Maximum sensitivity that is implemented
11013purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011014 </td>
11015
11016 <td class="entry_units">
11017 </td>
11018
11019 <td class="entry_range">
11020 </td>
11021
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011022 <td class="entry_tags">
11023 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011024 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070011025 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011026 </ul>
11027 </td>
11028
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011029 </tr>
11030 <tr class="entries_header">
11031 <th class="th_details" colspan="5">Details</th>
11032 </tr>
11033 <tr class="entry_cont">
11034 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011035 <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 -080011036equal to this,<wbr/> all applied gain must be analog.<wbr/> For
11037values above this,<wbr/> it can be a mix of analog and
11038digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011039 </td>
11040 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011041
11042
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011043 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11044 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011045
11046
11047 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011048 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011049 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011050 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011052 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011053 <span class="entry_type_container">x</span>
11054
11055 <span class="entry_type_array">
11056 2
11057 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011058 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011059 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011060
11061
11062 </td> <!-- entry_type -->
11063
11064 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011065 <p>Estimation of sensor noise
11066characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011067 </td>
11068
11069 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011070 var(raw pixel value) = electrons * (baseGainFactor
11071 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
11072 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011073 </td>
11074
11075 <td class="entry_range">
11076 </td>
11077
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011078 <td class="entry_tags">
11079 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011080 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011081 </ul>
11082 </td>
11083
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011084 </tr>
11085 <tr class="entries_header">
11086 <th class="th_details" colspan="5">Details</th>
11087 </tr>
11088 <tr class="entry_cont">
11089 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011090 <p>A represents sensor read noise before analog
11091amplification; B represents noise from A/<wbr/>D conversion and
11092other circuits after amplification.<wbr/> Both noise sources
11093are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11094across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011095 </td>
11096 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011097
11098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011099 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11100 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011101
11102
11103 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011104 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011105 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011106 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011107 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011108 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011109
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011110 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011111
11112
11113 </td> <!-- entry_type -->
11114
11115 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011116 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011117image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011118screen in its native orientation.<wbr/> Also defines the
11119direction of rolling shutter readout,<wbr/> which is from top
11120to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011121 </td>
11122
11123 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011124 degrees clockwise rotation,<wbr/> only multiples of
11125 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011126 </td>
11127
11128 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011129 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011130 </td>
11131
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011132 <td class="entry_tags">
11133 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011134 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011135 </ul>
11136 </td>
11137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011138 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011139
11140
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011141 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11142 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011143
11144
11145 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011146 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011147 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011148 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011149 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011150 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011151
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011152 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011153
11154 <ul class="entry_type_enum">
11155 <li>
11156 <span class="entry_type_enum_name">DAYLIGHT</span>
11157 <span class="entry_type_enum_value">1</span>
11158 </li>
11159 <li>
11160 <span class="entry_type_enum_name">FLUORESCENT</span>
11161 <span class="entry_type_enum_value">2</span>
11162 </li>
11163 <li>
11164 <span class="entry_type_enum_name">TUNGSTEN</span>
11165 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011166 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011167 </li>
11168 <li>
11169 <span class="entry_type_enum_name">FLASH</span>
11170 <span class="entry_type_enum_value">4</span>
11171 </li>
11172 <li>
11173 <span class="entry_type_enum_name">FINE_WEATHER</span>
11174 <span class="entry_type_enum_value">9</span>
11175 </li>
11176 <li>
11177 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11178 <span class="entry_type_enum_value">10</span>
11179 </li>
11180 <li>
11181 <span class="entry_type_enum_name">SHADE</span>
11182 <span class="entry_type_enum_value">11</span>
11183 </li>
11184 <li>
11185 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11186 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011187 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011188 </li>
11189 <li>
11190 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11191 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011192 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011193 </li>
11194 <li>
11195 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11196 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011197 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011198 </li>
11199 <li>
11200 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11201 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011202 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011203 </li>
11204 <li>
11205 <span class="entry_type_enum_name">STANDARD_A</span>
11206 <span class="entry_type_enum_value">17</span>
11207 </li>
11208 <li>
11209 <span class="entry_type_enum_name">STANDARD_B</span>
11210 <span class="entry_type_enum_value">18</span>
11211 </li>
11212 <li>
11213 <span class="entry_type_enum_name">STANDARD_C</span>
11214 <span class="entry_type_enum_value">19</span>
11215 </li>
11216 <li>
11217 <span class="entry_type_enum_name">D55</span>
11218 <span class="entry_type_enum_value">20</span>
11219 </li>
11220 <li>
11221 <span class="entry_type_enum_name">D65</span>
11222 <span class="entry_type_enum_value">21</span>
11223 </li>
11224 <li>
11225 <span class="entry_type_enum_name">D75</span>
11226 <span class="entry_type_enum_value">22</span>
11227 </li>
11228 <li>
11229 <span class="entry_type_enum_name">D50</span>
11230 <span class="entry_type_enum_value">23</span>
11231 </li>
11232 <li>
11233 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11234 <span class="entry_type_enum_value">24</span>
11235 </li>
11236 </ul>
11237
11238 </td> <!-- entry_type -->
11239
11240 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011241 <p>Light source used to define transform
112421</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011243 </td>
11244
11245 <td class="entry_units">
11246 </td>
11247
11248 <td class="entry_range">
11249 </td>
11250
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011251 <td class="entry_tags">
11252 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011253 <li><a href="#tag_DNG">DNG</a></li>
11254 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011255 </ul>
11256 </td>
11257
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011258 </tr>
11259 <tr class="entries_header">
11260 <th class="th_details" colspan="5">Details</th>
11261 </tr>
11262 <tr class="entry_cont">
11263 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011264 <p>[EXIF LightSource tag] Must all these be
11265supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011266 </td>
11267 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011268
11269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011270 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11271 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011272
11273
11274 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011275 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011276 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011277 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011278 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011279 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011280
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011281 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011282
11283
11284 </td> <!-- entry_type -->
11285
11286 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011287 <p>Light source used to define transform
112882</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011289 </td>
11290
11291 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011292 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011293 </td>
11294
11295 <td class="entry_range">
11296 </td>
11297
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011298 <td class="entry_tags">
11299 </td>
11300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011301 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011302
11303
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011304 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11305 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011306
11307
11308
11309 <!-- end of kind -->
11310 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011311 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011312
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011313 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011314 <tr>
11315 <th class="th_name">Property Name</th>
11316 <th class="th_type">Type</th>
11317 <th class="th_description">Description</th>
11318 <th class="th_units">Units</th>
11319 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011320 <th class="th_tags">Tags</th>
11321 </tr>
11322 </thead>
11323
11324 <tbody>
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011336 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011337 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011338 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011339 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011340 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011341
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011342 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011343
11344
11345 </td> <!-- entry_type -->
11346
11347 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011348 <p>Duration each pixel is exposed to
11349light.<wbr/></p>
11350<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11351duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011352 </td>
11353
11354 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011355 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011356 </td>
11357
11358 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011359 <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 -080011360 </td>
11361
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011362 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011363 <ul class="entry_tags">
11364 <li><a href="#tag_V1">V1</a></li>
11365 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011366 </td>
11367
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011368 </tr>
11369 <tr class="entries_header">
11370 <th class="th_details" colspan="5">Details</th>
11371 </tr>
11372 <tr class="entry_cont">
11373 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011374 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011375 </td>
11376 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011377
11378
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011379 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11380 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011381
11382
11383 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011384 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011385 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011386 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011388 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011389
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011390 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011391
11392
11393 </td> <!-- entry_type -->
11394
11395 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011396 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011397start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011398 </td>
11399
11400 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011401 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011402 </td>
11403
11404 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011405 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11406android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11407is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011408 </td>
11409
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011410 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011411 <ul class="entry_tags">
11412 <li><a href="#tag_V1">V1</a></li>
11413 <li><a href="#tag_BC">BC</a></li>
11414 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011415 </td>
11416
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011417 </tr>
11418 <tr class="entries_header">
11419 <th class="th_details" colspan="5">Details</th>
11420 </tr>
11421 <tr class="entry_cont">
11422 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011423 <p>The maximum frame rate that can be supported by a camera subsystem is
11424a function of many factors:</p>
11425<ul>
11426<li>Requested resolutions of output image streams</li>
11427<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11428<li>The bandwidth of the imager interface</li>
11429<li>The bandwidth of the various ISP processing blocks</li>
11430</ul>
11431<p>Since these factors can vary greatly between different ISPs and
11432sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11433restrictions with as simple a model as possible.<wbr/></p>
11434<p>The model presented has the following characteristics:</p>
11435<ul>
11436<li>The image sensor is always configured to output the smallest
11437resolution possible given the application's requested output stream
11438sizes.<wbr/> The smallest resolution is defined as being at least as large
11439as the largest requested output stream size; the camera pipeline must
11440never digitally upsample sensor data when the crop region covers the
11441whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11442resolutions are configured,<wbr/> the sensor can provide a higher frame
11443rate.<wbr/></li>
11444<li>Since any request may use any or all the currently configured
11445output streams,<wbr/> the sensor and ISP must be configured to support
11446scaling a single capture to all the streams at the same time.<wbr/> This
11447means the camera pipeline must be ready to produce the largest
11448requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11449frame rate of a given configured stream set is governed only by the
11450largest requested stream resolution.<wbr/></li>
11451<li>Using more than one output stream in a request does not affect the
11452frame duration.<wbr/></li>
11453<li>JPEG streams act like processed YUV streams in requests for which
11454they are not included; in requests in which they are directly
11455referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11456JPEG stream requires the underlying YUV data to always be ready for
11457use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11458frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11459<li>The JPEG processor can run concurrently to the rest of the camera
11460pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11461</ul>
11462<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11463is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11464These are used to determine the maximum frame rate /<wbr/> minimum frame
11465duration that is possible for a given stream configuration.<wbr/></p>
11466<p>Specifically,<wbr/> the application can use the following rules to
11467determine the minimum frame duration it can request from the HAL
11468device:</p>
11469<ol>
11470<li>Given the application's currently configured set of output
11471streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11472<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11473<code>SP</code>.<wbr/></li>
11474<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11475count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11476<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11477<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
11478no exact match for <code>RP == RJ</code> (in particular there isn't an available
11479processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11480to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11481there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11482the processed resolution closest to <code>RJ</code>.<wbr/></li>
11483<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
11484no exact match for <code>RR == RP</code> (in particular there isn't an available
11485raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11486or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11487there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11488the raw resolution closest to <code>RP</code>.<wbr/></li>
11489<li>Look up the matching minimum frame durations in the property lists
11490<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11491<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11492<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11493minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11494<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11495supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11496<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11497supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11498<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11499the application,<wbr/> then the HAL will have to delay JPEG-using requests
11500whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11501This will happen whenever a JPEG-using request starts capture less
11502than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11503supported frame duration will vary between the values calculated in
11504#6 and #7.<wbr/></li>
11505</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011506 </td>
11507 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011508
11509
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011510 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11511 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011512
11513
11514 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011515 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011516 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011517 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011518 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011519 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011520
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011521 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011522
11523
11524 </td> <!-- entry_type -->
11525
11526 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011527 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011528implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011529below 'maximum analog sensitivity'.<wbr/></p>
11530<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11531gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011532 </td>
11533
11534 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011535 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011536 </td>
11537
11538 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011539 <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 -080011540 </td>
11541
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011542 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011543 <ul class="entry_tags">
11544 <li><a href="#tag_V1">V1</a></li>
11545 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011546 </td>
11547
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011548 </tr>
11549 <tr class="entries_header">
11550 <th class="th_details" colspan="5">Details</th>
11551 </tr>
11552 <tr class="entry_cont">
11553 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011554 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011555 </td>
11556 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011557
11558
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011559 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11560 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011561
11562
11563 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011564 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011565 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011566 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011567 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011568 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011569
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011570 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011571
11572
11573 </td> <!-- entry_type -->
11574
11575 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011576 <p>Time at start of exposure of first
11577row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011578 </td>
11579
11580 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011581 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011582 </td>
11583
11584 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011585 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011586 </td>
11587
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011588 <td class="entry_tags">
11589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011591 </ul>
11592 </td>
11593
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011594 </tr>
11595 <tr class="entries_header">
11596 <th class="th_details" colspan="5">Details</th>
11597 </tr>
11598 <tr class="entry_cont">
11599 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011600 <p>Monotonic,<wbr/> should be synced to other timestamps in
11601system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011602 </td>
11603 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011604
11605
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011606 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11607 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011608
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011609
11610 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011611 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011612 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011613 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011614 <td class="entry_type">
11615 <span class="entry_type_name">float</span>
11616
11617 <span class="entry_type_visibility"> [public]</span>
11618
11619
11620 </td> <!-- entry_type -->
11621
11622 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011623 <p>The temperature of the sensor,<wbr/> sampled at the time
11624exposure began for this frame.<wbr/></p>
11625<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11626somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011627 </td>
11628
11629 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011630 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011631 </td>
11632
11633 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011634 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011635 </td>
11636
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011637 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011638 <ul class="entry_tags">
11639 <li><a href="#tag_FULL">FULL</a></li>
11640 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011641 </td>
11642
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011643 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011644
11645
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011646 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11647 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011648
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011649
11650
11651 <!-- end of kind -->
11652 </tbody>
11653
11654 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011655 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011656
11657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011658 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011659
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011660 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011661 <tr>
11662 <th class="th_name">Property Name</th>
11663 <th class="th_type">Type</th>
11664 <th class="th_description">Description</th>
11665 <th class="th_units">Units</th>
11666 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011667 <th class="th_tags">Tags</th>
11668 </tr>
11669 </thead>
11670
11671 <tbody>
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682 <tr class="entry" id="controls_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080011683 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011684 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011685 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011686 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011687 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011688
Zhijun He2f86a212014-01-15 10:34:02 -080011689 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011690
11691 <ul class="entry_type_enum">
11692 <li>
11693 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011694 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011695 </li>
11696 <li>
11697 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011698 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor raw output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011699 </li>
11700 <li>
11701 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011702 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011703 </li>
11704 </ul>
11705
11706 </td> <!-- entry_type -->
11707
11708 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011709 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080011710to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011711 </td>
11712
11713 <td class="entry_units">
11714 </td>
11715
11716 <td class="entry_range">
11717 </td>
11718
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011719 <td class="entry_tags">
11720 </td>
11721
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011722 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080011723 <tr class="entries_header">
11724 <th class="th_details" colspan="5">Details</th>
11725 </tr>
11726 <tr class="entry_cont">
11727 <td class="entry_details" colspan="5">
11728 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
11729camera device,<wbr/> and an identity lens shading map data will be provided
11730if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
11731shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
11732the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
11733shown below:</p>
11734<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11735 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11736 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11737 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11738 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11739 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
11740</code></pre>
11741<p>When set to other modes,<wbr/> lens shading correction will be applied by the
11742camera device.<wbr/> Applications can request lens shading map data by setting
11743<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
11744lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
11745by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
11746 </td>
11747 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011748
11749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011750 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11751 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011752
11753
11754 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011755 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011756 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011757 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011758 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011759 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011760
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011761 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011762
11763
11764 </td> <!-- entry_type -->
11765
11766 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011767 <p>Control the amount of shading correction
11768applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011769 </td>
11770
11771 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011772 unitless: 1-10; 10 is full shading
11773 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011774 </td>
11775
11776 <td class="entry_range">
11777 </td>
11778
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011779 <td class="entry_tags">
11780 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011781 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011782 </ul>
11783 </td>
11784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011785 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011786
11787
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011788 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11789 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011790
11791
11792
11793 <!-- end of kind -->
11794 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011795 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011796
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011797 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011798 <tr>
11799 <th class="th_name">Property Name</th>
11800 <th class="th_type">Type</th>
11801 <th class="th_description">Description</th>
11802 <th class="th_units">Units</th>
11803 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011804 <th class="th_tags">Tags</th>
11805 </tr>
11806 </thead>
11807
11808 <tbody>
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819 <tr class="entry" id="dynamic_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080011820 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011821 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011822 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011823 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011824 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011825
Zhijun He2f86a212014-01-15 10:34:02 -080011826 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011827
11828 <ul class="entry_type_enum">
11829 <li>
11830 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011831 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011832 </li>
11833 <li>
11834 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011835 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor raw output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011836 </li>
11837 <li>
11838 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011839 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011840 </li>
11841 </ul>
11842
11843 </td> <!-- entry_type -->
11844
11845 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011846 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080011847to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011848 </td>
11849
11850 <td class="entry_units">
11851 </td>
11852
11853 <td class="entry_range">
11854 </td>
11855
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011856 <td class="entry_tags">
11857 </td>
11858
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011859 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080011860 <tr class="entries_header">
11861 <th class="th_details" colspan="5">Details</th>
11862 </tr>
11863 <tr class="entry_cont">
11864 <td class="entry_details" colspan="5">
11865 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
11866camera device,<wbr/> and an identity lens shading map data will be provided
11867if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
11868shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
11869the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
11870shown below:</p>
11871<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11872 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11873 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11874 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11875 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11876 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
11877</code></pre>
11878<p>When set to other modes,<wbr/> lens shading correction will be applied by the
11879camera device.<wbr/> Applications can request lens shading map data by setting
11880<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
11881lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
11882by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
11883 </td>
11884 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011885
11886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011887 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11888 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011889
11890
11891
11892 <!-- end of kind -->
11893 </tbody>
11894
11895 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011896 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011897
11898
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011899 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011900
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011901 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011902 <tr>
11903 <th class="th_name">Property Name</th>
11904 <th class="th_type">Type</th>
11905 <th class="th_description">Description</th>
11906 <th class="th_units">Units</th>
11907 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011908 <th class="th_tags">Tags</th>
11909 </tr>
11910 </thead>
11911
11912 <tbody>
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011924 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011925 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011926 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011927 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011928 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011930 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011931
11932 <ul class="entry_type_enum">
11933 <li>
11934 <span class="entry_type_enum_name">OFF</span>
11935 </li>
11936 <li>
11937 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011938 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11939only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011940 </li>
11941 <li>
11942 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011943 <span class="entry_type_enum_notes"><p>Optional Return all face
11944metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011945 </li>
11946 </ul>
11947
11948 </td> <!-- entry_type -->
11949
11950 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011951 <p>State of the face detector
11952unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011953 </td>
11954
11955 <td class="entry_units">
11956 </td>
11957
11958 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011959 <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 -080011960 </td>
11961
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011962 <td class="entry_tags">
11963 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011964 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011965 </ul>
11966 </td>
11967
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011968 </tr>
11969 <tr class="entries_header">
11970 <th class="th_details" colspan="5">Details</th>
11971 </tr>
11972 <tr class="entry_cont">
11973 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011974 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011975should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011976fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011977<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 -080011978 </td>
11979 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011980
11981
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011982 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11983 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011984
11985
11986 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011987 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011988 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011989 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011990 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011991 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011992
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011993 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011994
11995 <ul class="entry_type_enum">
11996 <li>
11997 <span class="entry_type_enum_name">OFF</span>
11998 </li>
11999 <li>
12000 <span class="entry_type_enum_name">ON</span>
12001 </li>
12002 </ul>
12003
12004 </td> <!-- entry_type -->
12005
12006 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012007 <p>Operating mode for histogram
12008generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012009 </td>
12010
12011 <td class="entry_units">
12012 </td>
12013
12014 <td class="entry_range">
12015 </td>
12016
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012017 <td class="entry_tags">
12018 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012019 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012020 </ul>
12021 </td>
12022
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012023 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012024
12025
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012026 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12027 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012028
12029
12030 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012031 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012032 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012033 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012034 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012035 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012036
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012037 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012038
12039 <ul class="entry_type_enum">
12040 <li>
12041 <span class="entry_type_enum_name">OFF</span>
12042 </li>
12043 <li>
12044 <span class="entry_type_enum_name">ON</span>
12045 </li>
12046 </ul>
12047
12048 </td> <!-- entry_type -->
12049
12050 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012051 <p>Operating mode for sharpness map
12052generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012053 </td>
12054
12055 <td class="entry_units">
12056 </td>
12057
12058 <td class="entry_range">
12059 </td>
12060
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012061 <td class="entry_tags">
12062 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012063 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012064 </ul>
12065 </td>
12066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012067 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012068
12069
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012070 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12071 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012072
Zhijun He69fc0ea2013-07-17 09:42:58 -070012073
12074 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012075 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012076 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012077 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012078 <td class="entry_type">
12079 <span class="entry_type_name entry_type_name_enum">byte</span>
12080
12081 <span class="entry_type_visibility"> [public]</span>
12082
12083 <ul class="entry_type_enum">
12084 <li>
12085 <span class="entry_type_enum_name">OFF</span>
12086 </li>
12087 <li>
12088 <span class="entry_type_enum_name">ON</span>
12089 </li>
12090 </ul>
12091
12092 </td> <!-- entry_type -->
12093
12094 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012095 <p>Whether the HAL needs to output the lens
12096shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012097 </td>
12098
12099 <td class="entry_units">
12100 </td>
12101
12102 <td class="entry_range">
12103 </td>
12104
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012105 <td class="entry_tags">
12106 </td>
12107
12108 </tr>
12109 <tr class="entries_header">
12110 <th class="th_details" colspan="5">Details</th>
12111 </tr>
12112 <tr class="entry_cont">
12113 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012114 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012115<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 -080012116the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012117 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012118 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012119
12120
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012121 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12122 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012123
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012124
12125
12126 <!-- end of kind -->
12127 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012128 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012129
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012130 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012131 <tr>
12132 <th class="th_name">Property Name</th>
12133 <th class="th_type">Type</th>
12134 <th class="th_description">Description</th>
12135 <th class="th_units">Units</th>
12136 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012137 <th class="th_tags">Tags</th>
12138 </tr>
12139 </thead>
12140
12141 <tbody>
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012155 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012156 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012157 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012158 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012159 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012160 <span class="entry_type_container">x</span>
12161
12162 <span class="entry_type_array">
12163 n
12164 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012165 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012166 <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 -080012167
12168
12169 </td> <!-- entry_type -->
12170
12171 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012172 <p>Which face detection modes are available,<wbr/>
12173if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012174 </td>
12175
12176 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012177 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012178 OFF
12179 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012180 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012181 </td>
12182
12183 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012184 </td>
12185
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012186 <td class="entry_tags">
12187 </td>
12188
12189 </tr>
12190 <tr class="entries_header">
12191 <th class="th_details" colspan="5">Details</th>
12192 </tr>
12193 <tr class="entry_cont">
12194 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012195 <p>OFF means face detection is disabled,<wbr/> it must
12196be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012197<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012198<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12199<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012200<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012201<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12202<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012203 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012204 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012205
12206
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012207 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12208 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012209
12210
12211 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012212 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012213 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012214 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012215 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012216 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012217
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012218 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012219
12220
12221 </td> <!-- entry_type -->
12222
12223 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012224 <p>Number of histogram buckets
12225supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012226 </td>
12227
12228 <td class="entry_units">
12229 </td>
12230
12231 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012232 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012233 </td>
12234
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012235 <td class="entry_tags">
12236 </td>
12237
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012238 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012239
12240
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012241 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12242 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012243
12244
12245 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012246 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012247 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012248 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012250 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012251
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012252 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012253
12254
12255 </td> <!-- entry_type -->
12256
12257 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012258 <p>Maximum number of simultaneously detectable
12259faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012260 </td>
12261
12262 <td class="entry_units">
12263 </td>
12264
12265 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012266 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012267modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012268 </td>
12269
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012270 <td class="entry_tags">
12271 </td>
12272
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012273 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012274
12275
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012276 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12277 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012278
12279
12280 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012281 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012282 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012283 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012284 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012285 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012286
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012287 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012288
12289
12290 </td> <!-- entry_type -->
12291
12292 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012293 <p>Maximum value possible for a histogram
12294bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012295 </td>
12296
12297 <td class="entry_units">
12298 </td>
12299
12300 <td class="entry_range">
12301 </td>
12302
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012303 <td class="entry_tags">
12304 </td>
12305
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012306 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012307
12308
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012309 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12310 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012311
12312
12313 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012314 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012315 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012316 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012317 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012318 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012319
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012320 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012321
12322
12323 </td> <!-- entry_type -->
12324
12325 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012326 <p>Maximum value possible for a sharpness map
12327region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012328 </td>
12329
12330 <td class="entry_units">
12331 </td>
12332
12333 <td class="entry_range">
12334 </td>
12335
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012336 <td class="entry_tags">
12337 </td>
12338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012339 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012340
12341
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012342 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12343 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012344
12345
12346 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012347 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012348 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012349 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012350 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012351 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012352 <span class="entry_type_container">x</span>
12353
12354 <span class="entry_type_array">
12355 2
12356 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012357 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012358 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012359
12360
12361 </td> <!-- entry_type -->
12362
12363 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012364 <p>Dimensions of the sharpness
12365map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012366 </td>
12367
12368 <td class="entry_units">
12369 </td>
12370
12371 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012372 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012373 </td>
12374
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012375 <td class="entry_tags">
12376 </td>
12377
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012378 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012379
12380
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012381 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12382 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012383
12384
12385
12386
12387
12388
12389 <!-- end of kind -->
12390 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012391 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012392
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012393 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012394 <tr>
12395 <th class="th_name">Property Name</th>
12396 <th class="th_type">Type</th>
12397 <th class="th_description">Description</th>
12398 <th class="th_units">Units</th>
12399 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012400 <th class="th_tags">Tags</th>
12401 </tr>
12402 </thead>
12403
12404 <tbody>
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012416 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012417 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012418 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012419 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012420 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012421
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012422 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012423
12424 <ul class="entry_type_enum">
12425 <li>
12426 <span class="entry_type_enum_name">OFF</span>
12427 </li>
12428 <li>
12429 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012430 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12431only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012432 </li>
12433 <li>
12434 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012435 <span class="entry_type_enum_notes"><p>Optional Return all face
12436metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012437 </li>
12438 </ul>
12439
12440 </td> <!-- entry_type -->
12441
12442 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012443 <p>State of the face detector
12444unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012445 </td>
12446
12447 <td class="entry_units">
12448 </td>
12449
12450 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012451 <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 -080012452 </td>
12453
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012454 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012455 <ul class="entry_tags">
12456 <li><a href="#tag_BC">BC</a></li>
12457 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012458 </td>
12459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012460 </tr>
12461 <tr class="entries_header">
12462 <th class="th_details" colspan="5">Details</th>
12463 </tr>
12464 <tr class="entry_cont">
12465 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012466 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012467should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012468fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012469<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 -080012470 </td>
12471 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012472
12473
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012474 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12475 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012476
12477
12478 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012479 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012480 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012481 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012482 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012483 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012484 <span class="entry_type_container">x</span>
12485
12486 <span class="entry_type_array">
12487 n
12488 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012489 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012490
12491
12492 </td> <!-- entry_type -->
12493
12494 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012495 <p>List of unique IDs for detected
12496faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012497 </td>
12498
12499 <td class="entry_units">
12500 </td>
12501
12502 <td class="entry_range">
12503 </td>
12504
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012505 <td class="entry_tags">
12506 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012507 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012508 </ul>
12509 </td>
12510
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012511 </tr>
12512 <tr class="entries_header">
12513 <th class="th_details" colspan="5">Details</th>
12514 </tr>
12515 <tr class="entry_cont">
12516 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012517 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012518 </td>
12519 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012520
12521
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012522 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12523 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012524
12525
12526 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012527 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012528 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012529 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012530 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012531 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012532 <span class="entry_type_container">x</span>
12533
12534 <span class="entry_type_array">
12535 n x 6
12536 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012537 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012538 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012539
12540
12541 </td> <!-- entry_type -->
12542
12543 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012544 <p>List of landmarks for detected
12545faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012546 </td>
12547
12548 <td class="entry_units">
12549 </td>
12550
12551 <td class="entry_range">
12552 </td>
12553
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012554 <td class="entry_tags">
12555 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012556 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012557 </ul>
12558 </td>
12559
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012560 </tr>
12561 <tr class="entries_header">
12562 <th class="th_details" colspan="5">Details</th>
12563 </tr>
12564 <tr class="entry_cont">
12565 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012566 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012567 </td>
12568 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012569
12570
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012571 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12572 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012573
12574
12575 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012576 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012577 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012578 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012579 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012580 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012581 <span class="entry_type_container">x</span>
12582
12583 <span class="entry_type_array">
12584 n x 4
12585 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012586 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012587 <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 -080012588
12589
12590 </td> <!-- entry_type -->
12591
12592 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012593 <p>List of the bounding rectangles for detected
12594faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012595 </td>
12596
12597 <td class="entry_units">
12598 </td>
12599
12600 <td class="entry_range">
12601 </td>
12602
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012603 <td class="entry_tags">
12604 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012605 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012606 </ul>
12607 </td>
12608
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012609 </tr>
12610 <tr class="entries_header">
12611 <th class="th_details" colspan="5">Details</th>
12612 </tr>
12613 <tr class="entry_cont">
12614 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012615 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012616 </td>
12617 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012618
12619
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012620 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12621 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012622
12623
12624 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012625 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012626 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012627 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012628 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012629 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012630 <span class="entry_type_container">x</span>
12631
12632 <span class="entry_type_array">
12633 n
12634 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012635 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012636
12637
12638 </td> <!-- entry_type -->
12639
12640 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012641 <p>List of the face confidence scores for
12642detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012643 </td>
12644
12645 <td class="entry_units">
12646 </td>
12647
12648 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012649 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012650 </td>
12651
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012652 <td class="entry_tags">
12653 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012654 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012655 </ul>
12656 </td>
12657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012658 </tr>
12659 <tr class="entries_header">
12660 <th class="th_details" colspan="5">Details</th>
12661 </tr>
12662 <tr class="entry_cont">
12663 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012664 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12665meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012666 </td>
12667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012668
12669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012670 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12671 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012672
12673
12674 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012675 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012676 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012677 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012679 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012680 <span class="entry_type_container">x</span>
12681
12682 <span class="entry_type_array">
12683 n x 3
12684 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012685 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012686 <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 -080012687
12688
12689 </td> <!-- entry_type -->
12690
12691 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012692 <p>A 3-channel histogram based on the raw
12693sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012694 </td>
12695
12696 <td class="entry_units">
12697 </td>
12698
12699 <td class="entry_range">
12700 </td>
12701
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012702 <td class="entry_tags">
12703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012704 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012705 </ul>
12706 </td>
12707
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012708 </tr>
12709 <tr class="entries_header">
12710 <th class="th_details" colspan="5">Details</th>
12711 </tr>
12712 <tr class="entry_cont">
12713 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012714 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012715(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 -080012716(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12717supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012718 </td>
12719 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012720
12721
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012722 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12723 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012724
12725
12726 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012727 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012728 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012729 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012730 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012731 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012732
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012733 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012734
12735 <ul class="entry_type_enum">
12736 <li>
12737 <span class="entry_type_enum_name">OFF</span>
12738 </li>
12739 <li>
12740 <span class="entry_type_enum_name">ON</span>
12741 </li>
12742 </ul>
12743
12744 </td> <!-- entry_type -->
12745
12746 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012747 <p>Operating mode for histogram
12748generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012749 </td>
12750
12751 <td class="entry_units">
12752 </td>
12753
12754 <td class="entry_range">
12755 </td>
12756
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012757 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012758 <ul class="entry_tags">
12759 <li><a href="#tag_V1">V1</a></li>
12760 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012761 </td>
12762
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012763 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012764
12765
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012766 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12767 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012768
12769
12770 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012771 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012772 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012773 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012774 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012775 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012776 <span class="entry_type_container">x</span>
12777
12778 <span class="entry_type_array">
12779 n x m x 3
12780 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012781 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012782 <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 -080012783
12784
12785 </td> <!-- entry_type -->
12786
12787 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012788 <p>A 3-channel sharpness map,<wbr/> based on the raw
12789sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012790 </td>
12791
12792 <td class="entry_units">
12793 </td>
12794
12795 <td class="entry_range">
12796 </td>
12797
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012798 <td class="entry_tags">
12799 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012800 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012801 </ul>
12802 </td>
12803
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012804 </tr>
12805 <tr class="entries_header">
12806 <th class="th_details" colspan="5">Details</th>
12807 </tr>
12808 <tr class="entry_cont">
12809 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012810 <p>If only a monochrome sharpness map is supported,<wbr/>
12811all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012812 </td>
12813 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012814
12815
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012816 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12817 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012818
12819
12820 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012821 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012822 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012823 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012824 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012825 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012826
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012827 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012828
12829 <ul class="entry_type_enum">
12830 <li>
12831 <span class="entry_type_enum_name">OFF</span>
12832 </li>
12833 <li>
12834 <span class="entry_type_enum_name">ON</span>
12835 </li>
12836 </ul>
12837
12838 </td> <!-- entry_type -->
12839
12840 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012841 <p>Operating mode for sharpness map
12842generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012843 </td>
12844
12845 <td class="entry_units">
12846 </td>
12847
12848 <td class="entry_range">
12849 </td>
12850
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012851 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012852 <ul class="entry_tags">
12853 <li><a href="#tag_V1">V1</a></li>
12854 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012855 </td>
12856
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012857 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012858
12859
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012860 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12861 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012862
Zhijun He69fc0ea2013-07-17 09:42:58 -070012863
12864 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012865 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012866 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012867 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012868 <td class="entry_type">
12869 <span class="entry_type_name">float</span>
12870 <span class="entry_type_container">x</span>
12871
12872 <span class="entry_type_array">
12873 4 x n x m
12874 </span>
12875 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012876 <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 -070012877
12878
12879 </td> <!-- entry_type -->
12880
12881 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012882 <p>The shading map is a low-resolution floating-point map
12883that lists the coefficients used to correct for vignetting,<wbr/> for each
12884Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012885 </td>
12886
12887 <td class="entry_units">
12888 </td>
12889
12890 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012891 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012892 </td>
12893
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012894 <td class="entry_tags">
12895 </td>
12896
12897 </tr>
12898 <tr class="entries_header">
12899 <th class="th_details" colspan="5">Details</th>
12900 </tr>
12901 <tr class="entry_cont">
12902 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012903 <p>The least shaded section of the image should have a gain factor
12904of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012905<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 -080012906must take into account the colorCorrection settings.<wbr/></p>
12907<p>The shading map is for the entire active pixel array,<wbr/> and is not
12908affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012909entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012910pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12911map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12912(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12913pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12914The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12915<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12916channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12917The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012918is 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 -080012919<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12920and must be smaller than 64x64.<wbr/></p>
12921<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012922<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12923<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012924[ 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/>
12925 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/>
12926 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/>
12927 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/>
12928 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/>
12929 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 -080012930</code></pre>
12931<p>The low-resolution scaling map images for each channel are
12932(displayed using nearest-neighbor interpolation):</p>
12933<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12934<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12935<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12936<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012937<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012938image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012939<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 -070012940 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012941 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012942
12943
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012944 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12945 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012946
12947
12948 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012949 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012950 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012951 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012952 <td class="entry_type">
12953 <span class="entry_type_name">float</span>
12954 <span class="entry_type_container">x</span>
12955
12956 <span class="entry_type_array">
12957 4
12958 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012959 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012960 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012961
12962
12963 </td> <!-- entry_type -->
12964
12965 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012966 <p>The best-fit color channel gains calculated
12967by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012968 </td>
12969
12970 <td class="entry_units">
12971 </td>
12972
12973 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012974 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012975 </td>
12976
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012977 <td class="entry_tags">
12978 </td>
12979
12980 </tr>
12981 <tr class="entries_header">
12982 <th class="th_details" colspan="5">Details</th>
12983 </tr>
12984 <tr class="entry_cont">
12985 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012986 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012987since statistics processing on data from a new frame
12988typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012989applied to that frame.<wbr/></p>
12990<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012991see <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 -080012992<p>This value should always be calculated by the AWB block,<wbr/>
12993regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012994 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012995 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012996
12997
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012998 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12999 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013000
13001
13002 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013003 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013004 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013005 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013006 <td class="entry_type">
13007 <span class="entry_type_name">rational</span>
13008 <span class="entry_type_container">x</span>
13009
13010 <span class="entry_type_array">
13011 3 x 3
13012 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013013 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013014 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013015
13016
13017 </td> <!-- entry_type -->
13018
13019 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013020 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013021calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080013022output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013023 </td>
13024
13025 <td class="entry_units">
13026 </td>
13027
13028 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013029 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013030 </td>
13031
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013032 <td class="entry_tags">
13033 </td>
13034
13035 </tr>
13036 <tr class="entries_header">
13037 <th class="th_details" colspan="5">Details</th>
13038 </tr>
13039 <tr class="entry_cont">
13040 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013041 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013042statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080013043for the next frame.<wbr/> These are the values the HAL believes
13044are the best fit for the current output frame.<wbr/> This may
13045be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013046statistics processing on data from a new frame typically
13047completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080013048that frame.<wbr/></p>
13049<p>These estimates must be provided for all frames,<wbr/> even if
13050capture settings and color transforms are set by the application.<wbr/></p>
13051<p>This value should always be calculated by the AWB block,<wbr/>
13052regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013053 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013054 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013055
13056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013057 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13058 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013059
13060
13061 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013062 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013063 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013064 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013065 <td class="entry_type">
13066 <span class="entry_type_name entry_type_name_enum">byte</span>
13067
13068 <span class="entry_type_visibility"> [public]</span>
13069
13070 <ul class="entry_type_enum">
13071 <li>
13072 <span class="entry_type_enum_name">NONE</span>
13073 </li>
13074 <li>
13075 <span class="entry_type_enum_name">50HZ</span>
13076 </li>
13077 <li>
13078 <span class="entry_type_enum_name">60HZ</span>
13079 </li>
13080 </ul>
13081
13082 </td> <!-- entry_type -->
13083
13084 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013085 <p>The HAL estimated scene illumination lighting
13086frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013087 </td>
13088
13089 <td class="entry_units">
13090 </td>
13091
13092 <td class="entry_range">
13093 </td>
13094
Zhijun He69fc0ea2013-07-17 09:42:58 -070013095 <td class="entry_tags">
13096 </td>
13097
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013098 </tr>
13099 <tr class="entries_header">
13100 <th class="th_details" colspan="5">Details</th>
13101 </tr>
13102 <tr class="entry_cont">
13103 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013104 <p>Report NONE if there doesn't appear to be flickering
13105illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013106 </td>
13107 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013108
13109
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013110 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13111 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013112
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013113
13114
13115 <!-- end of kind -->
13116 </tbody>
13117
13118 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013119 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013120
13121
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013122 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013123
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013124 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013125 <tr>
13126 <th class="th_name">Property Name</th>
13127 <th class="th_type">Type</th>
13128 <th class="th_description">Description</th>
13129 <th class="th_units">Units</th>
13130 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013131 <th class="th_tags">Tags</th>
13132 </tr>
13133 </thead>
13134
13135 <tbody>
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013147 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013148 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013149 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013150 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013151 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013152 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013153
Zhijun He704d1282013-08-19 15:26:33 -070013154 <span class="entry_type_array">
13155 n x 2
13156 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013157 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013158 <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 -080013159
13160
13161 </td> <!-- entry_type -->
13162
13163 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013164 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
13165channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13166CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013167 </td>
13168
13169 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013170 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013171 </td>
13172
13173 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013174 <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 -080013175 </td>
13176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013177 <td class="entry_tags">
13178 </td>
13179
13180 </tr>
13181 <tr class="entries_header">
13182 <th class="th_details" colspan="5">Details</th>
13183 </tr>
13184 <tr class="entry_cont">
13185 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013186 <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 -080013187 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013188 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013189
13190
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013191 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13192 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013193
13194
13195 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013196 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013197 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013198 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013199 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013200 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013201 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013202
Zhijun He704d1282013-08-19 15:26:33 -070013203 <span class="entry_type_array">
13204 n x 2
13205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013207 <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 -080013208
13209
13210 </td> <!-- entry_type -->
13211
13212 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013213 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
13214channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13215CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013216 </td>
13217
13218 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013219 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013220 </td>
13221
13222 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013223 <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 -080013224 </td>
13225
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013226 <td class="entry_tags">
13227 </td>
13228
13229 </tr>
13230 <tr class="entries_header">
13231 <th class="th_details" colspan="5">Details</th>
13232 </tr>
13233 <tr class="entry_cont">
13234 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013235 <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 -080013236 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013237 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013238
13239
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013240 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13241 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013242
13243
13244 <tr class="entry" id="controls_android.tonemap.curveRed">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013245 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013246 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013247 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013248 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013249 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013250 <span class="entry_type_container">x</span>
13251
13252 <span class="entry_type_array">
13253 n x 2
13254 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013255 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013256 <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 -080013257
13258
13259 </td> <!-- entry_type -->
13260
13261 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013262 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
13263channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13264CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013265 </td>
13266
13267 <td class="entry_units">
13268 </td>
13269
13270 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013271 <p>0-1 on both input and output coordinates,<wbr/> normalized
13272as a floating-point value such that 0 == black and 1 == white.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013273 </td>
13274
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013275 <td class="entry_tags">
13276 <ul class="entry_tags">
13277 <li><a href="#tag_DNG">DNG</a></li>
13278 </ul>
13279 </td>
13280
13281 </tr>
13282 <tr class="entries_header">
13283 <th class="th_details" colspan="5">Details</th>
13284 </tr>
13285 <tr class="entry_cont">
13286 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013287 <p>Each channel's curve is defined by an array of control points:</p>
13288<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> =
13289 [ P0in,<wbr/> P0out,<wbr/> P1in,<wbr/> P1out,<wbr/> P2in,<wbr/> P2out,<wbr/> P3in,<wbr/> P3out,<wbr/> ...,<wbr/> PNin,<wbr/> PNout ]
132902 &lt;= N &lt;= <a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a></code></pre>
13291<p>These are sorted in order of increasing <code>Pin</code>; it is always
13292guaranteed that input values 0.<wbr/>0 and 1.<wbr/>0 are included in the list to
13293define a complete mapping.<wbr/> For input values between control points,<wbr/>
13294the camera device must linearly interpolate between the control
13295points.<wbr/></p>
13296<p>Each curve can have an independent number of points,<wbr/> and the number
13297of points can be less than max (that is,<wbr/> the request doesn't have to
13298always provide a curve with number of points equivalent to
13299<a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a>).<wbr/></p>
13300<p>A few examples,<wbr/> and their corresponding graphical mappings; these
13301only specify the red channel and the precision is limited to 4
13302digits,<wbr/> for conciseness.<wbr/></p>
13303<p>Linear mapping:</p>
13304<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
13305</code></pre>
13306<p><img alt="Linear mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/linear_tonemap.png"/></p>
13307<p>Invert mapping:</p>
13308<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 0 ]
13309</code></pre>
13310<p><img alt="Inverting mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/inverse_tonemap.png"/></p>
13311<p>Gamma 1/<wbr/>2.<wbr/>2 mapping,<wbr/> with 16 control points:</p>
13312<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13313 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2920,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4002,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4812,<wbr/>
13314 0.<wbr/>2667,<wbr/> 0.<wbr/>5484,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6069,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6594,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7072,<wbr/>
13315 0.<wbr/>5333,<wbr/> 0.<wbr/>7515,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7928,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8317,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8685,<wbr/>
13316 0.<wbr/>8000,<wbr/> 0.<wbr/>9035,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9370,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9691,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13317</code></pre>
13318<p><img alt="Gamma = 1/2.2 tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/gamma_tonemap.png"/></p>
13319<p>Standard sRGB gamma mapping,<wbr/> per IEC 61966-2-1:1999,<wbr/> with 16 control points:</p>
13320<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13321 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2864,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4007,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4845,<wbr/>
13322 0.<wbr/>2667,<wbr/> 0.<wbr/>5532,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6125,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6652,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7130,<wbr/>
13323 0.<wbr/>5333,<wbr/> 0.<wbr/>7569,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7977,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8360,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8721,<wbr/>
13324 0.<wbr/>8000,<wbr/> 0.<wbr/>9063,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9389,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9701,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13325</code></pre>
13326<p><img alt="sRGB tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png"/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013327 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013328 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013329
Igor Murashkin94e06c42014-01-13 16:51:17 -080013330 <tr class="entries_header">
13331 <th class="th_details" colspan="5">HAL Implementation Details</th>
13332 </tr>
13333 <tr class="entry_cont">
13334 <td class="entry_details" colspan="5">
13335 <p>For good quality of mapping,<wbr/> at least 128 control points are
13336preferred.<wbr/></p>
13337<p>A typical use case of this would be a gamma-1/<wbr/>2.<wbr/>2 curve,<wbr/> with as many
13338control points used as are available.<wbr/></p>
13339 </td>
13340 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013341
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013342 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13343 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013344
13345
13346 <tr class="entry" id="controls_android.tonemap.mode">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013347 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013348 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013349 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013350 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013351 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013352
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013353 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013354
13355 <ul class="entry_type_enum">
13356 <li>
13357 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013358 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
Igor Murashkin94e06c42014-01-13 16:51:17 -080013359android.<wbr/>tonemap.<wbr/>curve.<wbr/></p>
13360<p>All color enhancement and tonemapping must be disabled,<wbr/> except
13361for applying the tonemapping curve specified by
13362<a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>,<wbr/> or
13363<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>.<wbr/></p>
13364<p>Must not slow down frame rate relative to raw
13365sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013366 </li>
13367 <li>
13368 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013369 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13370<p>Should not slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013371 </li>
13372 <li>
13373 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013374 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13375<p>May slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013376 </li>
13377 </ul>
13378
13379 </td> <!-- entry_type -->
13380
13381 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013382 <p>High-level global contrast/<wbr/>gamma/<wbr/>tonemapping control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013383 </td>
13384
13385 <td class="entry_units">
13386 </td>
13387
13388 <td class="entry_range">
13389 </td>
13390
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013391 <td class="entry_tags">
13392 </td>
13393
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013394 </tr>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013395 <tr class="entries_header">
13396 <th class="th_details" colspan="5">Details</th>
13397 </tr>
13398 <tr class="entry_cont">
13399 <td class="entry_details" colspan="5">
13400 <p>When switching to an application-defined contrast curve by setting
13401<a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> to CONTRAST_<wbr/>CURVE,<wbr/> the curve is defined
13402per-channel with a set of <code>(in,<wbr/> out)</code> points that specify the
13403mapping from input high-bit-depth pixel value to the output
13404low-bit-depth value.<wbr/> Since the actual pixel ranges of both input
13405and output may change depending on the camera pipeline,<wbr/> the values
13406are specified by normalized floating-point numbers.<wbr/></p>
13407<p>More-complex color mapping operations such as 3D color look-up
13408tables,<wbr/> selective chroma enhancement,<wbr/> or other non-linear color
13409transforms will be disabled when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13410CONTRAST_<wbr/>CURVE.<wbr/></p>
13411<p>When using either FAST or HIGH_<wbr/>QUALITY,<wbr/> the camera device will
13412emit its own tonemap curve in <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/>
13413<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>,<wbr/> and <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>.<wbr/>
13414These values are always available,<wbr/> and as close as possible to the
13415actually used nonlinear/<wbr/>nonglobal transforms.<wbr/></p>
13416<p>If a request is sent with TRANSFORM_<wbr/>MATRIX with the camera device's
13417provided curve in FAST or HIGH_<wbr/>QUALITY,<wbr/> the image's tonemap will be
13418roughly the same.<wbr/></p>
13419 </td>
13420 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013421
13422
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013423 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13424 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013425
13426
13427
13428 <!-- end of kind -->
13429 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013430 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013431
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013432 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013433 <tr>
13434 <th class="th_name">Property Name</th>
13435 <th class="th_type">Type</th>
13436 <th class="th_description">Description</th>
13437 <th class="th_units">Units</th>
13438 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013439 <th class="th_tags">Tags</th>
13440 </tr>
13441 </thead>
13442
13443 <tbody>
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013455 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013456 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013457 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013459 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013460
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013461 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013462
13463
13464 </td> <!-- entry_type -->
13465
13466 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013467 <p>Maximum number of supported points in the
Igor Murashkin94e06c42014-01-13 16:51:17 -080013468tonemap curve that can be used for <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> or
13469<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>,<wbr/> or <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013470 </td>
13471
13472 <td class="entry_units">
13473 </td>
13474
13475 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013476 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013477 </td>
13478
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013479 <td class="entry_tags">
13480 </td>
13481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013482 </tr>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013483 <tr class="entries_header">
13484 <th class="th_details" colspan="5">Details</th>
13485 </tr>
13486 <tr class="entry_cont">
13487 <td class="entry_details" colspan="5">
13488 <p>If the actual number of points provided by the application (in
13489android.<wbr/>tonemap.<wbr/>curve*) is less than max,<wbr/> the camera device will
13490resample the curve to its internal representation,<wbr/> using linear
13491interpolation.<wbr/></p>
13492<p>The output curves in the result metadata may have a different number
13493of points than the input curves,<wbr/> and will represent the actual
13494hardware curves used as closely as possible when linearly interpolated.<wbr/></p>
13495 </td>
13496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013497
Igor Murashkin94e06c42014-01-13 16:51:17 -080013498 <tr class="entries_header">
13499 <th class="th_details" colspan="5">HAL Implementation Details</th>
13500 </tr>
13501 <tr class="entry_cont">
13502 <td class="entry_details" colspan="5">
13503 <p>This value must be at least 64.<wbr/> This should be at least 128.<wbr/></p>
13504 </td>
13505 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013506
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013507 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13508 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013509
13510
13511
13512 <!-- end of kind -->
13513 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013514 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013515
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013516 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013517 <tr>
13518 <th class="th_name">Property Name</th>
13519 <th class="th_type">Type</th>
13520 <th class="th_description">Description</th>
13521 <th class="th_units">Units</th>
13522 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013523 <th class="th_tags">Tags</th>
13524 </tr>
13525 </thead>
13526
13527 <tbody>
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013539 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013540 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013541 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013542 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013543 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013544 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013545
Zhijun He704d1282013-08-19 15:26:33 -070013546 <span class="entry_type_array">
13547 n x 2
13548 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013549 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013550 <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 -080013551
13552
13553 </td> <!-- entry_type -->
13554
13555 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013556 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
13557channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13558CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013559 </td>
13560
13561 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013562 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013563 </td>
13564
13565 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013566 <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 -080013567 </td>
13568
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013569 <td class="entry_tags">
13570 </td>
13571
13572 </tr>
13573 <tr class="entries_header">
13574 <th class="th_details" colspan="5">Details</th>
13575 </tr>
13576 <tr class="entry_cont">
13577 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013578 <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 -080013579 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013580 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013581
13582
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013583 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13584 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013585
13586
13587 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013588 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013589 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013590 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013591 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013592 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013593 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013594
Zhijun He704d1282013-08-19 15:26:33 -070013595 <span class="entry_type_array">
13596 n x 2
13597 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013598 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013599 <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 -080013600
13601
13602 </td> <!-- entry_type -->
13603
13604 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013605 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
13606channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13607CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013608 </td>
13609
13610 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013611 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013612 </td>
13613
13614 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013615 <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 -080013616 </td>
13617
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013618 <td class="entry_tags">
13619 </td>
13620
13621 </tr>
13622 <tr class="entries_header">
13623 <th class="th_details" colspan="5">Details</th>
13624 </tr>
13625 <tr class="entry_cont">
13626 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013627 <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 -080013628 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013629 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013630
13631
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013632 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13633 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013634
13635
13636 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013637 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013638 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013639 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013640 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013641 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013642 <span class="entry_type_container">x</span>
13643
13644 <span class="entry_type_array">
13645 n x 2
13646 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013647 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013648 <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 -080013649
13650
13651 </td> <!-- entry_type -->
13652
13653 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013654 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
13655channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13656CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013657 </td>
13658
13659 <td class="entry_units">
13660 </td>
13661
13662 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013663 <p>0-1 on both input and output coordinates,<wbr/> normalized
13664as a floating-point value such that 0 == black and 1 == white.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013665 </td>
13666
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013667 <td class="entry_tags">
13668 <ul class="entry_tags">
13669 <li><a href="#tag_DNG">DNG</a></li>
13670 </ul>
13671 </td>
13672
13673 </tr>
13674 <tr class="entries_header">
13675 <th class="th_details" colspan="5">Details</th>
13676 </tr>
13677 <tr class="entry_cont">
13678 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013679 <p>Each channel's curve is defined by an array of control points:</p>
13680<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> =
13681 [ P0in,<wbr/> P0out,<wbr/> P1in,<wbr/> P1out,<wbr/> P2in,<wbr/> P2out,<wbr/> P3in,<wbr/> P3out,<wbr/> ...,<wbr/> PNin,<wbr/> PNout ]
136822 &lt;= N &lt;= <a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a></code></pre>
13683<p>These are sorted in order of increasing <code>Pin</code>; it is always
13684guaranteed that input values 0.<wbr/>0 and 1.<wbr/>0 are included in the list to
13685define a complete mapping.<wbr/> For input values between control points,<wbr/>
13686the camera device must linearly interpolate between the control
13687points.<wbr/></p>
13688<p>Each curve can have an independent number of points,<wbr/> and the number
13689of points can be less than max (that is,<wbr/> the request doesn't have to
13690always provide a curve with number of points equivalent to
13691<a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a>).<wbr/></p>
13692<p>A few examples,<wbr/> and their corresponding graphical mappings; these
13693only specify the red channel and the precision is limited to 4
13694digits,<wbr/> for conciseness.<wbr/></p>
13695<p>Linear mapping:</p>
13696<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
13697</code></pre>
13698<p><img alt="Linear mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/linear_tonemap.png"/></p>
13699<p>Invert mapping:</p>
13700<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 0 ]
13701</code></pre>
13702<p><img alt="Inverting mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/inverse_tonemap.png"/></p>
13703<p>Gamma 1/<wbr/>2.<wbr/>2 mapping,<wbr/> with 16 control points:</p>
13704<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13705 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2920,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4002,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4812,<wbr/>
13706 0.<wbr/>2667,<wbr/> 0.<wbr/>5484,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6069,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6594,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7072,<wbr/>
13707 0.<wbr/>5333,<wbr/> 0.<wbr/>7515,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7928,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8317,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8685,<wbr/>
13708 0.<wbr/>8000,<wbr/> 0.<wbr/>9035,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9370,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9691,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13709</code></pre>
13710<p><img alt="Gamma = 1/2.2 tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/gamma_tonemap.png"/></p>
13711<p>Standard sRGB gamma mapping,<wbr/> per IEC 61966-2-1:1999,<wbr/> with 16 control points:</p>
13712<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13713 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2864,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4007,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4845,<wbr/>
13714 0.<wbr/>2667,<wbr/> 0.<wbr/>5532,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6125,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6652,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7130,<wbr/>
13715 0.<wbr/>5333,<wbr/> 0.<wbr/>7569,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7977,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8360,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8721,<wbr/>
13716 0.<wbr/>8000,<wbr/> 0.<wbr/>9063,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9389,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9701,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13717</code></pre>
13718<p><img alt="sRGB tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png"/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013719 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013720 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013721
Igor Murashkin94e06c42014-01-13 16:51:17 -080013722 <tr class="entries_header">
13723 <th class="th_details" colspan="5">HAL Implementation Details</th>
13724 </tr>
13725 <tr class="entry_cont">
13726 <td class="entry_details" colspan="5">
13727 <p>For good quality of mapping,<wbr/> at least 128 control points are
13728preferred.<wbr/></p>
13729<p>A typical use case of this would be a gamma-1/<wbr/>2.<wbr/>2 curve,<wbr/> with as many
13730control points used as are available.<wbr/></p>
13731 </td>
13732 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013733
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013734 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13735 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013736
13737
13738 <tr class="entry" id="dynamic_android.tonemap.mode">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013739 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013740 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013741 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013742 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013743 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013744
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013745 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013746
13747 <ul class="entry_type_enum">
13748 <li>
13749 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013750 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
Igor Murashkin94e06c42014-01-13 16:51:17 -080013751android.<wbr/>tonemap.<wbr/>curve.<wbr/></p>
13752<p>All color enhancement and tonemapping must be disabled,<wbr/> except
13753for applying the tonemapping curve specified by
13754<a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>,<wbr/> or
13755<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>.<wbr/></p>
13756<p>Must not slow down frame rate relative to raw
13757sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013758 </li>
13759 <li>
13760 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013761 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13762<p>Should not slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013763 </li>
13764 <li>
13765 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013766 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13767<p>May slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013768 </li>
13769 </ul>
13770
13771 </td> <!-- entry_type -->
13772
13773 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013774 <p>High-level global contrast/<wbr/>gamma/<wbr/>tonemapping control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013775 </td>
13776
13777 <td class="entry_units">
13778 </td>
13779
13780 <td class="entry_range">
13781 </td>
13782
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013783 <td class="entry_tags">
13784 </td>
13785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013786 </tr>
Igor Murashkin595f45b2014-01-17 17:27:15 -080013787 <tr class="entries_header">
13788 <th class="th_details" colspan="5">Details</th>
13789 </tr>
13790 <tr class="entry_cont">
13791 <td class="entry_details" colspan="5">
13792 <p>When switching to an application-defined contrast curve by setting
13793<a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> to CONTRAST_<wbr/>CURVE,<wbr/> the curve is defined
13794per-channel with a set of <code>(in,<wbr/> out)</code> points that specify the
13795mapping from input high-bit-depth pixel value to the output
13796low-bit-depth value.<wbr/> Since the actual pixel ranges of both input
13797and output may change depending on the camera pipeline,<wbr/> the values
13798are specified by normalized floating-point numbers.<wbr/></p>
13799<p>More-complex color mapping operations such as 3D color look-up
13800tables,<wbr/> selective chroma enhancement,<wbr/> or other non-linear color
13801transforms will be disabled when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13802CONTRAST_<wbr/>CURVE.<wbr/></p>
13803<p>When using either FAST or HIGH_<wbr/>QUALITY,<wbr/> the camera device will
13804emit its own tonemap curve in <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/>
13805<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>,<wbr/> and <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>.<wbr/>
13806These values are always available,<wbr/> and as close as possible to the
13807actually used nonlinear/<wbr/>nonglobal transforms.<wbr/></p>
13808<p>If a request is sent with TRANSFORM_<wbr/>MATRIX with the camera device's
13809provided curve in FAST or HIGH_<wbr/>QUALITY,<wbr/> the image's tonemap will be
13810roughly the same.<wbr/></p>
13811 </td>
13812 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013813
13814
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013815 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13816 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013817
13818
13819
13820 <!-- end of kind -->
13821 </tbody>
13822
13823 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013824 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013825
13826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013827 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013828
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013829 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013830 <tr>
13831 <th class="th_name">Property Name</th>
13832 <th class="th_type">Type</th>
13833 <th class="th_description">Description</th>
13834 <th class="th_units">Units</th>
13835 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013836 <th class="th_tags">Tags</th>
13837 </tr>
13838 </thead>
13839
13840 <tbody>
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013852 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013853 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013854 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013855 <td class="entry_type">
13856 <span class="entry_type_name entry_type_name_enum">byte</span>
13857
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013858 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013859
13860 <ul class="entry_type_enum">
13861 <li>
13862 <span class="entry_type_enum_name">OFF</span>
13863 </li>
13864 <li>
13865 <span class="entry_type_enum_name">ON</span>
13866 </li>
13867 </ul>
13868
13869 </td> <!-- entry_type -->
13870
13871 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013872 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013873that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013874Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013875disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013876any untrusted applications.<wbr/></p>
13877<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13878transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13879data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013880<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013881doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013882 </td>
13883
13884 <td class="entry_units">
13885 </td>
13886
13887 <td class="entry_range">
13888 </td>
13889
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013890 <td class="entry_tags">
13891 </td>
13892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013893 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013894
13895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013896 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13897 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013898
13899
13900
13901 <!-- end of kind -->
13902 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013903 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013904
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013905 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013906 <tr>
13907 <th class="th_name">Property Name</th>
13908 <th class="th_type">Type</th>
13909 <th class="th_description">Description</th>
13910 <th class="th_units">Units</th>
13911 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013912 <th class="th_tags">Tags</th>
13913 </tr>
13914 </thead>
13915
13916 <tbody>
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013928 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013929 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013930 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013931 <td class="entry_type">
13932 <span class="entry_type_name entry_type_name_enum">byte</span>
13933
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013934 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013935
13936 <ul class="entry_type_enum">
13937 <li>
13938 <span class="entry_type_enum_name">OFF</span>
13939 </li>
13940 <li>
13941 <span class="entry_type_enum_name">ON</span>
13942 </li>
13943 </ul>
13944
13945 </td> <!-- entry_type -->
13946
13947 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013948 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013949that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013950Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013951disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013952any untrusted applications.<wbr/></p>
13953<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13954transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13955data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013956<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013957doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013958 </td>
13959
13960 <td class="entry_units">
13961 </td>
13962
13963 <td class="entry_range">
13964 </td>
13965
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013966 <td class="entry_tags">
13967 </td>
13968
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013969 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013970
13971
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013972 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13973 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013974
13975
13976
13977 <!-- end of kind -->
13978 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013979 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013980
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013981 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013982 <tr>
13983 <th class="th_name">Property Name</th>
13984 <th class="th_type">Type</th>
13985 <th class="th_description">Description</th>
13986 <th class="th_units">Units</th>
13987 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013988 <th class="th_tags">Tags</th>
13989 </tr>
13990 </thead>
13991
13992 <tbody>
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014004 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014005 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014006 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014007 <td class="entry_type">
14008 <span class="entry_type_name entry_type_name_enum">byte</span>
14009 <span class="entry_type_container">x</span>
14010
14011 <span class="entry_type_array">
14012 n
14013 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014014 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014015
14016 <ul class="entry_type_enum">
14017 <li>
14018 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080014019 <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 -070014020 </li>
14021 </ul>
14022
14023 </td> <!-- entry_type -->
14024
14025 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014026 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014027 </td>
14028
14029 <td class="entry_units">
14030 </td>
14031
14032 <td class="entry_range">
14033 </td>
14034
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014035 <td class="entry_tags">
14036 </td>
14037
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014038 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014039
14040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014041 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14042 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014043
14044
14045
14046 <!-- end of kind -->
14047 </tbody>
14048
14049 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014050 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014051
14052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014053 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014054
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014055 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014056 <tr>
14057 <th class="th_name">Property Name</th>
14058 <th class="th_type">Type</th>
14059 <th class="th_description">Description</th>
14060 <th class="th_units">Units</th>
14061 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014062 <th class="th_tags">Tags</th>
14063 </tr>
14064 </thead>
14065
14066 <tbody>
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014078 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014079 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014080 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014081 <td class="entry_type">
14082 <span class="entry_type_name entry_type_name_enum">byte</span>
14083
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014084 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014085
14086 <ul class="entry_type_enum">
14087 <li>
14088 <span class="entry_type_enum_name">LIMITED</span>
14089 </li>
14090 <li>
14091 <span class="entry_type_enum_name">FULL</span>
14092 </li>
14093 </ul>
14094
14095 </td> <!-- entry_type -->
14096
14097 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014098 <p>The camera 3 HAL device can implement one of two possible
14099operational modes; limited and full.<wbr/> Full support is
14100expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014101hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080014102camera HAL device v1 implementation,<wbr/> and is expected from
14103older or inexpensive devices.<wbr/> Full is a strict superset of
14104limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
14105<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014106 </td>
14107
14108 <td class="entry_units">
14109 </td>
14110
14111 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014112 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014113 </td>
14114
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014115 <td class="entry_tags">
14116 </td>
14117
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014118 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014119
14120
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014121 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14122 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014123
14124
14125
14126 <!-- end of kind -->
14127 </tbody>
14128
14129 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014130 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014131
14132
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014133 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014134
14135 <thead class="entries_header">
14136 <tr>
14137 <th class="th_name">Property Name</th>
14138 <th class="th_type">Type</th>
14139 <th class="th_description">Description</th>
14140 <th class="th_units">Units</th>
14141 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014142 <th class="th_tags">Tags</th>
14143 </tr>
14144 </thead>
14145
14146 <tbody>
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014158 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014159 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014160 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014161 <td class="entry_type">
14162 <span class="entry_type_name entry_type_name_enum">byte</span>
14163
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014164 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014165
14166 <ul class="entry_type_enum">
14167 <li>
14168 <span class="entry_type_enum_name">OFF</span>
14169 </li>
14170 <li>
14171 <span class="entry_type_enum_name">ON</span>
14172 </li>
14173 </ul>
14174
14175 </td> <!-- entry_type -->
14176
14177 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014178 <p>Whether black-level compensation is locked
14179to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014180 </td>
14181
14182 <td class="entry_units">
14183 </td>
14184
14185 <td class="entry_range">
14186 </td>
14187
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014188 <td class="entry_tags">
14189 <ul class="entry_tags">
14190 <li><a href="#tag_HAL2">HAL2</a></li>
14191 </ul>
14192 </td>
14193
14194 </tr>
14195 <tr class="entries_header">
14196 <th class="th_details" colspan="5">Details</th>
14197 </tr>
14198 <tr class="entry_cont">
14199 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014200 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014201compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080014202OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014203<p>Since changes to certain capture parameters (such as
14204exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080014205compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014206the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080014207metadata.<wbr/></p>
14208<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014209<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014210<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14211<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14212<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14213<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14214<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14215<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014216</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014217<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080014218device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014219result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014220<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014221<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14222<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14223<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14224<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
14225<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14226<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014227</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014228<p>This indicates to the application that on frame 4,<wbr/> black
14229levels were reset due to exposure value changes,<wbr/> and pixel
14230values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014231<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080014232possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014233other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080014234or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014235 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014236 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014237
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014238 <tr class="entries_header">
14239 <th class="th_details" colspan="5">HAL Implementation Details</th>
14240 </tr>
14241 <tr class="entry_cont">
14242 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014243 <p>If for some reason black level locking is no longer possible
14244(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14245black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014246override this request (and it must report 'OFF' when this
14247does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014248possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014249 </td>
14250 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014252 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14253 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014254
14255
14256
14257 <!-- end of kind -->
14258 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014259 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014260
14261 <thead class="entries_header">
14262 <tr>
14263 <th class="th_name">Property Name</th>
14264 <th class="th_type">Type</th>
14265 <th class="th_description">Description</th>
14266 <th class="th_units">Units</th>
14267 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014268 <th class="th_tags">Tags</th>
14269 </tr>
14270 </thead>
14271
14272 <tbody>
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014284 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014285 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014286 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014287 <td class="entry_type">
14288 <span class="entry_type_name entry_type_name_enum">byte</span>
14289
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014290 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014291
14292 <ul class="entry_type_enum">
14293 <li>
14294 <span class="entry_type_enum_name">OFF</span>
14295 </li>
14296 <li>
14297 <span class="entry_type_enum_name">ON</span>
14298 </li>
14299 </ul>
14300
14301 </td> <!-- entry_type -->
14302
14303 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014304 <p>Whether black-level compensation is locked
14305to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014306 </td>
14307
14308 <td class="entry_units">
14309 </td>
14310
14311 <td class="entry_range">
14312 </td>
14313
Zhijun He69fc0ea2013-07-17 09:42:58 -070014314 <td class="entry_tags">
14315 <ul class="entry_tags">
14316 <li><a href="#tag_HAL2">HAL2</a></li>
14317 </ul>
14318 </td>
14319
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014320 </tr>
14321 <tr class="entries_header">
14322 <th class="th_details" colspan="5">Details</th>
14323 </tr>
14324 <tr class="entry_cont">
14325 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014326 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014327ON 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 -080014328a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014329perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014330 </td>
14331 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014332
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014333 <tr class="entries_header">
14334 <th class="th_details" colspan="5">HAL Implementation Details</th>
14335 </tr>
14336 <tr class="entry_cont">
14337 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014338 <p>If for some reason black level locking is no longer possible
14339(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14340black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014341override this request (and it must report 'OFF' when this
14342does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014343possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014344 </td>
14345 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014346
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014347 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14348 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014349
14350
14351
14352 <!-- end of kind -->
14353 </tbody>
14354
14355 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014356<!-- </namespace> -->
14357 </table>
14358
14359 <div class="tags" id="tag_index">
14360 <h2>Tags</h2>
14361 <ul>
14362 <li id="tag_AWB">AWB -
14363 Needed for auto white balance
14364
14365 <ul class="tags_entries">
14366 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14367 </ul>
14368 </li> <!-- tag_AWB -->
14369 <li id="tag_BC">BC -
14370 Needed for backwards compatibility with old Java API
14371
14372 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014373 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014374 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14375 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14376 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14377 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14378 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014379 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014380 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14381 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014382 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014383 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14384 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14385 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14386 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14387 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14388 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14389 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14390 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014391 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014392 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14393 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14394 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14395 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14396 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14397 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14398 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14399 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14400 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14401 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14402 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14403 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14404 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14405 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14406 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14407 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14408 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14409 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14410 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14411 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14412 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14413 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14414 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14415 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14416 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14417 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14418 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14419 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014420 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014421 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14422 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14423 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014424 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014425 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014426 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14427 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14428 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14429 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14430 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14431 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14432 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14433 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14434 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14435 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14436 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14437 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14438 </ul>
14439 </li> <!-- tag_BC -->
14440 <li id="tag_V1">V1 -
14441 New features for first camera 2 release (API1)
14442
14443 <ul class="tags_entries">
14444 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14445 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14446 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14447 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14448 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14449 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14450 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14451 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14452 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14453 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14454 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14455 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14456 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14457 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14458 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14459 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14460 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14461 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14462 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14463 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14464 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14465 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14466 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14467 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014468 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014469 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14470 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14471 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14472 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14473 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14474 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14475 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14476 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14477 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14478 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14479 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14480 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14481 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14482 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14483 </ul>
14484 </li> <!-- tag_V1 -->
14485 <li id="tag_ADV">ADV - None
14486 <ul class="tags_entries">
14487 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14488 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14489 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14490 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14491 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14492 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14493 </ul>
14494 </li> <!-- tag_ADV -->
14495 <li id="tag_DNG">DNG -
14496 Needed for DNG file support
14497
14498 <ul class="tags_entries">
14499 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014500 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14501 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14502 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14503 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14504 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14505 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14506 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14507 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14508 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14509 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14510 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14511 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14512 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14513 </ul>
14514 </li> <!-- tag_DNG -->
14515 <li id="tag_EXIF">EXIF - None
14516 <ul class="tags_entries">
14517 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14518 </ul>
14519 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014520 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014521 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014522
14523 <ul class="tags_entries">
14524 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14525 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14526 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014527 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014528 </ul>
14529 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014530 <li id="tag_FULL">FULL -
14531 Entry is required for full hardware level devices, and optional for other hardware levels
14532
14533 <ul class="tags_entries">
14534 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14535 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14536 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14537 </ul>
14538 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014539 </ul>
14540 </div>
14541
14542 [ <a href="#">top</a> ]
14543
14544</body>
14545</html>