blob: 06661ac7c2438c712f4334d558bd3acfdb2550a1 [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">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002898 <td class="entry_name" rowspan="1">
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>
Igor Murashkin0b080452013-12-27 15:30:25 -08002909 <div class="entry_type_notes">list of enums from android.<wbr/>control.<wbr/>scene<wbr/>Mode,<wbr/> plus UNSUPPORTED to indicate no scene modes are supported</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002910
2911
2912 </td> <!-- entry_type -->
2913
2914 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002915 <p>what subset of the scene mode enum list is
2916supported.<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">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002923 <p>SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY must be supported if face
2924detection is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002925 </td>
2926
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002927 <td class="entry_tags">
2928 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002929 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002930 </ul>
2931 </td>
2932
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002933 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002934
2935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002936 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2937 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002938
2939
2940 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002941 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002942 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002943 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002944 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002945 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002946 <span class="entry_type_container">x</span>
2947
2948 <span class="entry_type_array">
2949 n
2950 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002951 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002952 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953
2954
2955 </td> <!-- entry_type -->
2956
2957 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002958 <p>List of video stabilization modes that can
2959be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960 </td>
2961
2962 <td class="entry_units">
2963 </td>
2964
2965 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002966 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002967 </td>
2968
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002969 <td class="entry_tags">
2970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002971 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002972 </ul>
2973 </td>
2974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002975 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002976
2977
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002978 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2979 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002980
2981
2982 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002983 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002984 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002985 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002987 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002988 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002989
Alex Raya4251d92013-04-30 16:43:44 -07002990 <span class="entry_type_array">
2991 n
2992 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002993 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08002994 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002995
2996
2997 </td> <!-- entry_type -->
2998
2999 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08003000 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
3001that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003002 </td>
3003
3004 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003005 </td>
3006
3007 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003008 </td>
3009
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003010 <td class="entry_tags">
3011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003012 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003013 </ul>
3014 </td>
3015
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003016 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08003017 <tr class="entries_header">
3018 <th class="th_details" colspan="5">Details</th>
3019 </tr>
3020 <tr class="entry_cont">
3021 <td class="entry_details" colspan="5">
3022 <p>Not all the auto-white-balance modes may be supported by a
3023given camera device.<wbr/> This entry lists the valid modes for
3024<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
3025<p>All camera devices will support ON mode.<wbr/></p>
3026<p>Full-capability camera devices will always support OFF mode,<wbr/>
3027which enables application control of white balance,<wbr/> by using
3028<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>
3029 </td>
3030 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003031
3032
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003033 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3034 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003035
3036
3037 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003038 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003039 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003040 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003041 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003042 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003043
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003044 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003045
3046
3047 </td> <!-- entry_type -->
3048
3049 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003050 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3051regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003052 </td>
3053
3054 <td class="entry_units">
3055 </td>
3056
3057 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003058 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003059 </td>
3060
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003061 <td class="entry_tags">
3062 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003063 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003064 </ul>
3065 </td>
3066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003067 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003068
3069
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003070 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3071 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003072
3073
3074 <tr class="entry" id="static_android.control.sceneModeOverrides">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003075 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003076 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003077 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003078 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003079 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003080 <span class="entry_type_container">x</span>
3081
3082 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003083 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003084 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003085 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003086
3087
3088 </td> <!-- entry_type -->
3089
3090 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003091 <p>List of AE,<wbr/> AWB,<wbr/> and AF modes to use for
3092each available scene mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003093 </td>
3094
3095 <td class="entry_units">
3096 </td>
3097
3098 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003099 <p>For each listed scene mode,<wbr/> lists the aeMode,<wbr/>
3100awbMode,<wbr/> and afMode that the HAL wants to use for that
3101scene mode.<wbr/></p>
3102<p>For each entry,<wbr/> the order is {aeMode,<wbr/> awbMode,<wbr/> afMode} in
3103order of increasing index</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003104 </td>
3105
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003106 <td class="entry_tags">
3107 <ul class="entry_tags">
3108 <li><a href="#tag_BC">BC</a></li>
3109 </ul>
3110 </td>
3111
3112 </tr>
3113 <tr class="entries_header">
3114 <th class="th_details" colspan="5">Details</th>
3115 </tr>
3116 <tr class="entry_cont">
3117 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003118 <p>When a scene mode is enabled,<wbr/> the HAL is expected
3119to override aeMode,<wbr/> awbMode,<wbr/> and afMode with its
3120preferred settings for that scene mode.<wbr/></p>
3121<p>To simplify communication with old camera API applications,<wbr/>
3122the service wants this override list in the static metadata.<wbr/>
3123The order of this list matches that of availableSceneModes,<wbr/>
3124with 3 entires for each scene mode.<wbr/> The overrides listed
3125for SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3126mode,<wbr/> the application-set aeMode,<wbr/> awbMode,<wbr/> and afMode are
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003127used instead,<wbr/> like they are when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
Igor Murashkin0b080452013-12-27 15:30:25 -08003128AUTO.<wbr/></p>
3129<p>It is recommended that for FACE_<wbr/>PRIORITY,<wbr/> the overrides
3130should be set to 0.<wbr/> As an example,<wbr/> if availableSceneModes is
3131{ FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT },<wbr/> then the service expects
3132this field to have 9 entries; for example { 0 ,<wbr/> 0,<wbr/> 0,<wbr/>
3133ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
3134INCANDESCENT,<wbr/> AUTO }</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003135 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003136 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003137
3138
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003139 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3140 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003141
3142
3143
3144 <!-- end of kind -->
3145 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003146 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003147
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003148 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003149 <tr>
3150 <th class="th_name">Property Name</th>
3151 <th class="th_type">Type</th>
3152 <th class="th_description">Description</th>
3153 <th class="th_units">Units</th>
3154 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003155 <th class="th_tags">Tags</th>
3156 </tr>
3157 </thead>
3158
3159 <tbody>
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003171 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003172 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003173 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003175 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003177 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003178
3179
3180 </td> <!-- entry_type -->
3181
3182 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003183 <p>The ID sent with the latest
3184CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003185 </td>
3186
3187 <td class="entry_units">
3188 </td>
3189
3190 <td class="entry_range">
3191 </td>
3192
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003193 <td class="entry_tags">
3194 </td>
3195
3196 </tr>
3197 <tr class="entries_header">
3198 <th class="th_details" colspan="5">Details</th>
3199 </tr>
3200 <tr class="entry_cont">
3201 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003202 <p>Must be 0 if no
3203CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3204by HAL.<wbr/> Always updated even if AE algorithm ignores the
3205trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003206 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003207 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003208
3209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003210 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3211 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003212
3213
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003214 <tr class="entry" id="dynamic_android.control.aeMode">
3215 <td class="entry_name" rowspan="3">
3216 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3217 </td>
3218 <td class="entry_type">
3219 <span class="entry_type_name entry_type_name_enum">byte</span>
3220
3221 <span class="entry_type_visibility"> [public]</span>
3222
3223 <ul class="entry_type_enum">
3224 <li>
3225 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003226 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3227the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3228<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3229<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3230device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3231a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003232 </li>
3233 <li>
3234 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003235 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3236with no flash control.<wbr/> The application's values for
3237<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3238<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3239<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3240application has control over the various
3241android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003242 </li>
3243 <li>
3244 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003245 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3246the camera's flash unit,<wbr/> firing it in low-light
3247conditions.<wbr/> The flash may be fired during a
3248precapture sequence (triggered by
3249<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3250for captures for which the
3251<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3252STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003253 </li>
3254 <li>
3255 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003256 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3257the camera's flash unit,<wbr/> always firing it for still
3258captures.<wbr/> The flash may be fired during a precapture
3259sequence (triggered by
3260<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3261be fired for captures for which the
3262<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3263STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003264 </li>
3265 <li>
3266 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003267 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3268reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3269a red eye reduction flash will fire during the
3270precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003271 </li>
3272 </ul>
3273
3274 </td> <!-- entry_type -->
3275
3276 <td class="entry_description">
3277 <p>The desired mode for the camera device's
3278auto-exposure routine.<wbr/></p>
3279 </td>
3280
3281 <td class="entry_units">
3282 </td>
3283
3284 <td class="entry_range">
3285 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3286 </td>
3287
3288 <td class="entry_tags">
3289 <ul class="entry_tags">
3290 <li><a href="#tag_BC">BC</a></li>
3291 </ul>
3292 </td>
3293
3294 </tr>
3295 <tr class="entries_header">
3296 <th class="th_details" colspan="5">Details</th>
3297 </tr>
3298 <tr class="entry_cont">
3299 <td class="entry_details" colspan="5">
3300 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3301AUTO.<wbr/></p>
3302<p>When set to any of the ON modes,<wbr/> the camera device's
3303auto-exposure routine is enabled,<wbr/> overriding the
3304application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3305and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3306<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3307<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3308is selected,<wbr/> the camera device's flash unit controls are
3309also overridden.<wbr/></p>
3310<p>The FLASH modes are only available if the camera device
3311has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3312<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3313ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3314<p>When set to any of the ON modes,<wbr/> the values chosen by the
3315camera device auto-exposure routine for the overridden
3316fields for a given capture will be available in its
3317CaptureResult.<wbr/></p>
3318 </td>
3319 </tr>
3320
3321
3322 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3323 <!-- end of entry -->
3324
3325
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003326 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003327 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003328 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003329 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003330 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003331 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003332 <span class="entry_type_container">x</span>
3333
3334 <span class="entry_type_array">
3335 5 x area_count
3336 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003337 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003338
3339
3340 </td> <!-- entry_type -->
3341
3342 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003343 <p>List of areas to use for
3344metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003345 </td>
3346
3347 <td class="entry_units">
3348 </td>
3349
3350 <td class="entry_range">
3351 </td>
3352
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003353 <td class="entry_tags">
3354 <ul class="entry_tags">
3355 <li><a href="#tag_BC">BC</a></li>
3356 </ul>
3357 </td>
3358
3359 </tr>
3360 <tr class="entries_header">
3361 <th class="th_details" colspan="5">Details</th>
3362 </tr>
3363 <tr class="entry_cont">
3364 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003365 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3366xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3367specified coordinates.<wbr/></p>
3368<p>The coordinate system is based on the active pixel array,<wbr/>
3369with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003370(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3371<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 -08003372bottom-right pixel in the active pixel array.<wbr/> The weight
3373should be nonnegative.<wbr/></p>
3374<p>If all regions have 0 weight,<wbr/> then no specific metering area
3375needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003376outside 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 -08003377should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003378used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003379 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003380 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003381
3382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003383 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3384 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003385
3386
3387 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003388 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003389 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003390 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003391 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003392 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003393
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003395
3396 <ul class="entry_type_enum">
3397 <li>
3398 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003399 <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 -08003400this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003401 </li>
3402 <li>
3403 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003404 <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 -08003405for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003406 </li>
3407 <li>
3408 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003409 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003410current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003411 </li>
3412 <li>
3413 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003414 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003415 </li>
3416 <li>
3417 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003418 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3419needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003420capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003421 </li>
3422 <li>
3423 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003424 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003425(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3426and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003427completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003428FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003429 </li>
3430 </ul>
3431
3432 </td> <!-- entry_type -->
3433
3434 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003435 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003436 </td>
3437
3438 <td class="entry_units">
3439 </td>
3440
3441 <td class="entry_range">
3442 </td>
3443
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003444 <td class="entry_tags">
3445 </td>
3446
3447 </tr>
3448 <tr class="entries_header">
3449 <th class="th_details" colspan="5">Details</th>
3450 </tr>
3451 <tr class="entry_cont">
3452 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003453 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3454resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3455or <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
3456the algorithm states to INACTIVE.<wbr/></p>
3457<p>The camera device can do several state transitions between two results,<wbr/> if it is
3458allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3459seen in a result.<wbr/></p>
3460<p>The state in the result is the state for this image (in sync with this image): if
3461AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3462be good to use.<wbr/></p>
3463<p>Below are state transition tables for different AE modes.<wbr/></p>
3464<table>
3465<thead>
3466<tr>
3467<th align="center">State</th>
3468<th align="center">Transition Cause</th>
3469<th align="center">New State</th>
3470<th align="center">Notes</th>
3471</tr>
3472</thead>
3473<tbody>
3474<tr>
3475<td align="center">INACTIVE</td>
3476<td align="center"></td>
3477<td align="center">INACTIVE</td>
3478<td align="center">Camera device auto exposure algorithm is disabled</td>
3479</tr>
3480</tbody>
3481</table>
3482<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3483<table>
3484<thead>
3485<tr>
3486<th align="center">State</th>
3487<th align="center">Transition Cause</th>
3488<th align="center">New State</th>
3489<th align="center">Notes</th>
3490</tr>
3491</thead>
3492<tbody>
3493<tr>
3494<td align="center">INACTIVE</td>
3495<td align="center">Camera device initiates AE scan</td>
3496<td align="center">SEARCHING</td>
3497<td align="center">Values changing</td>
3498</tr>
3499<tr>
3500<td align="center">INACTIVE</td>
3501<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3502<td align="center">LOCKED</td>
3503<td align="center">Values locked</td>
3504</tr>
3505<tr>
3506<td align="center">SEARCHING</td>
3507<td align="center">Camera device finishes AE scan</td>
3508<td align="center">CONVERGED</td>
3509<td align="center">Good values,<wbr/> not changing</td>
3510</tr>
3511<tr>
3512<td align="center">SEARCHING</td>
3513<td align="center">Camera device finishes AE scan</td>
3514<td align="center">FLASH_<wbr/>REQUIRED</td>
3515<td align="center">Converged but too dark w/<wbr/>o flash</td>
3516</tr>
3517<tr>
3518<td align="center">SEARCHING</td>
3519<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3520<td align="center">LOCKED</td>
3521<td align="center">Values locked</td>
3522</tr>
3523<tr>
3524<td align="center">CONVERGED</td>
3525<td align="center">Camera device initiates AE scan</td>
3526<td align="center">SEARCHING</td>
3527<td align="center">Values changing</td>
3528</tr>
3529<tr>
3530<td align="center">CONVERGED</td>
3531<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3532<td align="center">LOCKED</td>
3533<td align="center">Values locked</td>
3534</tr>
3535<tr>
3536<td align="center">FLASH_<wbr/>REQUIRED</td>
3537<td align="center">Camera device initiates AE scan</td>
3538<td align="center">SEARCHING</td>
3539<td align="center">Values changing</td>
3540</tr>
3541<tr>
3542<td align="center">FLASH_<wbr/>REQUIRED</td>
3543<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3544<td align="center">LOCKED</td>
3545<td align="center">Values locked</td>
3546</tr>
3547<tr>
3548<td align="center">LOCKED</td>
3549<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3550<td align="center">SEARCHING</td>
3551<td align="center">Values not good after unlock</td>
3552</tr>
3553<tr>
3554<td align="center">LOCKED</td>
3555<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3556<td align="center">CONVERGED</td>
3557<td align="center">Values good after unlock</td>
3558</tr>
3559<tr>
3560<td align="center">LOCKED</td>
3561<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3562<td align="center">FLASH_<wbr/>REQUIRED</td>
3563<td align="center">Exposure good,<wbr/> but too dark</td>
3564</tr>
3565<tr>
3566<td align="center">PRECAPTURE</td>
3567<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3568<td align="center">CONVERGED</td>
3569<td align="center">Ready for high-quality capture</td>
3570</tr>
3571<tr>
3572<td align="center">PRECAPTURE</td>
3573<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3574<td align="center">LOCKED</td>
3575<td align="center">Ready for high-quality capture</td>
3576</tr>
3577<tr>
3578<td align="center">Any state</td>
3579<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3580<td align="center">PRECAPTURE</td>
3581<td align="center">Start AE precapture metering sequence</td>
3582</tr>
3583</tbody>
3584</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003585 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003586 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003587
3588
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003589 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3590 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003591
3592
3593 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003594 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003595 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003596 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003597 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003598 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003599
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003600 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003601
3602 <ul class="entry_type_enum">
3603 <li>
3604 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003605 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3606<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3607application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003608 </li>
3609 <li>
3610 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003611 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3612<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
3613is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3614the autofocus trigger action is called.<wbr/> When that trigger
3615is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3616the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3617<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3618and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003619 </li>
3620 <li>
3621 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003622 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3623autofocus trigger action is called.<wbr/></p>
3624<p>When that trigger is activated,<wbr/> AF must transition to
3625ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3626NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3627position to default,<wbr/> and sets the AF state to
3628INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003629 </li>
3630 <li>
3631 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003632 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3633position continually to attempt to provide a
3634constantly-in-focus image stream.<wbr/></p>
3635<p>The focusing behavior should be suitable for good quality
3636video recording; typically this means slower focus
3637movement and no overshoots.<wbr/> When the AF trigger is not
3638involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3639and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3640states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3641the algorithm should immediately transition into
3642AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3643lens position until a cancel AF trigger is received.<wbr/></p>
3644<p>Once cancel is received,<wbr/> the algorithm should transition
3645back to INACTIVE and resume passive scan.<wbr/> Note that this
3646behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3647ongoing PASSIVE_<wbr/>SCAN must immediately be
3648canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003649 </li>
3650 <li>
3651 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003652 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3653position continually to attempt to provide a
3654constantly-in-focus image stream.<wbr/></p>
3655<p>The focusing behavior should be suitable for still image
3656capture; typically this means focusing as fast as
3657possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3658algorithm should start in INACTIVE state,<wbr/> and then
3659transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3660appropriate as it attempts to maintain focus.<wbr/> When the AF
3661trigger is activated,<wbr/> the algorithm should finish its
3662PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3663AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3664lens position until a cancel AF trigger is received.<wbr/></p>
3665<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3666should transition back to INACTIVE and then act as if it
3667has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003668 </li>
3669 <li>
3670 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003671 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3672trigger is ignored,<wbr/> AF state should always be
3673INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003674 </li>
3675 </ul>
3676
3677 </td> <!-- entry_type -->
3678
3679 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003680 <p>Whether AF is currently enabled,<wbr/> and what
3681mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003682 </td>
3683
3684 <td class="entry_units">
3685 </td>
3686
3687 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003688 <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 -08003689 </td>
3690
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003691 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003692 <ul class="entry_tags">
3693 <li><a href="#tag_BC">BC</a></li>
3694 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003695 </td>
3696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003697 </tr>
3698 <tr class="entries_header">
3699 <th class="th_details" colspan="5">Details</th>
3700 </tr>
3701 <tr class="entry_cont">
3702 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003703 <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 -08003704<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3705the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3706in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003707 </td>
3708 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003709
3710
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003711 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3712 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003713
3714
3715 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003716 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003717 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003718 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003720 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003721 <span class="entry_type_container">x</span>
3722
3723 <span class="entry_type_array">
3724 5 x area_count
3725 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003726 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003727
3728
3729 </td> <!-- entry_type -->
3730
3731 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003732 <p>List of areas to use for focus
3733estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003734 </td>
3735
3736 <td class="entry_units">
3737 </td>
3738
3739 <td class="entry_range">
3740 </td>
3741
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003742 <td class="entry_tags">
3743 <ul class="entry_tags">
3744 <li><a href="#tag_BC">BC</a></li>
3745 </ul>
3746 </td>
3747
3748 </tr>
3749 <tr class="entries_header">
3750 <th class="th_details" colspan="5">Details</th>
3751 </tr>
3752 <tr class="entry_cont">
3753 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003754 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3755xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3756specified coordinates.<wbr/></p>
3757<p>The coordinate system is based on the active pixel array,<wbr/>
3758with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003759(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3760<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 -08003761bottom-right pixel in the active pixel array.<wbr/> The weight
3762should be nonnegative.<wbr/></p>
3763<p>If all regions have 0 weight,<wbr/> then no specific focus area
3764needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003765outside 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 -08003766should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003767used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003768 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003769 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003770
3771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003772 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3773 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003774
3775
3776 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003777 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003778 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003779 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003780 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003781 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003782
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003783 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003784
3785 <ul class="entry_type_enum">
3786 <li>
3787 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003788 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3789to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3790this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003791 </li>
3792 <li>
3793 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003794 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3795currently doing an AF scan initiated by a continuous
3796autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003797 </li>
3798 <li>
3799 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003800 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3801believes it is in focus,<wbr/> but may restart scanning at
3802any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003803 </li>
3804 <li>
3805 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003806 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3807an AF scan because it was triggered by AF
3808trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003809 </li>
3810 <li>
3811 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003812 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3813believes it is focused correctly and is
3814locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003815 </li>
3816 <li>
3817 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003818 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3819failed to focus successfully and is
3820locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003821 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003822 <li>
3823 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003824 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3825passive scan without finding focus,<wbr/> and may restart
3826scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003827 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003828 </ul>
3829
3830 </td> <!-- entry_type -->
3831
3832 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003833 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003834 </td>
3835
3836 <td class="entry_units">
3837 </td>
3838
3839 <td class="entry_range">
3840 </td>
3841
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003842 <td class="entry_tags">
3843 </td>
3844
3845 </tr>
3846 <tr class="entries_header">
3847 <th class="th_details" colspan="5">Details</th>
3848 </tr>
3849 <tr class="entry_cont">
3850 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003851 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3852resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3853or <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
3854the algorithm states to INACTIVE.<wbr/></p>
3855<p>The camera device can do several state transitions between two results,<wbr/> if it is
3856allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3857seen in a result.<wbr/></p>
3858<p>The state in the result is the state for this image (in sync with this image): if
3859AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3860be sharp.<wbr/></p>
3861<p>Below are state transition tables for different AF modes.<wbr/></p>
3862<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>
3863<table>
3864<thead>
3865<tr>
3866<th align="center">State</th>
3867<th align="center">Transition Cause</th>
3868<th align="center">New State</th>
3869<th align="center">Notes</th>
3870</tr>
3871</thead>
3872<tbody>
3873<tr>
3874<td align="center">INACTIVE</td>
3875<td align="center"></td>
3876<td align="center">INACTIVE</td>
3877<td align="center">Never changes</td>
3878</tr>
3879</tbody>
3880</table>
3881<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>
3882<table>
3883<thead>
3884<tr>
3885<th align="center">State</th>
3886<th align="center">Transition Cause</th>
3887<th align="center">New State</th>
3888<th align="center">Notes</th>
3889</tr>
3890</thead>
3891<tbody>
3892<tr>
3893<td align="center">INACTIVE</td>
3894<td align="center">AF_<wbr/>TRIGGER</td>
3895<td align="center">ACTIVE_<wbr/>SCAN</td>
3896<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3897</tr>
3898<tr>
3899<td align="center">ACTIVE_<wbr/>SCAN</td>
3900<td align="center">AF sweep done</td>
3901<td align="center">FOCUSED_<wbr/>LOCKED</td>
3902<td align="center">Focused,<wbr/> Lens now locked</td>
3903</tr>
3904<tr>
3905<td align="center">ACTIVE_<wbr/>SCAN</td>
3906<td align="center">AF sweep done</td>
3907<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3908<td align="center">Not focused,<wbr/> Lens now locked</td>
3909</tr>
3910<tr>
3911<td align="center">ACTIVE_<wbr/>SCAN</td>
3912<td align="center">AF_<wbr/>CANCEL</td>
3913<td align="center">INACTIVE</td>
3914<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3915</tr>
3916<tr>
3917<td align="center">FOCUSED_<wbr/>LOCKED</td>
3918<td align="center">AF_<wbr/>CANCEL</td>
3919<td align="center">INACTIVE</td>
3920<td align="center">Cancel/<wbr/>reset AF</td>
3921</tr>
3922<tr>
3923<td align="center">FOCUSED_<wbr/>LOCKED</td>
3924<td align="center">AF_<wbr/>TRIGGER</td>
3925<td align="center">ACTIVE_<wbr/>SCAN</td>
3926<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3927</tr>
3928<tr>
3929<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3930<td align="center">AF_<wbr/>CANCEL</td>
3931<td align="center">INACTIVE</td>
3932<td align="center">Cancel/<wbr/>reset AF</td>
3933</tr>
3934<tr>
3935<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3936<td align="center">AF_<wbr/>TRIGGER</td>
3937<td align="center">ACTIVE_<wbr/>SCAN</td>
3938<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3939</tr>
3940<tr>
3941<td align="center">Any state</td>
3942<td align="center">Mode change</td>
3943<td align="center">INACTIVE</td>
3944<td align="center"></td>
3945</tr>
3946</tbody>
3947</table>
3948<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>
3949<table>
3950<thead>
3951<tr>
3952<th align="center">State</th>
3953<th align="center">Transition Cause</th>
3954<th align="center">New State</th>
3955<th align="center">Notes</th>
3956</tr>
3957</thead>
3958<tbody>
3959<tr>
3960<td align="center">INACTIVE</td>
3961<td align="center">Camera device initiates new scan</td>
3962<td align="center">PASSIVE_<wbr/>SCAN</td>
3963<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3964</tr>
3965<tr>
3966<td align="center">INACTIVE</td>
3967<td align="center">AF_<wbr/>TRIGGER</td>
3968<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3969<td align="center">AF state query,<wbr/> Lens now locked</td>
3970</tr>
3971<tr>
3972<td align="center">PASSIVE_<wbr/>SCAN</td>
3973<td align="center">Camera device completes current scan</td>
3974<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3975<td align="center">End AF scan,<wbr/> Lens now locked</td>
3976</tr>
3977<tr>
3978<td align="center">PASSIVE_<wbr/>SCAN</td>
3979<td align="center">Camera device fails current scan</td>
3980<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3981<td align="center">End AF scan,<wbr/> Lens now locked</td>
3982</tr>
3983<tr>
3984<td align="center">PASSIVE_<wbr/>SCAN</td>
3985<td align="center">AF_<wbr/>TRIGGER</td>
3986<td align="center">FOCUSED_<wbr/>LOCKED</td>
3987<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
3988</tr>
3989<tr>
3990<td align="center">PASSIVE_<wbr/>SCAN</td>
3991<td align="center">AF_<wbr/>TRIGGER</td>
3992<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3993<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
3994</tr>
3995<tr>
3996<td align="center">PASSIVE_<wbr/>SCAN</td>
3997<td align="center">AF_<wbr/>CANCEL</td>
3998<td align="center">INACTIVE</td>
3999<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4000</tr>
4001<tr>
4002<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4003<td align="center">Camera device initiates new scan</td>
4004<td align="center">PASSIVE_<wbr/>SCAN</td>
4005<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4006</tr>
4007<tr>
4008<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4009<td align="center">Camera device initiates new scan</td>
4010<td align="center">PASSIVE_<wbr/>SCAN</td>
4011<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4012</tr>
4013<tr>
4014<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4015<td align="center">AF_<wbr/>TRIGGER</td>
4016<td align="center">FOCUSED_<wbr/>LOCKED</td>
4017<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4018</tr>
4019<tr>
4020<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4021<td align="center">AF_<wbr/>TRIGGER</td>
4022<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4023<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4024</tr>
4025<tr>
4026<td align="center">FOCUSED_<wbr/>LOCKED</td>
4027<td align="center">AF_<wbr/>TRIGGER</td>
4028<td align="center">FOCUSED_<wbr/>LOCKED</td>
4029<td align="center">No effect</td>
4030</tr>
4031<tr>
4032<td align="center">FOCUSED_<wbr/>LOCKED</td>
4033<td align="center">AF_<wbr/>CANCEL</td>
4034<td align="center">INACTIVE</td>
4035<td align="center">Restart AF scan</td>
4036</tr>
4037<tr>
4038<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4039<td align="center">AF_<wbr/>TRIGGER</td>
4040<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4041<td align="center">No effect</td>
4042</tr>
4043<tr>
4044<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4045<td align="center">AF_<wbr/>CANCEL</td>
4046<td align="center">INACTIVE</td>
4047<td align="center">Restart AF scan</td>
4048</tr>
4049</tbody>
4050</table>
4051<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>
4052<table>
4053<thead>
4054<tr>
4055<th align="center">State</th>
4056<th align="center">Transition Cause</th>
4057<th align="center">New State</th>
4058<th align="center">Notes</th>
4059</tr>
4060</thead>
4061<tbody>
4062<tr>
4063<td align="center">INACTIVE</td>
4064<td align="center">Camera device initiates new scan</td>
4065<td align="center">PASSIVE_<wbr/>SCAN</td>
4066<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4067</tr>
4068<tr>
4069<td align="center">INACTIVE</td>
4070<td align="center">AF_<wbr/>TRIGGER</td>
4071<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4072<td align="center">AF state query,<wbr/> Lens now locked</td>
4073</tr>
4074<tr>
4075<td align="center">PASSIVE_<wbr/>SCAN</td>
4076<td align="center">Camera device completes current scan</td>
4077<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4078<td align="center">End AF scan,<wbr/> Lens now locked</td>
4079</tr>
4080<tr>
4081<td align="center">PASSIVE_<wbr/>SCAN</td>
4082<td align="center">Camera device fails current scan</td>
4083<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4084<td align="center">End AF scan,<wbr/> Lens now locked</td>
4085</tr>
4086<tr>
4087<td align="center">PASSIVE_<wbr/>SCAN</td>
4088<td align="center">AF_<wbr/>TRIGGER</td>
4089<td align="center">FOCUSED_<wbr/>LOCKED</td>
4090<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4091</tr>
4092<tr>
4093<td align="center">PASSIVE_<wbr/>SCAN</td>
4094<td align="center">AF_<wbr/>TRIGGER</td>
4095<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4096<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4097</tr>
4098<tr>
4099<td align="center">PASSIVE_<wbr/>SCAN</td>
4100<td align="center">AF_<wbr/>CANCEL</td>
4101<td align="center">INACTIVE</td>
4102<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4103</tr>
4104<tr>
4105<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4106<td align="center">Camera device initiates new scan</td>
4107<td align="center">PASSIVE_<wbr/>SCAN</td>
4108<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4109</tr>
4110<tr>
4111<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4112<td align="center">Camera device initiates new scan</td>
4113<td align="center">PASSIVE_<wbr/>SCAN</td>
4114<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4115</tr>
4116<tr>
4117<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4118<td align="center">AF_<wbr/>TRIGGER</td>
4119<td align="center">FOCUSED_<wbr/>LOCKED</td>
4120<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4121</tr>
4122<tr>
4123<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4124<td align="center">AF_<wbr/>TRIGGER</td>
4125<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4126<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4127</tr>
4128<tr>
4129<td align="center">FOCUSED_<wbr/>LOCKED</td>
4130<td align="center">AF_<wbr/>TRIGGER</td>
4131<td align="center">FOCUSED_<wbr/>LOCKED</td>
4132<td align="center">No effect</td>
4133</tr>
4134<tr>
4135<td align="center">FOCUSED_<wbr/>LOCKED</td>
4136<td align="center">AF_<wbr/>CANCEL</td>
4137<td align="center">INACTIVE</td>
4138<td align="center">Restart AF scan</td>
4139</tr>
4140<tr>
4141<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4142<td align="center">AF_<wbr/>TRIGGER</td>
4143<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4144<td align="center">No effect</td>
4145</tr>
4146<tr>
4147<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4148<td align="center">AF_<wbr/>CANCEL</td>
4149<td align="center">INACTIVE</td>
4150<td align="center">Restart AF scan</td>
4151</tr>
4152</tbody>
4153</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004154 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004155 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004156
4157
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004158 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4159 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004160
4161
4162 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004163 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004164 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004165 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004166 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004167 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004168
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004169 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004170
4171
4172 </td> <!-- entry_type -->
4173
4174 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004175 <p>The ID sent with the latest
4176CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004177 </td>
4178
4179 <td class="entry_units">
4180 </td>
4181
4182 <td class="entry_range">
4183 </td>
4184
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004185 <td class="entry_tags">
4186 </td>
4187
4188 </tr>
4189 <tr class="entries_header">
4190 <th class="th_details" colspan="5">Details</th>
4191 </tr>
4192 <tr class="entry_cont">
4193 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004194 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4195received yet by HAL.<wbr/> Always updated even if AF algorithm
4196ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004197 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004198 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004199
4200
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004201 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4202 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004203
4204
4205 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004206 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004207 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004208 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004209 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004210 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004211
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004212 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004213
4214 <ul class="entry_type_enum">
4215 <li>
4216 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004217 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4218the application-selected color transform matrix
4219(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4220(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4221device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004222 </li>
4223 <li>
4224 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004225 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4226the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4227and <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 -08004228 </li>
4229 <li>
4230 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004231 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4232the camera device uses incandescent light as the assumed scene
4233illumination for white balance.<wbr/> While the exact white balance
4234transforms are up to the camera device,<wbr/> they will approximately
4235match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004236 </li>
4237 <li>
4238 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004239 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4240the camera device uses fluorescent light as the assumed scene
4241illumination for white balance.<wbr/> While the exact white balance
4242transforms are up to the camera device,<wbr/> they will approximately
4243match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004244 </li>
4245 <li>
4246 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004247 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4248the camera device uses warm fluorescent light as the assumed scene
4249illumination for white balance.<wbr/> While the exact white balance
4250transforms are up to the camera device,<wbr/> they will approximately
4251match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004252 </li>
4253 <li>
4254 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004255 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4256the camera device uses daylight light as the assumed scene
4257illumination for white balance.<wbr/> While the exact white balance
4258transforms are up to the camera device,<wbr/> they will approximately
4259match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004260 </li>
4261 <li>
4262 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004263 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4264the camera device uses cloudy daylight light as the assumed scene
4265illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004266 </li>
4267 <li>
4268 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004269 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4270the camera device uses twilight light as the assumed scene
4271illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004272 </li>
4273 <li>
4274 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004275 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4276the camera device uses shade light as the assumed scene
4277illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004278 </li>
4279 </ul>
4280
4281 </td> <!-- entry_type -->
4282
4283 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004284 <p>Whether AWB is currently setting the color
4285transform fields,<wbr/> and what its illumination target
4286is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004287 </td>
4288
4289 <td class="entry_units">
4290 </td>
4291
4292 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004293 <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 -08004294 </td>
4295
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004296 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004297 <ul class="entry_tags">
4298 <li><a href="#tag_BC">BC</a></li>
4299 <li><a href="#tag_AWB">AWB</a></li>
4300 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004301 </td>
4302
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004303 </tr>
4304 <tr class="entries_header">
4305 <th class="th_details" colspan="5">Details</th>
4306 </tr>
4307 <tr class="entry_cont">
4308 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004309 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4310<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4311routine is enabled,<wbr/> overriding the application's selected
4312<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
4313<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4314<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4315routine is disabled.<wbr/> The applicantion manually controls the white
4316balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4317and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4318<p>When set to any other modes,<wbr/> the camera device's auto white balance
4319routine is disabled.<wbr/> The camera device uses each particular illumination
4320target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004321 </td>
4322 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004323
4324
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004325 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4326 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004327
4328
4329 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004330 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004331 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004332 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004333 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004334 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004335 <span class="entry_type_container">x</span>
4336
4337 <span class="entry_type_array">
4338 5 x area_count
4339 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004340 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004341
4342
4343 </td> <!-- entry_type -->
4344
4345 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004346 <p>List of areas to use for illuminant
4347estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004348 </td>
4349
4350 <td class="entry_units">
4351 </td>
4352
4353 <td class="entry_range">
4354 </td>
4355
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004356 <td class="entry_tags">
4357 <ul class="entry_tags">
4358 <li><a href="#tag_BC">BC</a></li>
4359 </ul>
4360 </td>
4361
4362 </tr>
4363 <tr class="entries_header">
4364 <th class="th_details" colspan="5">Details</th>
4365 </tr>
4366 <tr class="entry_cont">
4367 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004368 <p>Only used in AUTO mode.<wbr/></p>
4369<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4370xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4371specified coordinates.<wbr/></p>
4372<p>The coordinate system is based on the active pixel array,<wbr/>
4373with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004374(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4375<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 -08004376bottom-right pixel in the active pixel array.<wbr/> The weight
4377should be nonnegative.<wbr/></p>
4378<p>If all regions have 0 weight,<wbr/> then no specific metering area
4379needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004380outside 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 -08004381should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004382used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004383 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004384 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004385
4386
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004387 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4388 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004389
4390
4391 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004392 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004393 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004394 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004395 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004396 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004397
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004398 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004399
4400 <ul class="entry_type_enum">
4401 <li>
4402 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004403 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4404starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004405 </li>
4406 <li>
4407 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004408 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004409values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004410 </li>
4411 <li>
4412 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004413 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004414current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004415 </li>
4416 <li>
4417 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004418 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004419 </li>
4420 </ul>
4421
4422 </td> <!-- entry_type -->
4423
4424 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004425 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004426 </td>
4427
4428 <td class="entry_units">
4429 </td>
4430
4431 <td class="entry_range">
4432 </td>
4433
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004434 <td class="entry_tags">
4435 </td>
4436
4437 </tr>
4438 <tr class="entries_header">
4439 <th class="th_details" colspan="5">Details</th>
4440 </tr>
4441 <tr class="entry_cont">
4442 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004443 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4444resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4445or <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
4446the algorithm states to INACTIVE.<wbr/></p>
4447<p>The camera device can do several state transitions between two results,<wbr/> if it is
4448allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4449a result.<wbr/></p>
4450<p>The state in the result is the state for this image (in sync with this image): if
4451AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4452be good to use.<wbr/></p>
4453<p>Below are state transition tables for different AWB modes.<wbr/></p>
4454<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4455<table>
4456<thead>
4457<tr>
4458<th align="center">State</th>
4459<th align="center">Transition Cause</th>
4460<th align="center">New State</th>
4461<th align="center">Notes</th>
4462</tr>
4463</thead>
4464<tbody>
4465<tr>
4466<td align="center">INACTIVE</td>
4467<td align="center"></td>
4468<td align="center">INACTIVE</td>
4469<td align="center">Camera device auto white balance algorithm is disabled</td>
4470</tr>
4471</tbody>
4472</table>
4473<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4474<table>
4475<thead>
4476<tr>
4477<th align="center">State</th>
4478<th align="center">Transition Cause</th>
4479<th align="center">New State</th>
4480<th align="center">Notes</th>
4481</tr>
4482</thead>
4483<tbody>
4484<tr>
4485<td align="center">INACTIVE</td>
4486<td align="center">Camera device initiates AWB scan</td>
4487<td align="center">SEARCHING</td>
4488<td align="center">Values changing</td>
4489</tr>
4490<tr>
4491<td align="center">INACTIVE</td>
4492<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4493<td align="center">LOCKED</td>
4494<td align="center">Values locked</td>
4495</tr>
4496<tr>
4497<td align="center">SEARCHING</td>
4498<td align="center">Camera device finishes AWB scan</td>
4499<td align="center">CONVERGED</td>
4500<td align="center">Good values,<wbr/> not changing</td>
4501</tr>
4502<tr>
4503<td align="center">SEARCHING</td>
4504<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4505<td align="center">LOCKED</td>
4506<td align="center">Values locked</td>
4507</tr>
4508<tr>
4509<td align="center">CONVERGED</td>
4510<td align="center">Camera device initiates AWB scan</td>
4511<td align="center">SEARCHING</td>
4512<td align="center">Values changing</td>
4513</tr>
4514<tr>
4515<td align="center">CONVERGED</td>
4516<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4517<td align="center">LOCKED</td>
4518<td align="center">Values locked</td>
4519</tr>
4520<tr>
4521<td align="center">LOCKED</td>
4522<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4523<td align="center">SEARCHING</td>
4524<td align="center">Values not good after unlock</td>
4525</tr>
4526<tr>
4527<td align="center">LOCKED</td>
4528<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4529<td align="center">CONVERGED</td>
4530<td align="center">Values good after unlock</td>
4531</tr>
4532</tbody>
4533</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004534 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004535 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004536
4537
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004538 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4539 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004540
4541
4542 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004543 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004544 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004545 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004546 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004547 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004549 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004550
4551 <ul class="entry_type_enum">
4552 <li>
4553 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004554 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4555routines are disabled,<wbr/> no other settings in
4556android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004557 </li>
4558 <li>
4559 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004560 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4561Manual control of capture parameters is disabled.<wbr/> All
4562controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4563effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004564 </li>
4565 <li>
4566 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004567 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4568control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4569controls; the HAL must ignore those settings while
4570USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4571scene mode).<wbr/> Other control entries are still active.<wbr/>
4572This setting can only be used if availableSceneModes !=
4573UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004574 </li>
4575 </ul>
4576
4577 </td> <!-- entry_type -->
4578
4579 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004580 <p>Overall mode of 3A control
4581routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004582 </td>
4583
4584 <td class="entry_units">
4585 </td>
4586
4587 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004588 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004589 </td>
4590
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004591 <td class="entry_tags">
4592 <ul class="entry_tags">
4593 <li><a href="#tag_BC">BC</a></li>
4594 </ul>
4595 </td>
4596
4597 </tr>
4598 <tr class="entries_header">
4599 <th class="th_details" colspan="5">Details</th>
4600 </tr>
4601 <tr class="entry_cont">
4602 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004603 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004604by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004605capture parameters itself.<wbr/></p>
4606<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004607android.<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 -08004608<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004609android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004610one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004611as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004612<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 -08004613 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004614 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004615
4616
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004617 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4618 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004619
4620
4621
4622 <!-- end of kind -->
4623 </tbody>
4624
4625 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004626 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004627
4628
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004629 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004630
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004631 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004632 <tr>
4633 <th class="th_name">Property Name</th>
4634 <th class="th_type">Type</th>
4635 <th class="th_description">Description</th>
4636 <th class="th_units">Units</th>
4637 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004638 <th class="th_tags">Tags</th>
4639 </tr>
4640 </thead>
4641
4642 <tbody>
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004654 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004655 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004656 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004657 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004658 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004659
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004660 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004661
4662 <ul class="entry_type_enum">
4663 <li>
4664 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004665 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4666Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004667 </li>
4668 <li>
4669 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004670 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4671rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004672 </li>
4673 </ul>
4674
4675 </td> <!-- entry_type -->
4676
4677 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004678 <p>Controls the quality of the demosaicing
4679processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004680 </td>
4681
4682 <td class="entry_units">
4683 </td>
4684
4685 <td class="entry_range">
4686 </td>
4687
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004688 <td class="entry_tags">
4689 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004690 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004691 </ul>
4692 </td>
4693
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004694 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004695
4696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004697 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4698 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004699
4700
4701
4702 <!-- end of kind -->
4703 </tbody>
4704
4705 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004706 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004707
4708
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004709 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004710
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004711 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004712 <tr>
4713 <th class="th_name">Property Name</th>
4714 <th class="th_type">Type</th>
4715 <th class="th_description">Description</th>
4716 <th class="th_units">Units</th>
4717 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004718 <th class="th_tags">Tags</th>
4719 </tr>
4720 </thead>
4721
4722 <tbody>
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004734 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004735 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004736 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004737 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004738 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004739
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004740 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004741
4742 <ul class="entry_type_enum">
4743 <li>
4744 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004745 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004746 </li>
4747 <li>
4748 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004749 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4750output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004751 </li>
4752 <li>
4753 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004754 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4755quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004756 </li>
4757 </ul>
4758
4759 </td> <!-- entry_type -->
4760
4761 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004762 <p>Operation mode for edge
4763enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004764 </td>
4765
4766 <td class="entry_units">
4767 </td>
4768
4769 <td class="entry_range">
4770 </td>
4771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004772 <td class="entry_tags">
4773 </td>
4774
4775 </tr>
4776 <tr class="entries_header">
4777 <th class="th_details" colspan="5">Details</th>
4778 </tr>
4779 <tr class="entry_cont">
4780 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004781 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4782enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004783<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004784will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004785camera device will use the highest-quality enhancement algorithms,<wbr/>
4786even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004787not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004788 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004789 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004790
4791
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004792 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4793 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004794
4795
4796 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004797 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004798 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004799 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004800 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004801 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004802
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004803 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004804
4805
4806 </td> <!-- entry_type -->
4807
4808 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004809 <p>Control the amount of edge enhancement
4810applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004811 </td>
4812
4813 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004814 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004815 </td>
4816
4817 <td class="entry_range">
4818 </td>
4819
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004820 <td class="entry_tags">
4821 </td>
4822
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004823 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004824
4825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004826 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4827 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828
4829
4830
4831 <!-- end of kind -->
4832 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004833 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004834
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004835 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004836 <tr>
4837 <th class="th_name">Property Name</th>
4838 <th class="th_type">Type</th>
4839 <th class="th_description">Description</th>
4840 <th class="th_units">Units</th>
4841 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004842 <th class="th_tags">Tags</th>
4843 </tr>
4844 </thead>
4845
4846 <tbody>
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004858 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004859 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004860 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004861 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004862 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004863
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004864 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004865
4866 <ul class="entry_type_enum">
4867 <li>
4868 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004869 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004870 </li>
4871 <li>
4872 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004873 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4874output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004875 </li>
4876 <li>
4877 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004878 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4879quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004880 </li>
4881 </ul>
4882
4883 </td> <!-- entry_type -->
4884
4885 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004886 <p>Operation mode for edge
4887enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004888 </td>
4889
4890 <td class="entry_units">
4891 </td>
4892
4893 <td class="entry_range">
4894 </td>
4895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004896 <td class="entry_tags">
4897 </td>
4898
4899 </tr>
4900 <tr class="entries_header">
4901 <th class="th_details" colspan="5">Details</th>
4902 </tr>
4903 <tr class="entry_cont">
4904 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004905 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4906enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004907<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004908will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004909camera device will use the highest-quality enhancement algorithms,<wbr/>
4910even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004911not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004912 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004913 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004914
4915
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004916 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4917 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004918
4919
4920
4921 <!-- end of kind -->
4922 </tbody>
4923
4924 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004925 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004926
4927
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004928 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004930 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004931 <tr>
4932 <th class="th_name">Property Name</th>
4933 <th class="th_type">Type</th>
4934 <th class="th_description">Description</th>
4935 <th class="th_units">Units</th>
4936 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004937 <th class="th_tags">Tags</th>
4938 </tr>
4939 </thead>
4940
4941 <tbody>
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004953 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004954 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004955 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004956 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004957 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004958
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004959 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004960
4961
4962 </td> <!-- entry_type -->
4963
4964 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004965 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004966 </td>
4967
4968 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004969 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004970 </td>
4971
4972 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004973 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004974 </td>
4975
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004976 <td class="entry_tags">
4977 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004978 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004979 </ul>
4980 </td>
4981
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004982 </tr>
4983 <tr class="entries_header">
4984 <th class="th_details" colspan="5">Details</th>
4985 </tr>
4986 <tr class="entry_cont">
4987 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004988 <p>Power for snapshot may use a different scale than
4989for torch mode.<wbr/> Only one entry for torch mode will be
4990used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004991 </td>
4992 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004993
4994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004995 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4996 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004997
4998
4999 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005000 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005001 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005002 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005003 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005004 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005005
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005006 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005007
5008
5009 </td> <!-- entry_type -->
5010
5011 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005012 <p>Firing time of flash relative to start of
5013exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005014 </td>
5015
5016 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005017 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005018 </td>
5019
5020 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005021 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005022 </td>
5023
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005024 <td class="entry_tags">
5025 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005026 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005027 </ul>
5028 </td>
5029
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005030 </tr>
5031 <tr class="entries_header">
5032 <th class="th_details" colspan="5">Details</th>
5033 </tr>
5034 <tr class="entry_cont">
5035 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005036 <p>Clamped to (0,<wbr/> exposure time - flash
5037duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005038 </td>
5039 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005040
5041
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005042 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5043 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005044
5045
5046 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005047 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005048 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005049 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005050 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005051 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005052
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005053 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005054
5055 <ul class="entry_type_enum">
5056 <li>
5057 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005058 <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 -08005059 </li>
5060 <li>
5061 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005062 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5063for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5064<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005065 </li>
5066 <li>
5067 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005068 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005069 </li>
5070 </ul>
5071
5072 </td> <!-- entry_type -->
5073
5074 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005075 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005076 </td>
5077
5078 <td class="entry_units">
5079 </td>
5080
5081 <td class="entry_range">
5082 </td>
5083
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005084 <td class="entry_tags">
5085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005086 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005087 </ul>
5088 </td>
5089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005090 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005091 <tr class="entries_header">
5092 <th class="th_details" colspan="5">Details</th>
5093 </tr>
5094 <tr class="entry_cont">
5095 <td class="entry_details" colspan="5">
5096 <p>This control is only effective when flash unit is available
5097(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5098<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/>
5099Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5100ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5101<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5102<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5103device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5104control should be used along with AE precapture metering sequence
5105(<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>
5106<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5107for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5108 </td>
5109 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005110
5111
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005112 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5113 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005114
5115
5116
5117 <!-- end of kind -->
5118 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005119 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005120
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005121 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005122 <tr>
5123 <th class="th_name">Property Name</th>
5124 <th class="th_type">Type</th>
5125 <th class="th_description">Description</th>
5126 <th class="th_units">Units</th>
5127 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005128 <th class="th_tags">Tags</th>
5129 </tr>
5130 </thead>
5131
5132 <tbody>
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005146 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005147 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005148 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005149 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005150 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005151
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005152 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005153
5154
5155 </td> <!-- entry_type -->
5156
5157 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005158 <p>Whether this camera has a
5159flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005160 </td>
5161
5162 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005163 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005164 </td>
5165
5166 <td class="entry_range">
5167 </td>
5168
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005169 <td class="entry_tags">
5170 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005171 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005172 </ul>
5173 </td>
5174
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005175 </tr>
5176 <tr class="entries_header">
5177 <th class="th_details" colspan="5">Details</th>
5178 </tr>
5179 <tr class="entry_cont">
5180 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005181 <p>If no flash,<wbr/> none of the flash controls do
5182anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005183 </td>
5184 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005185
5186
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005187 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5188 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005189
5190
5191 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005192 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005193 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005194 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005195 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005196 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005197
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005198 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005199
5200
5201 </td> <!-- entry_type -->
5202
5203 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005204 <p>Time taken before flash can fire
5205again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005206 </td>
5207
5208 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005209 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005210 </td>
5211
5212 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005213 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005214 </td>
5215
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005216 <td class="entry_tags">
5217 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005218 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005219 </ul>
5220 </td>
5221
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005222 </tr>
5223 <tr class="entries_header">
5224 <th class="th_details" colspan="5">Details</th>
5225 </tr>
5226 <tr class="entry_cont">
5227 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005228 <p>1 second too long/<wbr/>too short for recharge? Should
5229this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005230 </td>
5231 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005232
5233
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005234 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5235 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005236
5237
5238
5239
5240
5241 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005242 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005243 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005244 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005245 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005246 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005247
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005248 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005249
5250
5251 </td> <!-- entry_type -->
5252
5253 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005254 <p>The x,<wbr/>y whitepoint of the
5255flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005256 </td>
5257
5258 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005259 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005260 </td>
5261
5262 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005263 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005264 </td>
5265
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005266 <td class="entry_tags">
5267 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005268 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005269 </ul>
5270 </td>
5271
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005272 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005273
5274
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005275 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5276 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005277
5278
5279 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005280 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005281 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005282 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005283 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005284 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005285
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005286 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005287
5288
5289 </td> <!-- entry_type -->
5290
5291 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005292 <p>Max energy output of the flash for a full
5293power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005294 </td>
5295
5296 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005297 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005298 </td>
5299
5300 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005301 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005302 </td>
5303
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005304 <td class="entry_tags">
5305 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005306 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005307 </ul>
5308 </td>
5309
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005310 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005311
5312
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005313 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5314 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005315
5316
5317
5318 <!-- end of kind -->
5319 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005320 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005321
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005322 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005323 <tr>
5324 <th class="th_name">Property Name</th>
5325 <th class="th_type">Type</th>
5326 <th class="th_description">Description</th>
5327 <th class="th_units">Units</th>
5328 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005329 <th class="th_tags">Tags</th>
5330 </tr>
5331 </thead>
5332
5333 <tbody>
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005345 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005346 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005347 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005348 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005349 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005350
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005351 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005352
5353
5354 </td> <!-- entry_type -->
5355
5356 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005357 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005358 </td>
5359
5360 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005361 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005362 </td>
5363
5364 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005365 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005366 </td>
5367
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005368 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005369 <ul class="entry_tags">
5370 <li><a href="#tag_V1">V1</a></li>
5371 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005372 </td>
5373
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005374 </tr>
5375 <tr class="entries_header">
5376 <th class="th_details" colspan="5">Details</th>
5377 </tr>
5378 <tr class="entry_cont">
5379 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005380 <p>Power for snapshot may use a different scale than
5381for torch mode.<wbr/> Only one entry for torch mode will be
5382used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005383 </td>
5384 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005385
5386
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005387 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5388 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005389
5390
5391 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005392 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005393 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005394 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005395 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005396 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005397
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005398 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005399
5400
5401 </td> <!-- entry_type -->
5402
5403 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005404 <p>Firing time of flash relative to start of
5405exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005406 </td>
5407
5408 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005409 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005410 </td>
5411
5412 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005413 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005414 </td>
5415
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005416 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005417 <ul class="entry_tags">
5418 <li><a href="#tag_V1">V1</a></li>
5419 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005420 </td>
5421
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005422 </tr>
5423 <tr class="entries_header">
5424 <th class="th_details" colspan="5">Details</th>
5425 </tr>
5426 <tr class="entry_cont">
5427 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005428 <p>Clamped to (0,<wbr/> exposure time - flash
5429duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005430 </td>
5431 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005432
5433
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005434 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5435 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436
5437
5438 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005439 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005440 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005441 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005443 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005444
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005445 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005446
5447 <ul class="entry_type_enum">
5448 <li>
5449 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005450 <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 -08005451 </li>
5452 <li>
5453 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005454 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5455for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5456<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005457 </li>
5458 <li>
5459 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005460 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005461 </li>
5462 </ul>
5463
5464 </td> <!-- entry_type -->
5465
5466 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005467 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 </td>
5469
5470 <td class="entry_units">
5471 </td>
5472
5473 <td class="entry_range">
5474 </td>
5475
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005476 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005477 <ul class="entry_tags">
5478 <li><a href="#tag_BC">BC</a></li>
5479 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005480 </td>
5481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005482 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005483 <tr class="entries_header">
5484 <th class="th_details" colspan="5">Details</th>
5485 </tr>
5486 <tr class="entry_cont">
5487 <td class="entry_details" colspan="5">
5488 <p>This control is only effective when flash unit is available
5489(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5490<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/>
5491Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5492ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5493<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5494<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5495device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5496control should be used along with AE precapture metering sequence
5497(<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>
5498<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5499for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5500 </td>
5501 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005502
5503
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005504 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5505 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005506
5507
5508 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005509 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005510 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005511 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005512 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005513 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005514
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005515 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005516
5517 <ul class="entry_type_enum">
5518 <li>
5519 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005520 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 </li>
5522 <li>
5523 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005524 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5525charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005526 </li>
5527 <li>
5528 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005529 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5530ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005531 </li>
5532 <li>
5533 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005534 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5535for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005536 </li>
5537 </ul>
5538
5539 </td> <!-- entry_type -->
5540
5541 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005542 <p>Current state of the flash
5543unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005544 </td>
5545
5546 <td class="entry_units">
5547 </td>
5548
5549 <td class="entry_range">
5550 </td>
5551
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005552 <td class="entry_tags">
5553 </td>
5554
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005555 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005556
5557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005558 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5559 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005560
5561
5562
5563 <!-- end of kind -->
5564 </tbody>
5565
5566 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005567 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005568
5569
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005570 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005571
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005572 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005573 <tr>
5574 <th class="th_name">Property Name</th>
5575 <th class="th_type">Type</th>
5576 <th class="th_description">Description</th>
5577 <th class="th_units">Units</th>
5578 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005579 <th class="th_tags">Tags</th>
5580 </tr>
5581 </thead>
5582
5583 <tbody>
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005595 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005596 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005597 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005599 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005600
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005601 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005602
5603 <ul class="entry_type_enum">
5604 <li>
5605 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005606 <span class="entry_type_enum_notes"><p>No geometric correction is
5607applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005608 </li>
5609 <li>
5610 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005611 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5612bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005613 </li>
5614 <li>
5615 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005616 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5617quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005618 </li>
5619 </ul>
5620
5621 </td> <!-- entry_type -->
5622
5623 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005624 <p>Operating mode of geometric
5625correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005626 </td>
5627
5628 <td class="entry_units">
5629 </td>
5630
5631 <td class="entry_range">
5632 </td>
5633
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005634 <td class="entry_tags">
5635 </td>
5636
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005637 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005638
5639
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005640 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5641 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005642
5643
5644 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005645 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005646 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005647 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005648 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005649 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005651 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005652
5653
5654 </td> <!-- entry_type -->
5655
5656 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005657 <p>Control the amount of shading correction
5658applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005659 </td>
5660
5661 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005662 unitless: 1-10; 10 is full shading
5663 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664 </td>
5665
5666 <td class="entry_range">
5667 </td>
5668
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005669 <td class="entry_tags">
5670 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005671 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005672 </ul>
5673 </td>
5674
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005675 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005676
5677
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005678 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5679 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005680
5681
5682
5683 <!-- end of kind -->
5684 </tbody>
5685
5686 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005687 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005688
5689
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005690 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005691
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005692 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005693 <tr>
5694 <th class="th_name">Property Name</th>
5695 <th class="th_type">Type</th>
5696 <th class="th_description">Description</th>
5697 <th class="th_units">Units</th>
5698 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005699 <th class="th_tags">Tags</th>
5700 </tr>
5701 </thead>
5702
5703 <tbody>
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005715 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005716 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005717 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005718 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005719 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005720
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005721 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005722
5723 <ul class="entry_type_enum">
5724 <li>
5725 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005726 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5727applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005728 </li>
5729 <li>
5730 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005731 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5732Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005733 </li>
5734 <li>
5735 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005736 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5737quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005738 </li>
5739 </ul>
5740
5741 </td> <!-- entry_type -->
5742
5743 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005744 <p>Set operational mode for hot pixel
5745correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746 </td>
5747
5748 <td class="entry_units">
5749 </td>
5750
5751 <td class="entry_range">
5752 </td>
5753
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005754 <td class="entry_tags">
5755 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005756 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005757 </ul>
5758 </td>
5759
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005760 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005761
5762
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005763 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5764 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005765
5766
5767
5768 <!-- end of kind -->
5769 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005770 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005771
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005772 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005773 <tr>
5774 <th class="th_name">Property Name</th>
5775 <th class="th_type">Type</th>
5776 <th class="th_description">Description</th>
5777 <th class="th_units">Units</th>
5778 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005779 <th class="th_tags">Tags</th>
5780 </tr>
5781 </thead>
5782
5783 <tbody>
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005797 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005798 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005799 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005800 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005801 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005802 <span class="entry_type_container">x</span>
5803
5804 <span class="entry_type_array">
5805 2 x n
5806 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005807 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005808 <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 -08005809
5810
5811 </td> <!-- entry_type -->
5812
5813 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005814 <p>Location of hot/<wbr/>defective pixels on
5815sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005816 </td>
5817
5818 <td class="entry_units">
5819 </td>
5820
5821 <td class="entry_range">
5822 </td>
5823
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005824 <td class="entry_tags">
5825 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005826 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005827 </ul>
5828 </td>
5829
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005830 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005831
5832
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005833 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5834 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005835
5836
5837
5838
5839
5840
5841 <!-- end of kind -->
5842 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005843 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005844
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005845 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005846 <tr>
5847 <th class="th_name">Property Name</th>
5848 <th class="th_type">Type</th>
5849 <th class="th_description">Description</th>
5850 <th class="th_units">Units</th>
5851 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005852 <th class="th_tags">Tags</th>
5853 </tr>
5854 </thead>
5855
5856 <tbody>
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005868 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005869 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005870 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005871 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005872 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005873
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005874 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005875
5876 <ul class="entry_type_enum">
5877 <li>
5878 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005879 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5880applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005881 </li>
5882 <li>
5883 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005884 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5885Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005886 </li>
5887 <li>
5888 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005889 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5890quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005891 </li>
5892 </ul>
5893
5894 </td> <!-- entry_type -->
5895
5896 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005897 <p>Set operational mode for hot pixel
5898correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005899 </td>
5900
5901 <td class="entry_units">
5902 </td>
5903
5904 <td class="entry_range">
5905 </td>
5906
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005907 <td class="entry_tags">
5908 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005909 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005910 </ul>
5911 </td>
5912
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005913 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005914
5915
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005916 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5917 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005918
5919
5920
5921 <!-- end of kind -->
5922 </tbody>
5923
5924 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005925 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005926
5927
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005928 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005930 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005931 <tr>
5932 <th class="th_name">Property Name</th>
5933 <th class="th_type">Type</th>
5934 <th class="th_description">Description</th>
5935 <th class="th_units">Units</th>
5936 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005937 <th class="th_tags">Tags</th>
5938 </tr>
5939 </thead>
5940
5941 <tbody>
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005953 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005954 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005955 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005956 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005957 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005958 <span class="entry_type_container">x</span>
5959
5960 <span class="entry_type_array">
5961 3
5962 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005963 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005964 <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 -08005965
5966
5967 </td> <!-- entry_type -->
5968
5969 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005970 <p>GPS coordinates to include in output JPEG
5971EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972 </td>
5973
5974 <td class="entry_units">
5975 </td>
5976
5977 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005978 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005979 </td>
5980
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005981 <td class="entry_tags">
5982 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005983 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984 </ul>
5985 </td>
5986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005987 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005988
5989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005990 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5991 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005992
5993
5994 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005995 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005996 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005997 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005999 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006000
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006001 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006002
6003
6004 </td> <!-- entry_type -->
6005
6006 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006007 <p>32 characters describing GPS algorithm to
6008include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006009 </td>
6010
6011 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006012 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006013 </td>
6014
6015 <td class="entry_range">
6016 </td>
6017
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006018 <td class="entry_tags">
6019 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006020 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006021 </ul>
6022 </td>
6023
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006024 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006025
6026
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006027 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6028 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006029
6030
6031 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006032 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006033 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006034 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006035 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006036 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006037
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006038 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006039
6040
6041 </td> <!-- entry_type -->
6042
6043 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006044 <p>Time GPS fix was made to include in
6045EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006046 </td>
6047
6048 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006049 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006050 </td>
6051
6052 <td class="entry_range">
6053 </td>
6054
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055 <td class="entry_tags">
6056 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006057 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006058 </ul>
6059 </td>
6060
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006061 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006062
6063
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006064 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6065 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006066
6067
6068 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006069 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006070 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006071 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006072 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006073 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006074
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006075 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006076
6077
6078 </td> <!-- entry_type -->
6079
6080 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006081 <p>Orientation of JPEG image to
6082write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006083 </td>
6084
6085 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006086 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006087 </td>
6088
6089 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006090 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006091 </td>
6092
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006093 <td class="entry_tags">
6094 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006095 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006096 </ul>
6097 </td>
6098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006099 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006100
6101
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006102 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6103 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006104
6105
6106 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006107 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006108 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006109 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006110 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006111 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006112
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006113 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006114
6115
6116 </td> <!-- entry_type -->
6117
6118 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006119 <p>Compression quality of the final JPEG
6120image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006121 </td>
6122
6123 <td class="entry_units">
6124 </td>
6125
6126 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006127 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006128 </td>
6129
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006130 <td class="entry_tags">
6131 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006132 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006133 </ul>
6134 </td>
6135
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006136 </tr>
6137 <tr class="entries_header">
6138 <th class="th_details" colspan="5">Details</th>
6139 </tr>
6140 <tr class="entry_cont">
6141 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006142 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006143 </td>
6144 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006145
6146
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006147 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6148 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006149
6150
6151 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006152 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006153 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006154 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006155 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006156 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006157
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006158 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006159
6160
6161 </td> <!-- entry_type -->
6162
6163 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006164 <p>Compression quality of JPEG
6165thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006166 </td>
6167
6168 <td class="entry_units">
6169 </td>
6170
6171 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006172 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006173 </td>
6174
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006175 <td class="entry_tags">
6176 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006177 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006178 </ul>
6179 </td>
6180
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006181 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006182
6183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006184 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6185 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006186
6187
6188 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006189 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006190 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006191 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006193 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006194 <span class="entry_type_container">x</span>
6195
6196 <span class="entry_type_array">
6197 2
6198 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006199 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006200
6201
6202 </td> <!-- entry_type -->
6203
6204 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006205 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006206 </td>
6207
6208 <td class="entry_units">
6209 </td>
6210
6211 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006212 <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 -08006213 </td>
6214
6215 <td class="entry_tags">
6216 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006217 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006218 </ul>
6219 </td>
6220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006221 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006222 <tr class="entries_header">
6223 <th class="th_details" colspan="5">Details</th>
6224 </tr>
6225 <tr class="entry_cont">
6226 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006227 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6228but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006229<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6230the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006231 </td>
6232 </tr>
6233
6234
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006235 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6236 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006237
6238
6239
6240 <!-- end of kind -->
6241 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006242 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006244 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006245 <tr>
6246 <th class="th_name">Property Name</th>
6247 <th class="th_type">Type</th>
6248 <th class="th_description">Description</th>
6249 <th class="th_units">Units</th>
6250 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006251 <th class="th_tags">Tags</th>
6252 </tr>
6253 </thead>
6254
6255 <tbody>
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006267 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006268 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006269 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006270 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006271 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006272 <span class="entry_type_container">x</span>
6273
6274 <span class="entry_type_array">
6275 2 x n
6276 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006277 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006278
6279
6280 </td> <!-- entry_type -->
6281
6282 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006283 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006284 </td>
6285
6286 <td class="entry_units">
6287 </td>
6288
6289 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006290 <p>Will include at least one valid resolution,<wbr/> plus
6291(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006292 </td>
6293
6294 <td class="entry_tags">
6295 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006296 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006297 </ul>
6298 </td>
6299
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006300 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006301 <tr class="entries_header">
6302 <th class="th_details" colspan="5">Details</th>
6303 </tr>
6304 <tr class="entry_cont">
6305 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006306 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006307<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006308<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6309If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6310<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006311aspect 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 -08006312The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006313in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006314<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 -08006315one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6316and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006317<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006318</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006319 </td>
6320 </tr>
6321
6322
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006323 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6324 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006325
6326
6327 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006328 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006329 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006330 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006331 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006332 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006333
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006334 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006335
6336
6337 </td> <!-- entry_type -->
6338
6339 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006340 <p>Maximum size in bytes for the compressed
6341JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006342 </td>
6343
6344 <td class="entry_units">
6345 </td>
6346
6347 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006348 <p>Must be large enough to fit any JPEG produced by
6349the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006350 </td>
6351
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006352 <td class="entry_tags">
6353 </td>
6354
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006355 </tr>
6356 <tr class="entries_header">
6357 <th class="th_details" colspan="5">Details</th>
6358 </tr>
6359 <tr class="entry_cont">
6360 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006361 <p>This is used for sizing the gralloc buffers for
6362JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006363 </td>
6364 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006365
6366
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006367 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6368 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006369
6370
6371
6372 <!-- end of kind -->
6373 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006374 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006375
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006376 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006377 <tr>
6378 <th class="th_name">Property Name</th>
6379 <th class="th_type">Type</th>
6380 <th class="th_description">Description</th>
6381 <th class="th_units">Units</th>
6382 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006383 <th class="th_tags">Tags</th>
6384 </tr>
6385 </thead>
6386
6387 <tbody>
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006399 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006400 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006401 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006402 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006403 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006404 <span class="entry_type_container">x</span>
6405
6406 <span class="entry_type_array">
6407 3
6408 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006409 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006410 <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 -08006411
6412
6413 </td> <!-- entry_type -->
6414
6415 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006416 <p>GPS coordinates to include in output JPEG
6417EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006418 </td>
6419
6420 <td class="entry_units">
6421 </td>
6422
6423 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006424 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006425 </td>
6426
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006427 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006428 <ul class="entry_tags">
6429 <li><a href="#tag_BC">BC</a></li>
6430 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006431 </td>
6432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006433 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006434
6435
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006436 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6437 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006438
6439
6440 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006441 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006442 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006443 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006444 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006445 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006446
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006447 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006448
6449
6450 </td> <!-- entry_type -->
6451
6452 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006453 <p>32 characters describing GPS algorithm to
6454include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006455 </td>
6456
6457 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006458 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006459 </td>
6460
6461 <td class="entry_range">
6462 </td>
6463
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006464 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006465 <ul class="entry_tags">
6466 <li><a href="#tag_BC">BC</a></li>
6467 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006468 </td>
6469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006470 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006471
6472
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006473 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6474 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006475
6476
6477 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006478 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006479 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006480 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006481 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006482 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006484 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485
6486
6487 </td> <!-- entry_type -->
6488
6489 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006490 <p>Time GPS fix was made to include in
6491EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006492 </td>
6493
6494 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006495 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006496 </td>
6497
6498 <td class="entry_range">
6499 </td>
6500
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006501 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006502 <ul class="entry_tags">
6503 <li><a href="#tag_BC">BC</a></li>
6504 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006505 </td>
6506
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006507 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006508
6509
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006510 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6511 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006512
6513
6514 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006515 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006516 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006517 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006518 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006519 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006520
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006521 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006522
6523
6524 </td> <!-- entry_type -->
6525
6526 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006527 <p>Orientation of JPEG image to
6528write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006529 </td>
6530
6531 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006532 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006533 </td>
6534
6535 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006536 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006537 </td>
6538
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006539 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006540 <ul class="entry_tags">
6541 <li><a href="#tag_BC">BC</a></li>
6542 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006543 </td>
6544
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006545 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006546
6547
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006548 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6549 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006550
6551
6552 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006553 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006554 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006555 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006556 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006557 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006558
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006559 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006560
6561
6562 </td> <!-- entry_type -->
6563
6564 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006565 <p>Compression quality of the final JPEG
6566image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006567 </td>
6568
6569 <td class="entry_units">
6570 </td>
6571
6572 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006573 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006574 </td>
6575
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006576 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006577 <ul class="entry_tags">
6578 <li><a href="#tag_BC">BC</a></li>
6579 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006580 </td>
6581
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006582 </tr>
6583 <tr class="entries_header">
6584 <th class="th_details" colspan="5">Details</th>
6585 </tr>
6586 <tr class="entry_cont">
6587 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006588 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006589 </td>
6590 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006591
6592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006593 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6594 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006595
6596
6597 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006598 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006599 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006600 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006602 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006603
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006604 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006605
6606
6607 </td> <!-- entry_type -->
6608
6609 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006610 <p>The size of the compressed JPEG image,<wbr/> in
6611bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006612 </td>
6613
6614 <td class="entry_units">
6615 </td>
6616
6617 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006618 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006619 </td>
6620
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006621 <td class="entry_tags">
6622 </td>
6623
6624 </tr>
6625 <tr class="entries_header">
6626 <th class="th_details" colspan="5">Details</th>
6627 </tr>
6628 <tr class="entry_cont">
6629 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006630 <p>If no JPEG output is produced for the request,<wbr/>
6631this must be 0.<wbr/></p>
6632<p>Otherwise,<wbr/> this describes the real size of the compressed
6633JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006634if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6635has <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 -08006636the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6637500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006638 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006639 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006640
6641
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006642 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6643 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006644
6645
6646 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006647 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006648 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006649 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006651 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006652
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006653 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006654
6655
6656 </td> <!-- entry_type -->
6657
6658 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006659 <p>Compression quality of JPEG
6660thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006661 </td>
6662
6663 <td class="entry_units">
6664 </td>
6665
6666 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006667 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006668 </td>
6669
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006670 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006671 <ul class="entry_tags">
6672 <li><a href="#tag_BC">BC</a></li>
6673 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006674 </td>
6675
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006676 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006677
6678
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006679 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6680 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006681
6682
6683 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006684 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006685 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006686 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006687 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006688 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006689 <span class="entry_type_container">x</span>
6690
6691 <span class="entry_type_array">
6692 2
6693 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006694 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006695
6696
6697 </td> <!-- entry_type -->
6698
6699 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006700 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006701 </td>
6702
6703 <td class="entry_units">
6704 </td>
6705
6706 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006707 <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 -08006708 </td>
6709
6710 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006711 <ul class="entry_tags">
6712 <li><a href="#tag_BC">BC</a></li>
6713 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006714 </td>
6715
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006717 <tr class="entries_header">
6718 <th class="th_details" colspan="5">Details</th>
6719 </tr>
6720 <tr class="entry_cont">
6721 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006722 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6723but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006724<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6725the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006726 </td>
6727 </tr>
6728
6729
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006730 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6731 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006732
6733
6734
6735 <!-- end of kind -->
6736 </tbody>
6737
6738 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006739 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006740
6741
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006742 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006743
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006744 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006745 <tr>
6746 <th class="th_name">Property Name</th>
6747 <th class="th_type">Type</th>
6748 <th class="th_description">Description</th>
6749 <th class="th_units">Units</th>
6750 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006751 <th class="th_tags">Tags</th>
6752 </tr>
6753 </thead>
6754
6755 <tbody>
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006767 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006768 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006769 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006770 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006771 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006772
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006773 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006774
6775
6776 </td> <!-- entry_type -->
6777
6778 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006779 <p>The ratio of lens focal length to the effective
6780aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006781 </td>
6782
6783 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006784 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006785 </td>
6786
6787 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006788 <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 -08006789 </td>
6790
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006791 <td class="entry_tags">
6792 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006793 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006794 </ul>
6795 </td>
6796
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006797 </tr>
6798 <tr class="entries_header">
6799 <th class="th_details" colspan="5">Details</th>
6800 </tr>
6801 <tr class="entry_cont">
6802 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006803 <p>This will only be supported on the camera devices that
6804have variable aperture lens.<wbr/> The aperture value can only be
6805one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6806<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6807this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6808<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6809to achieve manual exposure control.<wbr/></p>
6810<p>The requested aperture value may take several frames to reach the
6811requested value; the camera device will report the current (intermediate)
6812aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6813<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6814the ON modes,<wbr/> this will be overridden by the camera device
6815auto-exposure algorithm,<wbr/> the overridden values are then provided
6816back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006817 </td>
6818 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006819
6820
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006821 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6822 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006823
6824
6825 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006826 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006827 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006828 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006829 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006830 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006831
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006832 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006833
6834
6835 </td> <!-- entry_type -->
6836
6837 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006838 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006839 </td>
6840
6841 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006842 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006843 </td>
6844
6845 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006846 <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 -08006847 </td>
6848
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849 <td class="entry_tags">
6850 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006851 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006852 </ul>
6853 </td>
6854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006855 </tr>
6856 <tr class="entries_header">
6857 <th class="th_details" colspan="5">Details</th>
6858 </tr>
6859 <tr class="entry_cont">
6860 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006861 <p>This will not be supported on most camera devices.<wbr/> On devices
6862where this is supported,<wbr/> this may only be set to one of the
6863values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6864<p>Lens filters are typically used to lower the amount of light the
6865sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6866step is the standard logarithmic representation,<wbr/> which are
6867non-negative,<wbr/> and inversely proportional to the amount of light
6868hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6869in no reduction of the incoming light,<wbr/> and setting this to 2 would
6870mean that the filter is set to reduce incoming light by two stops
6871(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006872 </td>
6873 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006874
6875
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006876 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6877 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006878
6879
6880 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006881 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006882 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006883 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006884 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006885 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006886
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006887 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006888
6889
6890 </td> <!-- entry_type -->
6891
6892 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006893 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006894 </td>
6895
6896 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006897 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006898 </td>
6899
6900 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006901 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006902 </td>
6903
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006904 <td class="entry_tags">
6905 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006906 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006907 </ul>
6908 </td>
6909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006910 </tr>
6911 <tr class="entries_header">
6912 <th class="th_details" colspan="5">Details</th>
6913 </tr>
6914 <tr class="entry_cont">
6915 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006916 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006917 </td>
6918 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006919
6920
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006921 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6922 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006923
6924
6925 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006926 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006927 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006928 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006929 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006930 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006931
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006932 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006933
6934
6935 </td> <!-- entry_type -->
6936
6937 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006938 <p>Distance to plane of sharpest focus,<wbr/>
6939measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006940 </td>
6941
6942 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006943 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006944 </td>
6945
6946 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006947 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006948 </td>
6949
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006950 <td class="entry_tags">
6951 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006952 <li><a href="#tag_BC">BC</a></li>
6953 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006954 </ul>
6955 </td>
6956
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006957 </tr>
6958 <tr class="entries_header">
6959 <th class="th_details" colspan="5">Details</th>
6960 </tr>
6961 <tr class="entry_cont">
6962 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006963 <p>0 = infinity focus.<wbr/> Used value should be clamped
6964to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006965 </td>
6966 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006967
6968
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006969 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6970 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006971
6972
6973 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006974 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006975 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006976 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006977 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006978 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006979
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006980 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006981
6982 <ul class="entry_type_enum">
6983 <li>
6984 <span class="entry_type_enum_name">OFF</span>
6985 </li>
6986 <li>
6987 <span class="entry_type_enum_name">ON</span>
6988 <span class="entry_type_enum_optional">optional</span>
6989 </li>
6990 </ul>
6991
6992 </td> <!-- entry_type -->
6993
6994 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006995 <p>Whether optical image stabilization is
6996enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006997 </td>
6998
6999 <td class="entry_units">
7000 </td>
7001
7002 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007003 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007004 </td>
7005
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007006 <td class="entry_tags">
7007 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007008 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007009 </ul>
7010 </td>
7011
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007012 </tr>
7013 <tr class="entries_header">
7014 <th class="th_details" colspan="5">Details</th>
7015 </tr>
7016 <tr class="entry_cont">
7017 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007018 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007019 </td>
7020 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007021
7022
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007023 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7024 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025
7026
7027
7028 <!-- end of kind -->
7029 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007030 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007032 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007033 <tr>
7034 <th class="th_name">Property Name</th>
7035 <th class="th_type">Type</th>
7036 <th class="th_description">Description</th>
7037 <th class="th_units">Units</th>
7038 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007039 <th class="th_tags">Tags</th>
7040 </tr>
7041 </thead>
7042
7043 <tbody>
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007057 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007058 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007059 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007060 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007061 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007062 <span class="entry_type_container">x</span>
7063
7064 <span class="entry_type_array">
7065 n
7066 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007067 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007068
7069
7070 </td> <!-- entry_type -->
7071
7072 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007073 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007074values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007075 </td>
7076
7077 <td class="entry_units">
7078 </td>
7079
7080 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007081 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007082 </td>
7083
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007084 <td class="entry_tags">
7085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007086 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007087 </ul>
7088 </td>
7089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007090 </tr>
7091 <tr class="entries_header">
7092 <th class="th_details" colspan="5">Details</th>
7093 </tr>
7094 <tr class="entry_cont">
7095 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007096 <p>If the camera device doesn't support variable apertures,<wbr/>
7097listed value will be the fixed aperture.<wbr/></p>
7098<p>If the camera device supports variable apertures,<wbr/> the aperture value
7099in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007100 </td>
7101 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007102
7103
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007104 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7105 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007106
7107
7108 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007109 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007110 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007111 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007112 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007113 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007114 <span class="entry_type_container">x</span>
7115
7116 <span class="entry_type_array">
7117 n
7118 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007119 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007120
7121
7122 </td> <!-- entry_type -->
7123
7124 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007125 <p>List of supported neutral density filter values for
7126<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007127 </td>
7128
7129 <td class="entry_units">
7130 </td>
7131
7132 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007133 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007134 </td>
7135
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007136 <td class="entry_tags">
7137 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007138 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007139 </ul>
7140 </td>
7141
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007142 </tr>
7143 <tr class="entries_header">
7144 <th class="th_details" colspan="5">Details</th>
7145 </tr>
7146 <tr class="entry_cont">
7147 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007148 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7149availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7150list contains only the exact filter density values available on
7151this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007152 </td>
7153 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007154
7155
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007156 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7157 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007158
7159
7160 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007161 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007162 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007163 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007164 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007165 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007166 <span class="entry_type_container">x</span>
7167
7168 <span class="entry_type_array">
7169 n
7170 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007171 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007172 <div class="entry_type_notes">the list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007173
7174
7175 </td> <!-- entry_type -->
7176
7177 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007178 <p>If fitted with optical zoom,<wbr/> what focal
7179lengths are available.<wbr/> If not,<wbr/> the static focal
7180length</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007181 </td>
7182
7183 <td class="entry_units">
7184 </td>
7185
7186 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007187 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007188 </td>
7189
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007190 <td class="entry_tags">
7191 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007192 <li><a href="#tag_BC">BC</a></li>
7193 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007194 </ul>
7195 </td>
7196
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007197 </tr>
7198 <tr class="entries_header">
7199 <th class="th_details" colspan="5">Details</th>
7200 </tr>
7201 <tr class="entry_cont">
7202 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007203 <p>If optical zoom not supported,<wbr/> only one value
7204should be reported</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007205 </td>
7206 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007207
7208
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007209 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7210 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007211
7212
7213 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007214 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007215 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007216 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007217 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007218 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007219 <span class="entry_type_container">x</span>
7220
7221 <span class="entry_type_array">
7222 n
7223 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007224 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007225 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007226
7227
7228 </td> <!-- entry_type -->
7229
7230 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007231 <p>List of supported optical image
7232stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007233 </td>
7234
7235 <td class="entry_units">
7236 </td>
7237
7238 <td class="entry_range">
7239 </td>
7240
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007241 <td class="entry_tags">
7242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007243 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007244 </ul>
7245 </td>
7246
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007247 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007248
7249
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007250 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7251 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007252
7253
7254 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007255 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007256 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007257 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007258 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007259 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007260 <span class="entry_type_container">x</span>
7261
7262 <span class="entry_type_array">
7263 2 x 3 x n x m
7264 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007265 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007266 <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 -08007267
7268
7269 </td> <!-- entry_type -->
7270
7271 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007272 <p>A low-resolution map for correction of
7273geometric distortions and chromatic aberrations,<wbr/> per
7274color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007275 </td>
7276
7277 <td class="entry_units">
7278 </td>
7279
7280 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007281 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007282 </td>
7283
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007284 <td class="entry_tags">
7285 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007286 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007287 </ul>
7288 </td>
7289
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007290 </tr>
7291 <tr class="entries_header">
7292 <th class="th_details" colspan="5">Details</th>
7293 </tr>
7294 <tr class="entry_cont">
7295 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007296 <p>[DNG wants a function instead].<wbr/> What's easiest
7297for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7298j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7299j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7300entry 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 -08007301 </td>
7302 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007303
7304
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007305 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7306 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007307
7308
7309 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007310 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007311 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007312 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007313 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007314 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007315 <span class="entry_type_container">x</span>
7316
7317 <span class="entry_type_array">
7318 2
7319 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007320 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007321 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007322
7323
7324 </td> <!-- entry_type -->
7325
7326 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007327 <p>Dimensions of geometric correction
7328map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007329 </td>
7330
7331 <td class="entry_units">
7332 </td>
7333
7334 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007335 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007336 </td>
7337
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007338 <td class="entry_tags">
7339 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007340 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007341 </ul>
7342 </td>
7343
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007344 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007345
7346
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007347 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7348 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007349
7350
7351 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007352 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007353 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007354 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007355 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007356 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007357
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007358 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007359
7360
7361 </td> <!-- entry_type -->
7362
7363 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007364 <p>Hyperfocal distance for this lens; set to
73650 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007366 </td>
7367
7368 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007369 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007370 </td>
7371
7372 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007373 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007374 </td>
7375
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007376 <td class="entry_tags">
7377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007379 </ul>
7380 </td>
7381
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007382 </tr>
7383 <tr class="entries_header">
7384 <th class="th_details" colspan="5">Details</th>
7385 </tr>
7386 <tr class="entry_cont">
7387 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007388 <p>The hyperfocal distance is used for the old
7389API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007390 </td>
7391 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007392
7393
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007394 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7395 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007396
7397
7398 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007399 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007400 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007401 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007402 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007403 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007404
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007405 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007406
7407
7408 </td> <!-- entry_type -->
7409
7410 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007411 <p>Shortest distance from frontmost surface
7412of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007413 </td>
7414
7415 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007416 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007417 </td>
7418
7419 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007420 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007421 </td>
7422
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007423 <td class="entry_tags">
7424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007425 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007426 </ul>
7427 </td>
7428
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007429 </tr>
7430 <tr class="entries_header">
7431 <th class="th_details" colspan="5">Details</th>
7432 </tr>
7433 <tr class="entry_cont">
7434 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007435 <p>If the lens is fixed-focus,<wbr/> this should be
74360</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007437 </td>
7438 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007439
7440
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007441 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7442 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007443
7444
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007445 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007446 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007447 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007448 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007449 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007450 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007451 <span class="entry_type_container">x</span>
7452
7453 <span class="entry_type_array">
7454 2
7455 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007456 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007457 <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 -08007458
7459
7460 </td> <!-- entry_type -->
7461
7462 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007463 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007464 </td>
7465
7466 <td class="entry_units">
7467 </td>
7468
7469 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007470 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007471 </td>
7472
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007473 <td class="entry_tags">
7474 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007475 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007476 </ul>
7477 </td>
7478
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007479 </tr>
7480 <tr class="entries_header">
7481 <th class="th_details" colspan="5">Details</th>
7482 </tr>
7483 <tr class="entry_cont">
7484 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007485 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7486must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007487 </td>
7488 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007489
7490
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007491 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7492 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007493
7494
7495
7496
7497
7498 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007499 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007500 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007501 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007502 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007503 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007504
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007505 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007506
7507 <ul class="entry_type_enum">
7508 <li>
7509 <span class="entry_type_enum_name">FRONT</span>
7510 </li>
7511 <li>
7512 <span class="entry_type_enum_name">BACK</span>
7513 </li>
7514 </ul>
7515
7516 </td> <!-- entry_type -->
7517
7518 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007519 <p>Direction the camera faces relative to
7520device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007521 </td>
7522
7523 <td class="entry_units">
7524 </td>
7525
7526 <td class="entry_range">
7527 </td>
7528
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007529 <td class="entry_tags">
7530 </td>
7531
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007532 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007533
7534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007535 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7536 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007537
7538
7539 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007540 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007541 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007542 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007543 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007544 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007545 <span class="entry_type_container">x</span>
7546
7547 <span class="entry_type_array">
7548 2
7549 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007550 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007551 <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 -08007552
7553
7554 </td> <!-- entry_type -->
7555
7556 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007557 <p>Relative angle of camera optical axis to the
7558perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007559 </td>
7560
7561 <td class="entry_units">
7562 </td>
7563
7564 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007565 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 </td>
7567
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007568 <td class="entry_tags">
7569 <ul class="entry_tags">
7570 <li><a href="#tag_ADV">ADV</a></li>
7571 </ul>
7572 </td>
7573
7574 </tr>
7575 <tr class="entries_header">
7576 <th class="th_details" colspan="5">Details</th>
7577 </tr>
7578 <tr class="entry_cont">
7579 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007580 <p>Examples:</p>
7581<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007582is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007583<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007584device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007585<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7586the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007587<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007588direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007589 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007590 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007591
7592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007593 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7594 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007595
7596
7597 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007598 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007599 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007600 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007602 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007603 <span class="entry_type_container">x</span>
7604
7605 <span class="entry_type_array">
7606 3, location in mm, in the sensor coordinate
7607 system
7608 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007609 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007610
7611
7612 </td> <!-- entry_type -->
7613
7614 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007615 <p>Coordinates of camera optical axis on
7616device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007617 </td>
7618
7619 <td class="entry_units">
7620 </td>
7621
7622 <td class="entry_range">
7623 </td>
7624
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007625 <td class="entry_tags">
7626 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007627 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007628 </ul>
7629 </td>
7630
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007631 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007632
7633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007634 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7635 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636
7637
7638
7639 <!-- end of kind -->
7640 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007641 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007642
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007643 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007644 <tr>
7645 <th class="th_name">Property Name</th>
7646 <th class="th_type">Type</th>
7647 <th class="th_description">Description</th>
7648 <th class="th_units">Units</th>
7649 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007650 <th class="th_tags">Tags</th>
7651 </tr>
7652 </thead>
7653
7654 <tbody>
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007666 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007667 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007668 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007670 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007671
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007672 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007673
7674
7675 </td> <!-- entry_type -->
7676
7677 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007678 <p>The ratio of lens focal length to the effective
7679aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007680 </td>
7681
7682 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007683 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007684 </td>
7685
7686 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007687 <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 -08007688 </td>
7689
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007690 <td class="entry_tags">
7691 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007692 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007693 </ul>
7694 </td>
7695
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007696 </tr>
7697 <tr class="entries_header">
7698 <th class="th_details" colspan="5">Details</th>
7699 </tr>
7700 <tr class="entry_cont">
7701 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007702 <p>This will only be supported on the camera devices that
7703have variable aperture lens.<wbr/> The aperture value can only be
7704one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7705<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7706this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7707<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7708to achieve manual exposure control.<wbr/></p>
7709<p>The requested aperture value may take several frames to reach the
7710requested value; the camera device will report the current (intermediate)
7711aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7712<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7713the ON modes,<wbr/> this will be overridden by the camera device
7714auto-exposure algorithm,<wbr/> the overridden values are then provided
7715back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007716 </td>
7717 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007718
7719
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007720 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7721 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007722
7723
7724 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007725 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007726 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007727 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007728 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007729 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007730
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007731 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007732
7733
7734 </td> <!-- entry_type -->
7735
7736 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007737 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007738 </td>
7739
7740 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007741 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007742 </td>
7743
7744 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007745 <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 -08007746 </td>
7747
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007748 <td class="entry_tags">
7749 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007750 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007751 </ul>
7752 </td>
7753
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007754 </tr>
7755 <tr class="entries_header">
7756 <th class="th_details" colspan="5">Details</th>
7757 </tr>
7758 <tr class="entry_cont">
7759 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007760 <p>This will not be supported on most camera devices.<wbr/> On devices
7761where this is supported,<wbr/> this may only be set to one of the
7762values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7763<p>Lens filters are typically used to lower the amount of light the
7764sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7765step is the standard logarithmic representation,<wbr/> which are
7766non-negative,<wbr/> and inversely proportional to the amount of light
7767hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7768in no reduction of the incoming light,<wbr/> and setting this to 2 would
7769mean that the filter is set to reduce incoming light by two stops
7770(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007771 </td>
7772 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007773
7774
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007775 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7776 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007777
7778
7779 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007780 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007781 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007782 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007784 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007786 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007787
7788
7789 </td> <!-- entry_type -->
7790
7791 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007792 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007793 </td>
7794
7795 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007796 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007797 </td>
7798
7799 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007800 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007801 </td>
7802
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007803 <td class="entry_tags">
7804 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007805 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007806 </ul>
7807 </td>
7808
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007809 </tr>
7810 <tr class="entries_header">
7811 <th class="th_details" colspan="5">Details</th>
7812 </tr>
7813 <tr class="entry_cont">
7814 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007815 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007816 </td>
7817 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007818
7819
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007820 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7821 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007822
7823
7824 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007825 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007826 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007827 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007828 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007829 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007830
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007831 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007832
7833
7834 </td> <!-- entry_type -->
7835
7836 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007837 <p>Distance to plane of sharpest focus,<wbr/>
7838measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007839 </td>
7840
7841 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007842 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007843 </td>
7844
7845 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007846 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007847 </td>
7848
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007849 <td class="entry_tags">
7850 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007851 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007852 </ul>
7853 </td>
7854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007855 </tr>
7856 <tr class="entries_header">
7857 <th class="th_details" colspan="5">Details</th>
7858 </tr>
7859 <tr class="entry_cont">
7860 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007861 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007862 </td>
7863 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007864
7865
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007866 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7867 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007868
7869
7870 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007871 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007872 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007873 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007874 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007875 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007876 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007877
Zhijun He50451ad2013-09-26 10:27:47 -07007878 <span class="entry_type_array">
7879 2
7880 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007881 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007882 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007883
7884
7885 </td> <!-- entry_type -->
7886
7887 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007888 <p>The range of scene distances that are in
7889sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007890 </td>
7891
7892 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007893 pair of focus distances in diopters: (near,<wbr/>
7894 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007895 </td>
7896
7897 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007898 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007899 </td>
7900
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007901 <td class="entry_tags">
7902 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007903 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007904 </ul>
7905 </td>
7906
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007907 </tr>
7908 <tr class="entries_header">
7909 <th class="th_details" colspan="5">Details</th>
7910 </tr>
7911 <tr class="entry_cont">
7912 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007913 <p>If variable focus not supported,<wbr/> can still report
7914fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007915 </td>
7916 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007917
7918
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007919 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7920 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007921
7922
7923 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007924 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007925 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007926 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007927 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007928 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007930 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007931
7932 <ul class="entry_type_enum">
7933 <li>
7934 <span class="entry_type_enum_name">OFF</span>
7935 </li>
7936 <li>
7937 <span class="entry_type_enum_name">ON</span>
7938 <span class="entry_type_enum_optional">optional</span>
7939 </li>
7940 </ul>
7941
7942 </td> <!-- entry_type -->
7943
7944 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007945 <p>Whether optical image stabilization is
7946enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007947 </td>
7948
7949 <td class="entry_units">
7950 </td>
7951
7952 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007953 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007954 </td>
7955
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007956 <td class="entry_tags">
7957 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007958 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007959 </ul>
7960 </td>
7961
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007962 </tr>
7963 <tr class="entries_header">
7964 <th class="th_details" colspan="5">Details</th>
7965 </tr>
7966 <tr class="entry_cont">
7967 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007968 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007969 </td>
7970 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007971
7972
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007973 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7974 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007975
7976
7977 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007978 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007979 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007980 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007981 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007982 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007983
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007984 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007985
7986 <ul class="entry_type_enum">
7987 <li>
7988 <span class="entry_type_enum_name">STATIONARY</span>
7989 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07007990 <li>
7991 <span class="entry_type_enum_name">MOVING</span>
7992 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007993 </ul>
7994
7995 </td> <!-- entry_type -->
7996
7997 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007998 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007999 </td>
8000
8001 <td class="entry_units">
8002 </td>
8003
8004 <td class="entry_range">
8005 </td>
8006
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008007 <td class="entry_tags">
8008 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008009 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008010 </ul>
8011 </td>
8012
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008013 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008014
8015
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008016 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8017 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008018
8019
8020
8021 <!-- end of kind -->
8022 </tbody>
8023
8024 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008025 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008026
8027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008028 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008030 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008031 <tr>
8032 <th class="th_name">Property Name</th>
8033 <th class="th_type">Type</th>
8034 <th class="th_description">Description</th>
8035 <th class="th_units">Units</th>
8036 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008037 <th class="th_tags">Tags</th>
8038 </tr>
8039 </thead>
8040
8041 <tbody>
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008053 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008054 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008055 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008056 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008057 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008058
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008059 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008060
8061 <ul class="entry_type_enum">
8062 <li>
8063 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008064 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008065 </li>
8066 <li>
8067 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008068 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8069output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008070 </li>
8071 <li>
8072 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008073 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8074quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008075 </li>
8076 </ul>
8077
8078 </td> <!-- entry_type -->
8079
8080 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008081 <p>Mode of operation for the noise reduction
8082algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008083 </td>
8084
8085 <td class="entry_units">
8086 </td>
8087
8088 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008089 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008090 </td>
8091
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008092 <td class="entry_tags">
8093 <ul class="entry_tags">
8094 <li><a href="#tag_V1">V1</a></li>
8095 </ul>
8096 </td>
8097
8098 </tr>
8099 <tr class="entries_header">
8100 <th class="th_details" colspan="5">Details</th>
8101 </tr>
8102 <tr class="entry_cont">
8103 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008104 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8105will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008106<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8107will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8108will use the highest-quality noise filtering algorithms,<wbr/>
8109even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008110slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008111 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008112 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008113
8114
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008115 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8116 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008117
8118
8119 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008120 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008121 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008122 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008123 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008124 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008125
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008126 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008127
8128
8129 </td> <!-- entry_type -->
8130
8131 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008132 <p>Control the amount of noise reduction
8133applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008134 </td>
8135
8136 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008137 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008138 </td>
8139
8140 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008141 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008142 </td>
8143
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008144 <td class="entry_tags">
8145 </td>
8146
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008147 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008148
8149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008150 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8151 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008152
8153
8154
8155 <!-- end of kind -->
8156 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008157 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008158
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008159 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008160 <tr>
8161 <th class="th_name">Property Name</th>
8162 <th class="th_type">Type</th>
8163 <th class="th_description">Description</th>
8164 <th class="th_units">Units</th>
8165 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008166 <th class="th_tags">Tags</th>
8167 </tr>
8168 </thead>
8169
8170 <tbody>
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008182 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008183 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008184 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008185 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008186 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008187
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008188 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008189
8190 <ul class="entry_type_enum">
8191 <li>
8192 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008193 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008194 </li>
8195 <li>
8196 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008197 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8198output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008199 </li>
8200 <li>
8201 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008202 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8203quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008204 </li>
8205 </ul>
8206
8207 </td> <!-- entry_type -->
8208
8209 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008210 <p>Mode of operation for the noise reduction
8211algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008212 </td>
8213
8214 <td class="entry_units">
8215 </td>
8216
8217 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008218 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008219 </td>
8220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008221 <td class="entry_tags">
8222 <ul class="entry_tags">
8223 <li><a href="#tag_V1">V1</a></li>
8224 </ul>
8225 </td>
8226
8227 </tr>
8228 <tr class="entries_header">
8229 <th class="th_details" colspan="5">Details</th>
8230 </tr>
8231 <tr class="entry_cont">
8232 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008233 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8234will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008235<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8236will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8237will use the highest-quality noise filtering algorithms,<wbr/>
8238even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008239slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008240 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008241 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008242
8243
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008244 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8245 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008246
8247
8248
8249 <!-- end of kind -->
8250 </tbody>
8251
8252 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008253 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008254
8255
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008256 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008257
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008258 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008259 <tr>
8260 <th class="th_name">Property Name</th>
8261 <th class="th_type">Type</th>
8262 <th class="th_description">Description</th>
8263 <th class="th_units">Units</th>
8264 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008265 <th class="th_tags">Tags</th>
8266 </tr>
8267 </thead>
8268
8269 <tbody>
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008281 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008282 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008283 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008284 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008285 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008286
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008287 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008288
8289
8290 </td> <!-- entry_type -->
8291
8292 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008293 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008294scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008295region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8296and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008297 </td>
8298
8299 <td class="entry_units">
8300 </td>
8301
8302 <td class="entry_range">
8303 </td>
8304
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008305 <td class="entry_tags">
8306 </td>
8307
8308 </tr>
8309 <tr class="entries_header">
8310 <th class="th_details" colspan="5">Details</th>
8311 </tr>
8312 <tr class="entry_cont">
8313 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008314 <p>Normalized coordinates refer to those in the
8315(-1000,<wbr/>1000) range mentioned in the
8316android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008317<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008318sensor array-relative coordinates for all region data.<wbr/> Does
8319not need to be listed in static metadata.<wbr/> Support will be
8320removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008321 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008322 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008323
8324
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008325 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8326 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008327
8328
8329 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008330 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008331 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008332 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008333 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008334 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008335
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008336 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008337
8338
8339 </td> <!-- entry_type -->
8340
8341 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008342 <p>If set to 1,<wbr/> then the camera service always
8343switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8344trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008345 </td>
8346
8347 <td class="entry_units">
8348 </td>
8349
8350 <td class="entry_range">
8351 </td>
8352
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008353 <td class="entry_tags">
8354 </td>
8355
8356 </tr>
8357 <tr class="entries_header">
8358 <th class="th_details" colspan="5">Details</th>
8359 </tr>
8360 <tr class="entry_cont">
8361 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008362 <p>HAL implementations should implement AF trigger
8363modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8364CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8365not need to be listed in static metadata.<wbr/> Support will be
8366removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008367 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008368 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008369
8370
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008371 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8372 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008373
8374
8375 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008376 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008377 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008378 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008379 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008380 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008381
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008382 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008383
8384
8385 </td> <!-- entry_type -->
8386
8387 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008388 <p>If set to 1,<wbr/> the camera service uses
8389CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8390HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8391shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008392 </td>
8393
8394 <td class="entry_units">
8395 </td>
8396
8397 <td class="entry_range">
8398 </td>
8399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008400 <td class="entry_tags">
8401 </td>
8402
8403 </tr>
8404 <tr class="entries_header">
8405 <th class="th_details" colspan="5">Details</th>
8406 </tr>
8407 <tr class="entry_cont">
8408 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008409 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008410to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008411zero-shutter-lag,<wbr/> instead of relying on an explicit
8412format setting.<wbr/> Does not need to be listed in static
8413metadata.<wbr/> Support will be removed in future versions of
8414camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008415 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008416 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008417
8418
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008419 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8420 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008421
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008422
8423 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008424 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008425 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008426 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008427 <td class="entry_type">
8428 <span class="entry_type_name">byte</span>
8429
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008430 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008431
8432
8433 </td> <!-- entry_type -->
8434
8435 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008436 <p>If set to 1,<wbr/> the HAL will always split result
8437metadata for a single capture into multiple buffers,<wbr/>
8438returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008439 </td>
8440
8441 <td class="entry_units">
8442 </td>
8443
8444 <td class="entry_range">
8445 </td>
8446
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008447 <td class="entry_tags">
8448 </td>
8449
8450 </tr>
8451 <tr class="entries_header">
8452 <th class="th_details" colspan="5">Details</th>
8453 </tr>
8454 <tr class="entry_cont">
8455 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008456 <p>Does not need to be listed in static
8457metadata.<wbr/> Support for partial results will be reworked in
8458future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008459working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008460consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008461 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008462 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008463
8464
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008465 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8466 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008467
8468
8469
8470 <!-- end of kind -->
8471 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008472 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008473
8474 <thead class="entries_header">
8475 <tr>
8476 <th class="th_name">Property Name</th>
8477 <th class="th_type">Type</th>
8478 <th class="th_description">Description</th>
8479 <th class="th_units">Units</th>
8480 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008481 <th class="th_tags">Tags</th>
8482 </tr>
8483 </thead>
8484
8485 <tbody>
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008497 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008498 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008499 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008500 <td class="entry_type">
8501 <span class="entry_type_name entry_type_name_enum">byte</span>
8502
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008503 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008504
8505 <ul class="entry_type_enum">
8506 <li>
8507 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008508 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8509for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008510 </li>
8511 <li>
8512 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008513 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8514capture.<wbr/> More result buffers for this capture will be sent
8515by the HAL,<wbr/> the last of which will be marked
8516FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008517 </li>
8518 </ul>
8519
8520 </td> <!-- entry_type -->
8521
8522 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008523 <p>Whether a result given to the framework is the
8524final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008525subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008526values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008527 </td>
8528
8529 <td class="entry_units">
8530 </td>
8531
8532 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008533 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008534 </td>
8535
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008536 <td class="entry_tags">
8537 </td>
8538
8539 </tr>
8540 <tr class="entries_header">
8541 <th class="th_details" colspan="5">Details</th>
8542 </tr>
8543 <tr class="entry_cont">
8544 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008545 <p>The entries in the result metadata buffers for a
8546single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008547FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008548requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8549always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8550before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8551in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8552capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8553only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008554 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008555 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008556
8557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008558 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8559 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008560
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008561
8562
8563 <!-- end of kind -->
8564 </tbody>
8565
8566 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008567 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008568
8569
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008570 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008571
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008572 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008573 <tr>
8574 <th class="th_name">Property Name</th>
8575 <th class="th_type">Type</th>
8576 <th class="th_description">Description</th>
8577 <th class="th_units">Units</th>
8578 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008579 <th class="th_tags">Tags</th>
8580 </tr>
8581 </thead>
8582
8583 <tbody>
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008595 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008596 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008597 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008599 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008600
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008601 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008602
8603
8604 </td> <!-- entry_type -->
8605
8606 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008607 <p>A frame counter set by the framework.<wbr/> Must
8608be maintained unchanged in output frame.<wbr/> This value monotonically
8609increases with every new result (that is,<wbr/> each new result has a unique
8610frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008611 </td>
8612
8613 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008614 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008615 </td>
8616
8617 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008618 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008619 </td>
8620
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008621 <td class="entry_tags">
8622 </td>
8623
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008624 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008625
8626
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008627 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8628 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008629
8630
8631 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008632 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008633 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008634 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008635 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008636 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008637
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008638 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008639
8640
8641 </td> <!-- entry_type -->
8642
8643 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008644 <p>An application-specified ID for the current
8645request.<wbr/> Must be maintained unchanged in output
8646frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008647 </td>
8648
8649 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008650 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008651 </td>
8652
8653 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008654 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008655 </td>
8656
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008657 <td class="entry_tags">
8658 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008659 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008660 </ul>
8661 </td>
8662
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008663 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008664
8665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8667 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008668
8669
8670 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008671 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008672 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008673 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008674 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008675 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008676 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008677
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008678 <span class="entry_type_array">
8679 n
8680 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008681 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008682
8683
8684 </td> <!-- entry_type -->
8685
8686 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008687 <p>List which camera reprocess stream is used
8688for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008689 </td>
8690
8691 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008692 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008693 </td>
8694
8695 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008696 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8697reprocess stream ID.<wbr/></p>
8698<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8699reprocess streams may be included in a single request; they
8700must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008701 </td>
8702
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008703 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008704 <ul class="entry_tags">
8705 <li><a href="#tag_HAL2">HAL2</a></li>
8706 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008707 </td>
8708
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008709 </tr>
8710 <tr class="entries_header">
8711 <th class="th_details" colspan="5">Details</th>
8712 </tr>
8713 <tr class="entry_cont">
8714 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008715 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008716REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008717 </td>
8718 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008719
8720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8722 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008723
8724
8725 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008726 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008727 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008728 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008729 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008730 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008731
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008732 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008733
8734 <ul class="entry_type_enum">
8735 <li>
8736 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008737 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8738for application-bound buffer data.<wbr/> If no
8739application-bound streams exist,<wbr/> no frame should be
8740placed in the output frame queue.<wbr/> If such streams
8741exist,<wbr/> a frame should be placed on the output queue
8742with null metadata but with the necessary output buffer
8743information.<wbr/> Timestamp information should still be
8744included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008745 </li>
8746 <li>
8747 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008748 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8749only be produced if they are separately
8750enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008751 </li>
8752 </ul>
8753
8754 </td> <!-- entry_type -->
8755
8756 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008757 <p>How much metadata to produce on
8758output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008759 </td>
8760
8761 <td class="entry_units">
8762 </td>
8763
8764 <td class="entry_range">
8765 </td>
8766
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008767 <td class="entry_tags">
8768 </td>
8769
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008770 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008771
8772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008773 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8774 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008775
8776
8777 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008778 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008779 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008780 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008781 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008782 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008783 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008784
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008785 <span class="entry_type_array">
8786 n
8787 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008788 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008789
8790
8791 </td> <!-- entry_type -->
8792
8793 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008794 <p>Lists which camera output streams image data
8795from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008796 </td>
8797
8798 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008799 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008800 </td>
8801
8802 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008803 <p>List must only include streams that have been
8804created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008805 </td>
8806
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008807 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008808 <ul class="entry_tags">
8809 <li><a href="#tag_HAL2">HAL2</a></li>
8810 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008811 </td>
8812
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008813 </tr>
8814 <tr class="entries_header">
8815 <th class="th_details" colspan="5">Details</th>
8816 </tr>
8817 <tr class="entry_cont">
8818 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008819 <p>If no output streams are listed,<wbr/> then the image
8820data should simply be discarded.<wbr/> The image data must
8821still be captured for metadata and statistics production,<wbr/>
8822and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008823 </td>
8824 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008825
8826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008827 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8828 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008829
8830
8831 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008832 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008833 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008834 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008836 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008837
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008838 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008839
8840 <ul class="entry_type_enum">
8841 <li>
8842 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008843 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8844and process it according to the
8845settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008846 </li>
8847 <li>
8848 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008849 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8850android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8851source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8852needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008853 </li>
8854 </ul>
8855
8856 </td> <!-- entry_type -->
8857
8858 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008859 <p>The type of the request; either CAPTURE or
8860REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008861 </td>
8862
8863 <td class="entry_units">
8864 </td>
8865
8866 <td class="entry_range">
8867 </td>
8868
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008869 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008870 <ul class="entry_tags">
8871 <li><a href="#tag_HAL2">HAL2</a></li>
8872 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008873 </td>
8874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008875 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008876
8877
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008878 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8879 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008880
8881
8882
8883 <!-- end of kind -->
8884 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008885 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008886
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008887 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008888 <tr>
8889 <th class="th_name">Property Name</th>
8890 <th class="th_type">Type</th>
8891 <th class="th_description">Description</th>
8892 <th class="th_units">Units</th>
8893 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008894 <th class="th_tags">Tags</th>
8895 </tr>
8896 </thead>
8897
8898 <tbody>
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008910 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008911 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008912 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008914 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008915 <span class="entry_type_container">x</span>
8916
8917 <span class="entry_type_array">
8918 3
8919 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008920 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008921
8922
8923 </td> <!-- entry_type -->
8924
8925 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008926 <p>How many output streams can be allocated at
8927the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008928 </td>
8929
8930 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008931 The number of raw sensor streams; the number of
8932 processed,<wbr/> uncompressed streams; and the number of
8933 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008934 </td>
8935
8936 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008937 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008938for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008939 </td>
8940
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008941 <td class="entry_tags">
8942 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008943 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008944 </ul>
8945 </td>
8946
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008947 </tr>
8948 <tr class="entries_header">
8949 <th class="th_details" colspan="5">Details</th>
8950 </tr>
8951 <tr class="entry_cont">
8952 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008953 <p>Video snapshot with preview callbacks requires 3
8954processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8955one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008956 </td>
8957 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008958
8959
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008960 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8961 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008962
8963
8964 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008965 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008966 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008967 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008968 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008969 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008970 <span class="entry_type_container">x</span>
8971
8972 <span class="entry_type_array">
8973 1
8974 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008975 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008976
8977
8978 </td> <!-- entry_type -->
8979
8980 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008981 <p>How many reprocessing streams of any type
8982can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008983 </td>
8984
8985 <td class="entry_units">
8986 </td>
8987
8988 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008989 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008990 </td>
8991
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008992 <td class="entry_tags">
8993 </td>
8994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008995 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008996
8997
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008998 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8999 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009000
9001
9002
9003 <!-- end of kind -->
9004 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009005 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009006
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009007 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009008 <tr>
9009 <th class="th_name">Property Name</th>
9010 <th class="th_type">Type</th>
9011 <th class="th_description">Description</th>
9012 <th class="th_units">Units</th>
9013 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009014 <th class="th_tags">Tags</th>
9015 </tr>
9016 </thead>
9017
9018 <tbody>
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009030 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009031 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009032 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009033 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009034 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009035
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009036 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009037
9038
9039 </td> <!-- entry_type -->
9040
9041 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009042 <p>A frame counter set by the framework.<wbr/> This value monotonically
9043increases with every new result (that is,<wbr/> each new result has a unique
9044frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009045 </td>
9046
9047 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009048 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009049 </td>
9050
9051 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009052 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009053 </td>
9054
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009055 <td class="entry_tags">
9056 </td>
9057
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009058 </tr>
9059 <tr class="entries_header">
9060 <th class="th_details" colspan="5">Details</th>
9061 </tr>
9062 <tr class="entry_cont">
9063 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009064 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009065 </td>
9066 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009067
9068
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009069 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9070 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009071
9072
9073 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009074 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009075 android.<wbr/>request.<wbr/>id
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"> [hidden]</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>An application-specified ID for the current
9087request.<wbr/> Must be maintained unchanged in output
9088frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009089 </td>
9090
9091 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009092 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009093 </td>
9094
9095 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009096 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009097 </td>
9098
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009099 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009100 <ul class="entry_tags">
9101 <li><a href="#tag_V1">V1</a></li>
9102 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009103 </td>
9104
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009105 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009106
9107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009108 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9109 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009110
9111
9112 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009113 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009114 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009115 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009116 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009117 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009118
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009119 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009120
9121 <ul class="entry_type_enum">
9122 <li>
9123 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009124 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9125for application-bound buffer data.<wbr/> If no
9126application-bound streams exist,<wbr/> no frame should be
9127placed in the output frame queue.<wbr/> If such streams
9128exist,<wbr/> a frame should be placed on the output queue
9129with null metadata but with the necessary output buffer
9130information.<wbr/> Timestamp information should still be
9131included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009132 </li>
9133 <li>
9134 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009135 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9136only be produced if they are separately
9137enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009138 </li>
9139 </ul>
9140
9141 </td> <!-- entry_type -->
9142
9143 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009144 <p>How much metadata to produce on
9145output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009146 </td>
9147
9148 <td class="entry_units">
9149 </td>
9150
9151 <td class="entry_range">
9152 </td>
9153
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009154 <td class="entry_tags">
9155 </td>
9156
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009157 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009158
9159
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009160 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9161 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009162
9163
9164 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009165 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009166 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009167 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009168 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009169 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009170 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009171
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009172 <span class="entry_type_array">
9173 n
9174 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009175 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009176
9177
9178 </td> <!-- entry_type -->
9179
9180 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009181 <p>Lists which camera output streams image data
9182from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009183 </td>
9184
9185 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009186 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009187 </td>
9188
9189 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009190 <p>List must only include streams that have been
9191created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009192 </td>
9193
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009194 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009195 <ul class="entry_tags">
9196 <li><a href="#tag_HAL2">HAL2</a></li>
9197 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009198 </td>
9199
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009200 </tr>
9201 <tr class="entries_header">
9202 <th class="th_details" colspan="5">Details</th>
9203 </tr>
9204 <tr class="entry_cont">
9205 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009206 <p>If no output streams are listed,<wbr/> then the image
9207data should simply be discarded.<wbr/> The image data must
9208still be captured for metadata and statistics production,<wbr/>
9209and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009210 </td>
9211 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009212
9213
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009214 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9215 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009216
9217
9218
9219 <!-- end of kind -->
9220 </tbody>
9221
9222 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009223 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009224
9225
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009226 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009227
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009228 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009229 <tr>
9230 <th class="th_name">Property Name</th>
9231 <th class="th_type">Type</th>
9232 <th class="th_description">Description</th>
9233 <th class="th_units">Units</th>
9234 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009235 <th class="th_tags">Tags</th>
9236 </tr>
9237 </thead>
9238
9239 <tbody>
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009251 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009252 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009253 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009254 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009255 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009256 <span class="entry_type_container">x</span>
9257
9258 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009259 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009260 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009261 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009262
9263
9264 </td> <!-- entry_type -->
9265
9266 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009267 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9268<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9269(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9270output.<wbr/> Each stream must use this rectangle to produce its
9271output,<wbr/> cropping to a smaller region if necessary to
9272maintain the stream's aspect ratio.<wbr/></p>
9273<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009274 </td>
9275
9276 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009277 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9278 in pixels; (0,<wbr/>0) is top-left corner of
9279 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009280 </td>
9281
9282 <td class="entry_range">
9283 </td>
9284
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009285 <td class="entry_tags">
9286 <ul class="entry_tags">
9287 <li><a href="#tag_BC">BC</a></li>
9288 </ul>
9289 </td>
9290
9291 </tr>
9292 <tr class="entries_header">
9293 <th class="th_details" colspan="5">Details</th>
9294 </tr>
9295 <tr class="entry_cont">
9296 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009297 <p>Any additional per-stream cropping must be done to
9298maximize the final pixel area of the stream.<wbr/></p>
9299<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9300ratio,<wbr/> then 4:3 streams should use the exact crop
9301region.<wbr/> 16:9 streams should further crop vertically
9302(letterbox).<wbr/></p>
9303<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9304outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9305streams should match exactly.<wbr/> These additional crops must
9306be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009307<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009308times,<wbr/> no matter what the relative aspect ratios of the
9309crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009310corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009311larger than active pixel array.<wbr/> Width and height may be
9312rounded to nearest larger supportable width,<wbr/> especially
9313for raw output,<wbr/> where only a few fixed scales may be
9314possible.<wbr/> The width and height of the crop region cannot
9315be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9316android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9317activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9318respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009319 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009320 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009321
9322
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009323 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9324 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009325
9326
9327
9328 <!-- end of kind -->
9329 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009330 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009331
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009332 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009333 <tr>
9334 <th class="th_name">Property Name</th>
9335 <th class="th_type">Type</th>
9336 <th class="th_description">Description</th>
9337 <th class="th_units">Units</th>
9338 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009339 <th class="th_tags">Tags</th>
9340 </tr>
9341 </thead>
9342
9343 <tbody>
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009355 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009356 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009357 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009358 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009359 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009360 <span class="entry_type_container">x</span>
9361
9362 <span class="entry_type_array">
9363 n
9364 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009365 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009366
9367 <ul class="entry_type_enum">
9368 <li>
9369 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009370 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009371 <span class="entry_type_enum_value">0x20</span>
9372 </li>
9373 <li>
9374 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009375 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009376 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009377 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009378 </li>
9379 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009380 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009381 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009382 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009383 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009384 </li>
9385 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009386 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9387 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009388 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009389 </li>
9390 <li>
9391 <span class="entry_type_enum_name">YCbCr_420_888</span>
9392 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009393 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009394 </li>
9395 <li>
9396 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009397 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009398 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009399 </li>
9400 </ul>
9401
9402 </td> <!-- entry_type -->
9403
9404 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009405 <p>The list of image formats that are supported by this
9406camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009407 </td>
9408
9409 <td class="entry_units">
9410 </td>
9411
9412 <td class="entry_range">
9413 </td>
9414
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009415 <td class="entry_tags">
9416 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009417 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009418 </ul>
9419 </td>
9420
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009421 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009422 <tr class="entries_header">
9423 <th class="th_details" colspan="5">Details</th>
9424 </tr>
9425 <tr class="entry_cont">
9426 <td class="entry_details" colspan="5">
9427 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9428<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9429 </td>
9430 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009431
Zhijun Heb8317e22014-01-16 09:47:07 -08009432 <tr class="entries_header">
9433 <th class="th_details" colspan="5">HAL Implementation Details</th>
9434 </tr>
9435 <tr class="entry_cont">
9436 <td class="entry_details" colspan="5">
9437 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9438system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9439<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9440gralloc module will select a format based on the usage flags provided
9441by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9442usually used by preview and recording streams,<wbr/> where the application doesn't
9443need access the image data.<wbr/></p>
9444<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9445needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9446<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9447 </td>
9448 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009449
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009450 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9451 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009452
9453
9454 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009455 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009456 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009457 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009459 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009460 <span class="entry_type_container">x</span>
9461
9462 <span class="entry_type_array">
9463 n
9464 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009465 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009466
9467
9468 </td> <!-- entry_type -->
9469
9470 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009471 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009472for 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 -08009473 </td>
9474
9475 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009476 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009477 </td>
9478
9479 <td class="entry_range">
9480 </td>
9481
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009482 <td class="entry_tags">
9483 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009484 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009485 </ul>
9486 </td>
9487
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009488 </tr>
9489 <tr class="entries_header">
9490 <th class="th_details" colspan="5">Details</th>
9491 </tr>
9492 <tr class="entry_cont">
9493 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009494 <p>This corresponds to the minimum steady-state frame duration when only
9495that JPEG stream is active and captured in a burst,<wbr/> with all
9496processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9497<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009498frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009499durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009500 </td>
9501 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009502
9503
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009504 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9505 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009506
9507
9508 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009509 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009510 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009511 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009512 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009513 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009514 <span class="entry_type_container">x</span>
9515
9516 <span class="entry_type_array">
9517 n x 2
9518 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009519 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009520
9521
9522 </td> <!-- entry_type -->
9523
9524 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009525 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009526 </td>
9527
9528 <td class="entry_units">
9529 </td>
9530
9531 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009532 </td>
9533
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009534 <td class="entry_tags">
9535 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009536 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009537 </ul>
9538 </td>
9539
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009540 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009541 <tr class="entries_header">
9542 <th class="th_details" colspan="5">Details</th>
9543 </tr>
9544 <tr class="entry_cont">
9545 <td class="entry_details" colspan="5">
9546 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9547sensor 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>
9548 </td>
9549 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009550
Zhijun Heb8317e22014-01-16 09:47:07 -08009551 <tr class="entries_header">
9552 <th class="th_details" colspan="5">HAL Implementation Details</th>
9553 </tr>
9554 <tr class="entry_cont">
9555 <td class="entry_details" colspan="5">
9556 <p>The HAL must include sensor maximum resolution
9557(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9558and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9559 </td>
9560 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009561
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009562 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9563 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009564
9565
9566 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009567 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009568 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009569 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009570 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009571 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009572
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009573 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009574
9575
9576 </td> <!-- entry_type -->
9577
9578 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009579 <p>The maximum ratio between active area width
9580and crop region width,<wbr/> or between active area height and
9581crop region height,<wbr/> if the crop region height is larger
9582than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009583 </td>
9584
9585 <td class="entry_units">
9586 </td>
9587
9588 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009589 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009590 </td>
9591
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009592 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009593 <ul class="entry_tags">
9594 <li><a href="#tag_BC">BC</a></li>
9595 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009596 </td>
9597
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009598 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009599
9600
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009601 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9602 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009603
9604
9605 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009606 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009607 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009608 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009609 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009610 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009611 <span class="entry_type_container">x</span>
9612
9613 <span class="entry_type_array">
9614 n
9615 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009616 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009617
9618
9619 </td> <!-- entry_type -->
9620
9621 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009622 <p>For each available processed output size (defined in
9623<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9624minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009625 </td>
9626
9627 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009628 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009629 </td>
9630
9631 <td class="entry_range">
9632 </td>
9633
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009634 <td class="entry_tags">
9635 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009636 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009637 </ul>
9638 </td>
9639
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009640 </tr>
9641 <tr class="entries_header">
9642 <th class="th_details" colspan="5">Details</th>
9643 </tr>
9644 <tr class="entry_cont">
9645 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009646 <p>This should correspond to the frame duration when only that processed
9647stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9648set to FAST.<wbr/></p>
9649<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9650be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009651 </td>
9652 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009653
9654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009655 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9656 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009657
9658
9659 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009660 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009661 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009662 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009663 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009664 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009665 <span class="entry_type_container">x</span>
9666
9667 <span class="entry_type_array">
9668 n x 2
9669 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009670 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009671
9672
9673 </td> <!-- entry_type -->
9674
9675 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009676 <p>The resolutions available for use with
9677processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9678platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009679encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009680 </td>
9681
9682 <td class="entry_units">
9683 </td>
9684
9685 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009686 </td>
9687
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009688 <td class="entry_tags">
9689 <ul class="entry_tags">
9690 <li><a href="#tag_BC">BC</a></li>
9691 </ul>
9692 </td>
9693
9694 </tr>
9695 <tr class="entries_header">
9696 <th class="th_details" colspan="5">Details</th>
9697 </tr>
9698 <tr class="entry_cont">
9699 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009700 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9701<p>For a given use case,<wbr/> the actual maximum supported resolution
9702may be lower than what is listed here,<wbr/> depending on the destination
9703Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9704the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9705smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9706can provide.<wbr/></p>
9707<p>Please reference the documentation for the image data destination to
9708check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009709 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009710 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009711
Zhijun Heb8317e22014-01-16 09:47:07 -08009712 <tr class="entries_header">
9713 <th class="th_details" colspan="5">HAL Implementation Details</th>
9714 </tr>
9715 <tr class="entry_cont">
9716 <td class="entry_details" colspan="5">
9717 <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/>
9718the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9719and each below resolution if it is smaller than or equal to the sensor
9720maximum resolution (if they are not listed in JPEG sizes already):</p>
9721<ul>
9722<li>240p (320 x 240)</li>
9723<li>480p (640 x 480)</li>
9724<li>720p (1280 x 720)</li>
9725<li>1080p (1920 x 1080)</li>
9726</ul>
9727<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/>
9728the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9729 </td>
9730 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009731
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009732 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9733 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009734
9735
9736 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009737 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009738 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009739 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009740 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009741 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009742 <span class="entry_type_container">x</span>
9743
9744 <span class="entry_type_array">
9745 n
9746 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009747 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009748
9749
9750 </td> <!-- entry_type -->
9751
9752 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009753 <p>For each available processed output size (defined in
9754<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9755supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009756 </td>
9757
9758 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009759 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009760 </td>
9761
9762 <td class="entry_range">
9763 </td>
9764
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009765 <td class="entry_tags">
9766 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009767 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009768 </ul>
9769 </td>
9770
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009771 </tr>
9772 <tr class="entries_header">
9773 <th class="th_details" colspan="5">Details</th>
9774 </tr>
9775 <tr class="entry_cont">
9776 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009777 <p>Should correspond to the frame duration when only the raw stream is
9778active.<wbr/></p>
9779<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009780frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009781durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009782 </td>
9783 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009784
9785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009786 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9787 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009788
9789
9790 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009791 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009792 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009793 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009794 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009795 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009796 <span class="entry_type_container">x</span>
9797
9798 <span class="entry_type_array">
9799 n x 2
9800 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009801 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009802
9803
9804 </td> <!-- entry_type -->
9805
9806 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009807 <p>The resolutions available for use with raw
9808sensor output streams,<wbr/> listed as width,<wbr/>
9809height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009810 </td>
9811
9812 <td class="entry_units">
9813 </td>
9814
9815 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009816 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009817 </td>
9818
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009819 <td class="entry_tags">
9820 </td>
9821
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009822 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009823
9824
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009825 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9826 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009827
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009828
9829
9830 <!-- end of kind -->
9831 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009832 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009833
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009834 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009835 <tr>
9836 <th class="th_name">Property Name</th>
9837 <th class="th_type">Type</th>
9838 <th class="th_description">Description</th>
9839 <th class="th_units">Units</th>
9840 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009841 <th class="th_tags">Tags</th>
9842 </tr>
9843 </thead>
9844
9845 <tbody>
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009857 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009858 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009859 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009861 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009862 <span class="entry_type_container">x</span>
9863
9864 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009865 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009866 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009867 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009868
9869
9870 </td> <!-- entry_type -->
9871
9872 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009873 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9874<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9875(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9876output.<wbr/> Each stream must use this rectangle to produce its
9877output,<wbr/> cropping to a smaller region if necessary to
9878maintain the stream's aspect ratio.<wbr/></p>
9879<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009880 </td>
9881
9882 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009883 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9884 in pixels; (0,<wbr/>0) is top-left corner of
9885 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009886 </td>
9887
9888 <td class="entry_range">
9889 </td>
9890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009891 <td class="entry_tags">
9892 <ul class="entry_tags">
9893 <li><a href="#tag_BC">BC</a></li>
9894 </ul>
9895 </td>
9896
9897 </tr>
9898 <tr class="entries_header">
9899 <th class="th_details" colspan="5">Details</th>
9900 </tr>
9901 <tr class="entry_cont">
9902 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009903 <p>Any additional per-stream cropping must be done to
9904maximize the final pixel area of the stream.<wbr/></p>
9905<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9906ratio,<wbr/> then 4:3 streams should use the exact crop
9907region.<wbr/> 16:9 streams should further crop vertically
9908(letterbox).<wbr/></p>
9909<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9910outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9911streams should match exactly.<wbr/> These additional crops must
9912be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009913<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009914times,<wbr/> no matter what the relative aspect ratios of the
9915crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009916corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009917larger than active pixel array.<wbr/> Width and height may be
9918rounded to nearest larger supportable width,<wbr/> especially
9919for raw output,<wbr/> where only a few fixed scales may be
9920possible.<wbr/> The width and height of the crop region cannot
9921be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9922android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9923activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9924respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009925 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009926 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009927
9928
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009929 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9930 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009931
9932
9933
9934 <!-- end of kind -->
9935 </tbody>
9936
9937 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009938 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009939
9940
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009941 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009942
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009943 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009944 <tr>
9945 <th class="th_name">Property Name</th>
9946 <th class="th_type">Type</th>
9947 <th class="th_description">Description</th>
9948 <th class="th_units">Units</th>
9949 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009950 <th class="th_tags">Tags</th>
9951 </tr>
9952 </thead>
9953
9954 <tbody>
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009966 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009967 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009968 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009969 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009970 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009971
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009972 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009973
9974
9975 </td> <!-- entry_type -->
9976
9977 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009978 <p>Duration each pixel is exposed to
9979light.<wbr/></p>
9980<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
9981duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009982 </td>
9983
9984 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009985 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009986 </td>
9987
9988 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009989 <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 -08009990 </td>
9991
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009992 <td class="entry_tags">
9993 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009994 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009995 </ul>
9996 </td>
9997
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009998 </tr>
9999 <tr class="entries_header">
10000 <th class="th_details" colspan="5">Details</th>
10001 </tr>
10002 <tr class="entry_cont">
10003 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010004 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010005 </td>
10006 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010007
10008
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010009 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10010 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010011
10012
10013 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010014 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010015 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010016 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010017 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010018 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010019
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010020 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010021
10022
10023 </td> <!-- entry_type -->
10024
10025 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010026 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010027start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010028 </td>
10029
10030 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010031 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010032 </td>
10033
10034 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010035 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10036android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10037is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010038 </td>
10039
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010040 <td class="entry_tags">
10041 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010042 <li><a href="#tag_V1">V1</a></li>
10043 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010044 </ul>
10045 </td>
10046
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010047 </tr>
10048 <tr class="entries_header">
10049 <th class="th_details" colspan="5">Details</th>
10050 </tr>
10051 <tr class="entry_cont">
10052 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010053 <p>The maximum frame rate that can be supported by a camera subsystem is
10054a function of many factors:</p>
10055<ul>
10056<li>Requested resolutions of output image streams</li>
10057<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10058<li>The bandwidth of the imager interface</li>
10059<li>The bandwidth of the various ISP processing blocks</li>
10060</ul>
10061<p>Since these factors can vary greatly between different ISPs and
10062sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10063restrictions with as simple a model as possible.<wbr/></p>
10064<p>The model presented has the following characteristics:</p>
10065<ul>
10066<li>The image sensor is always configured to output the smallest
10067resolution possible given the application's requested output stream
10068sizes.<wbr/> The smallest resolution is defined as being at least as large
10069as the largest requested output stream size; the camera pipeline must
10070never digitally upsample sensor data when the crop region covers the
10071whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10072resolutions are configured,<wbr/> the sensor can provide a higher frame
10073rate.<wbr/></li>
10074<li>Since any request may use any or all the currently configured
10075output streams,<wbr/> the sensor and ISP must be configured to support
10076scaling a single capture to all the streams at the same time.<wbr/> This
10077means the camera pipeline must be ready to produce the largest
10078requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10079frame rate of a given configured stream set is governed only by the
10080largest requested stream resolution.<wbr/></li>
10081<li>Using more than one output stream in a request does not affect the
10082frame duration.<wbr/></li>
10083<li>JPEG streams act like processed YUV streams in requests for which
10084they are not included; in requests in which they are directly
10085referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10086JPEG stream requires the underlying YUV data to always be ready for
10087use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10088frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10089<li>The JPEG processor can run concurrently to the rest of the camera
10090pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10091</ul>
10092<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10093is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10094These are used to determine the maximum frame rate /<wbr/> minimum frame
10095duration that is possible for a given stream configuration.<wbr/></p>
10096<p>Specifically,<wbr/> the application can use the following rules to
10097determine the minimum frame duration it can request from the HAL
10098device:</p>
10099<ol>
10100<li>Given the application's currently configured set of output
10101streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10102<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10103<code>SP</code>.<wbr/></li>
10104<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10105count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10106<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10107<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
10108no exact match for <code>RP == RJ</code> (in particular there isn't an available
10109processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10110to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10111there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10112the processed resolution closest to <code>RJ</code>.<wbr/></li>
10113<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
10114no exact match for <code>RR == RP</code> (in particular there isn't an available
10115raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10116or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10117there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10118the raw resolution closest to <code>RP</code>.<wbr/></li>
10119<li>Look up the matching minimum frame durations in the property lists
10120<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10121<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10122<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10123minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10124<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10125supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10126<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10127supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10128<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10129the application,<wbr/> then the HAL will have to delay JPEG-using requests
10130whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10131This will happen whenever a JPEG-using request starts capture less
10132than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10133supported frame duration will vary between the values calculated in
10134#6 and #7.<wbr/></li>
10135</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010136 </td>
10137 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010138
10139
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010140 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10141 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010142
10143
10144 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010145 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010146 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010147 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010148 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010149 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010150
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010151 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010152
10153
10154 </td> <!-- entry_type -->
10155
10156 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010157 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010158implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010159below 'maximum analog sensitivity'.<wbr/></p>
10160<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10161gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010162 </td>
10163
10164 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010165 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010166 </td>
10167
10168 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010169 <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 -080010170 </td>
10171
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010172 <td class="entry_tags">
10173 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010174 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010175 </ul>
10176 </td>
10177
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010178 </tr>
10179 <tr class="entries_header">
10180 <th class="th_details" colspan="5">Details</th>
10181 </tr>
10182 <tr class="entry_cont">
10183 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010184 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010185 </td>
10186 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010187
10188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010189 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10190 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010191
10192
10193
10194 <!-- end of kind -->
10195 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010196 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010197
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010198 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010199 <tr>
10200 <th class="th_name">Property Name</th>
10201 <th class="th_type">Type</th>
10202 <th class="th_description">Description</th>
10203 <th class="th_units">Units</th>
10204 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010205 <th class="th_tags">Tags</th>
10206 </tr>
10207 </thead>
10208
10209 <tbody>
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010223 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010224 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010225 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010226 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010227 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010228 <span class="entry_type_container">x</span>
10229
10230 <span class="entry_type_array">
10231 4
10232 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010233 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010234 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010235
10236
10237 </td> <!-- entry_type -->
10238
10239 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010240 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010241active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010242pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010243 </td>
10244
10245 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010246 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10247 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010248 </td>
10249
10250 <td class="entry_range">
10251 </td>
10252
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010253 <td class="entry_tags">
10254 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010255 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010256 </ul>
10257 </td>
10258
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010259 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010260
10261
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010262 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10263 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010264
10265
Zhijun He69fc0ea2013-07-17 09:42:58 -070010266 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
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/>sensitivity<wbr/>Range
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">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010275 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010276 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010277 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010278 <div class="entry_type_notes">Range of supported sensitivities</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>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010285 </td>
10286
10287 <td class="entry_units">
10288 </td>
10289
10290 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010291 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010292 </td>
10293
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010294 <td class="entry_tags">
10295 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010296 <li><a href="#tag_BC">BC</a></li>
10297 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010298 </ul>
10299 </td>
10300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010301 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010302
10303
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010304 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10305 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010306
10307
10308 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010309 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010310 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010311 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010312 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010313 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010314
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010315 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010316
10317 <ul class="entry_type_enum">
10318 <li>
10319 <span class="entry_type_enum_name">RGGB</span>
10320 </li>
10321 <li>
10322 <span class="entry_type_enum_name">GRBG</span>
10323 </li>
10324 <li>
10325 <span class="entry_type_enum_name">GBRG</span>
10326 </li>
10327 <li>
10328 <span class="entry_type_enum_name">BGGR</span>
10329 </li>
10330 <li>
10331 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010332 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10333values for each pixel,<wbr/> instead of just 1 16-bit value
10334per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010335 </li>
10336 </ul>
10337
10338 </td> <!-- entry_type -->
10339
10340 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010341 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010342represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010343the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010344 </td>
10345
10346 <td class="entry_units">
10347 </td>
10348
10349 <td class="entry_range">
10350 </td>
10351
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010352 <td class="entry_tags">
10353 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010354 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010355 </ul>
10356 </td>
10357
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010358 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010359
10360
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010361 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10362 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010363
10364
10365 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010366 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010367 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010368 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010369 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010370 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010371 <span class="entry_type_container">x</span>
10372
10373 <span class="entry_type_array">
10374 2
10375 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010376 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010377 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010378
10379
10380 </td> <!-- entry_type -->
10381
10382 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010383 <p>Range of valid exposure
10384times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010385 </td>
10386
10387 <td class="entry_units">
10388 </td>
10389
10390 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010391 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10392sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010393 </td>
10394
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010395 <td class="entry_tags">
10396 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010397 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010398 </ul>
10399 </td>
10400
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010401 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010402
10403
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010404 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10405 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010406
10407
10408 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010409 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010410 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010411 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010412 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010413 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010414
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010415 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010416
10417
10418 </td> <!-- entry_type -->
10419
10420 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010421 <p>Maximum possible frame duration (minimum frame
10422rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010423 </td>
10424
10425 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010426 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010427 </td>
10428
10429 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010430 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010431 </td>
10432
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010433 <td class="entry_tags">
10434 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010435 <li><a href="#tag_BC">BC</a></li>
10436 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010437 </ul>
10438 </td>
10439
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010440 </tr>
10441 <tr class="entries_header">
10442 <th class="th_details" colspan="5">Details</th>
10443 </tr>
10444 <tr class="entry_cont">
10445 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010446 <p>Minimum duration is a function of resolution,<wbr/>
10447processing settings.<wbr/> See
10448android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10449android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010450<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 -080010451 </td>
10452 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010453
10454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010455 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10456 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010457
10458
10459 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010460 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010461 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010462 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010463 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010464 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010465 <span class="entry_type_container">x</span>
10466
10467 <span class="entry_type_array">
10468 2
10469 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010470 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010471 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010472
10473
10474 </td> <!-- entry_type -->
10475
10476 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010477 <p>The physical dimensions of the full pixel
10478array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010479 </td>
10480
10481 <td class="entry_units">
10482 </td>
10483
10484 <td class="entry_range">
10485 </td>
10486
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010487 <td class="entry_tags">
10488 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010489 <li><a href="#tag_V1">V1</a></li>
10490 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010491 </ul>
10492 </td>
10493
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010494 </tr>
10495 <tr class="entries_header">
10496 <th class="th_details" colspan="5">Details</th>
10497 </tr>
10498 <tr class="entry_cont">
10499 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010500 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010501 </td>
10502 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010503
10504
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010505 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10506 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010507
10508
10509 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010510 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010511 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010512 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010513 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010514 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010515 <span class="entry_type_container">x</span>
10516
10517 <span class="entry_type_array">
10518 2
10519 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010520 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010521
10522
10523 </td> <!-- entry_type -->
10524
10525 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010526 <p>Dimensions of full pixel array,<wbr/> possibly
10527including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010528 </td>
10529
10530 <td class="entry_units">
10531 </td>
10532
10533 <td class="entry_range">
10534 </td>
10535
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010536 <td class="entry_tags">
10537 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010538 <li><a href="#tag_DNG">DNG</a></li>
10539 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010540 </ul>
10541 </td>
10542
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010543 </tr>
10544 <tr class="entries_header">
10545 <th class="th_details" colspan="5">Details</th>
10546 </tr>
10547 <tr class="entry_cont">
10548 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010549 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010550match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010551android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010552 </td>
10553 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010554
10555
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010556 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10557 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010558
10559
10560 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010561 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010562 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010563 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010565 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010567 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010568
10569
10570 </td> <!-- entry_type -->
10571
10572 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010573 <p>Maximum raw value output by
10574sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010575 </td>
10576
10577 <td class="entry_units">
10578 </td>
10579
10580 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010581 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010582 </td>
10583
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010584 <td class="entry_tags">
10585 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010586 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010587 </ul>
10588 </td>
10589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010590 </tr>
10591 <tr class="entries_header">
10592 <th class="th_details" colspan="5">Details</th>
10593 </tr>
10594 <tr class="entry_cont">
10595 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010596 <p>Defines sensor bit depth (10-14 bits is
10597expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010598 </td>
10599 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010600
10601
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010602 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10603 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010604
10605
10606
10607
10608
10609 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010610 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010611 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010612 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010613 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010614 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010615
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010616 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010617
10618
10619 </td> <!-- entry_type -->
10620
10621 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010622 <p>Gain factor from electrons to raw units when
10623ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010624 </td>
10625
10626 <td class="entry_units">
10627 </td>
10628
10629 <td class="entry_range">
10630 </td>
10631
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010632 <td class="entry_tags">
10633 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010634 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010635 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010636 </ul>
10637 </td>
10638
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010639 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010640
10641
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010642 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10643 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010644
10645
10646 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010647 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010648 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010649 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010651 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010652 <span class="entry_type_container">x</span>
10653
10654 <span class="entry_type_array">
10655 4
10656 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010657 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010658 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010659
10660
10661 </td> <!-- entry_type -->
10662
10663 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010664 <p>A fixed black level offset for each of the
10665Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010666 </td>
10667
10668 <td class="entry_units">
10669 </td>
10670
10671 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010672 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010673 </td>
10674
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010675 <td class="entry_tags">
10676 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010677 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010678 </ul>
10679 </td>
10680
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010681 </tr>
10682 <tr class="entries_header">
10683 <th class="th_details" colspan="5">Details</th>
10684 </tr>
10685 <tr class="entry_cont">
10686 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010687 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10688tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010689 </td>
10690 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010691
10692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010693 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10694 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010695
10696
10697 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010698 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010699 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010700 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010701 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010702 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010703 <span class="entry_type_container">x</span>
10704
10705 <span class="entry_type_array">
10706 9
10707 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010708 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010709 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010710
10711
10712 </td> <!-- entry_type -->
10713
10714 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010715 <p>Per-device calibration on top of color space
10716transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010717 </td>
10718
10719 <td class="entry_units">
10720 </td>
10721
10722 <td class="entry_range">
10723 </td>
10724
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010725 <td class="entry_tags">
10726 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010727 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010728 </ul>
10729 </td>
10730
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010731 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010732
10733
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010734 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10735 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010736
10737
10738 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010739 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010740 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010741 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010742 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010743 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010744 <span class="entry_type_container">x</span>
10745
10746 <span class="entry_type_array">
10747 9
10748 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010749 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010750 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010751
10752
10753 </td> <!-- entry_type -->
10754
10755 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010756 <p>Per-device calibration on top of color space
10757transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010758 </td>
10759
10760 <td class="entry_units">
10761 </td>
10762
10763 <td class="entry_range">
10764 </td>
10765
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010766 <td class="entry_tags">
10767 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010768 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010769 </ul>
10770 </td>
10771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010772 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010773
10774
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010775 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10776 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010777
10778
10779 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010780 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010781 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010782 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010784 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010785 <span class="entry_type_container">x</span>
10786
10787 <span class="entry_type_array">
10788 9
10789 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010790 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010791 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010792
10793
10794 </td> <!-- entry_type -->
10795
10796 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010797 <p>Linear mapping from XYZ (D50) color space to
10798reference linear sensor color,<wbr/> for first reference
10799illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010800 </td>
10801
10802 <td class="entry_units">
10803 </td>
10804
10805 <td class="entry_range">
10806 </td>
10807
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010808 <td class="entry_tags">
10809 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010810 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010811 </ul>
10812 </td>
10813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010814 </tr>
10815 <tr class="entries_header">
10816 <th class="th_details" colspan="5">Details</th>
10817 </tr>
10818 <tr class="entry_cont">
10819 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010820 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10821black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10822At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010823 </td>
10824 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010825
10826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010827 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10828 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010829
10830
10831 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010832 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010833 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010834 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010836 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010837 <span class="entry_type_container">x</span>
10838
10839 <span class="entry_type_array">
10840 9
10841 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010842 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010843 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010844
10845
10846 </td> <!-- entry_type -->
10847
10848 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010849 <p>Linear mapping from XYZ (D50) color space to
10850reference linear sensor color,<wbr/> for second reference
10851illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010852 </td>
10853
10854 <td class="entry_units">
10855 </td>
10856
10857 <td class="entry_range">
10858 </td>
10859
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010860 <td class="entry_tags">
10861 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010862 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010863 </ul>
10864 </td>
10865
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010866 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010867
10868
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010869 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10870 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010871
10872
10873 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010874 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010875 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010876 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010877 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010878 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010879 <span class="entry_type_container">x</span>
10880
10881 <span class="entry_type_array">
10882 9
10883 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010884 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010885 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010886
10887
10888 </td> <!-- entry_type -->
10889
10890 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010891 <p>Used by DNG for better WB
10892adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010893 </td>
10894
10895 <td class="entry_units">
10896 </td>
10897
10898 <td class="entry_range">
10899 </td>
10900
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010901 <td class="entry_tags">
10902 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010903 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010904 </ul>
10905 </td>
10906
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010907 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010908
10909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010910 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10911 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010912
10913
10914 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010915 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010916 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010917 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010918 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010919 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010920 <span class="entry_type_container">x</span>
10921
10922 <span class="entry_type_array">
10923 9
10924 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010925 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010926 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010927
10928
10929 </td> <!-- entry_type -->
10930
10931 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010932 <p>Used by DNG for better WB
10933adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010934 </td>
10935
10936 <td class="entry_units">
10937 </td>
10938
10939 <td class="entry_range">
10940 </td>
10941
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010942 <td class="entry_tags">
10943 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010944 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010945 </ul>
10946 </td>
10947
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010948 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010949
10950
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010951 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10952 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010953
10954
10955 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010956 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010957 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010958 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010960 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010961
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010962 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010963
10964
10965 </td> <!-- entry_type -->
10966
10967 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010968 <p>Maximum sensitivity that is implemented
10969purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010970 </td>
10971
10972 <td class="entry_units">
10973 </td>
10974
10975 <td class="entry_range">
10976 </td>
10977
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010978 <td class="entry_tags">
10979 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010980 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010981 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010982 </ul>
10983 </td>
10984
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010985 </tr>
10986 <tr class="entries_header">
10987 <th class="th_details" colspan="5">Details</th>
10988 </tr>
10989 <tr class="entry_cont">
10990 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010991 <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 -080010992equal to this,<wbr/> all applied gain must be analog.<wbr/> For
10993values above this,<wbr/> it can be a mix of analog and
10994digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010995 </td>
10996 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010997
10998
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010999 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11000 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011001
11002
11003 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011004 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011005 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011006 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011007 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011008 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011009 <span class="entry_type_container">x</span>
11010
11011 <span class="entry_type_array">
11012 2
11013 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011014 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011015 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011016
11017
11018 </td> <!-- entry_type -->
11019
11020 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011021 <p>Estimation of sensor noise
11022characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011023 </td>
11024
11025 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011026 var(raw pixel value) = electrons * (baseGainFactor
11027 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
11028 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011029 </td>
11030
11031 <td class="entry_range">
11032 </td>
11033
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011034 <td class="entry_tags">
11035 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011036 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011037 </ul>
11038 </td>
11039
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011040 </tr>
11041 <tr class="entries_header">
11042 <th class="th_details" colspan="5">Details</th>
11043 </tr>
11044 <tr class="entry_cont">
11045 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011046 <p>A represents sensor read noise before analog
11047amplification; B represents noise from A/<wbr/>D conversion and
11048other circuits after amplification.<wbr/> Both noise sources
11049are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11050across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011051 </td>
11052 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011053
11054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011055 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11056 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011057
11058
11059 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011060 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011061 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011062 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011064 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011065
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011066 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011067
11068
11069 </td> <!-- entry_type -->
11070
11071 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011072 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011073image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011074screen in its native orientation.<wbr/> Also defines the
11075direction of rolling shutter readout,<wbr/> which is from top
11076to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011077 </td>
11078
11079 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011080 degrees clockwise rotation,<wbr/> only multiples of
11081 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011082 </td>
11083
11084 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011085 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011086 </td>
11087
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011088 <td class="entry_tags">
11089 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011090 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011091 </ul>
11092 </td>
11093
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011094 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011095
11096
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011097 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11098 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011099
11100
11101 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011102 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011103 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011104 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011105 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011106 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011108 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011109
11110 <ul class="entry_type_enum">
11111 <li>
11112 <span class="entry_type_enum_name">DAYLIGHT</span>
11113 <span class="entry_type_enum_value">1</span>
11114 </li>
11115 <li>
11116 <span class="entry_type_enum_name">FLUORESCENT</span>
11117 <span class="entry_type_enum_value">2</span>
11118 </li>
11119 <li>
11120 <span class="entry_type_enum_name">TUNGSTEN</span>
11121 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011122 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011123 </li>
11124 <li>
11125 <span class="entry_type_enum_name">FLASH</span>
11126 <span class="entry_type_enum_value">4</span>
11127 </li>
11128 <li>
11129 <span class="entry_type_enum_name">FINE_WEATHER</span>
11130 <span class="entry_type_enum_value">9</span>
11131 </li>
11132 <li>
11133 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11134 <span class="entry_type_enum_value">10</span>
11135 </li>
11136 <li>
11137 <span class="entry_type_enum_name">SHADE</span>
11138 <span class="entry_type_enum_value">11</span>
11139 </li>
11140 <li>
11141 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11142 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011143 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011144 </li>
11145 <li>
11146 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11147 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011148 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011149 </li>
11150 <li>
11151 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11152 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011153 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011154 </li>
11155 <li>
11156 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11157 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011158 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011159 </li>
11160 <li>
11161 <span class="entry_type_enum_name">STANDARD_A</span>
11162 <span class="entry_type_enum_value">17</span>
11163 </li>
11164 <li>
11165 <span class="entry_type_enum_name">STANDARD_B</span>
11166 <span class="entry_type_enum_value">18</span>
11167 </li>
11168 <li>
11169 <span class="entry_type_enum_name">STANDARD_C</span>
11170 <span class="entry_type_enum_value">19</span>
11171 </li>
11172 <li>
11173 <span class="entry_type_enum_name">D55</span>
11174 <span class="entry_type_enum_value">20</span>
11175 </li>
11176 <li>
11177 <span class="entry_type_enum_name">D65</span>
11178 <span class="entry_type_enum_value">21</span>
11179 </li>
11180 <li>
11181 <span class="entry_type_enum_name">D75</span>
11182 <span class="entry_type_enum_value">22</span>
11183 </li>
11184 <li>
11185 <span class="entry_type_enum_name">D50</span>
11186 <span class="entry_type_enum_value">23</span>
11187 </li>
11188 <li>
11189 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11190 <span class="entry_type_enum_value">24</span>
11191 </li>
11192 </ul>
11193
11194 </td> <!-- entry_type -->
11195
11196 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011197 <p>Light source used to define transform
111981</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011199 </td>
11200
11201 <td class="entry_units">
11202 </td>
11203
11204 <td class="entry_range">
11205 </td>
11206
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011207 <td class="entry_tags">
11208 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011209 <li><a href="#tag_DNG">DNG</a></li>
11210 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011211 </ul>
11212 </td>
11213
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011214 </tr>
11215 <tr class="entries_header">
11216 <th class="th_details" colspan="5">Details</th>
11217 </tr>
11218 <tr class="entry_cont">
11219 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011220 <p>[EXIF LightSource tag] Must all these be
11221supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011222 </td>
11223 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011224
11225
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011226 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11227 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011228
11229
11230 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011231 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011232 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011233 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011235 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011236
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011237 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011238
11239
11240 </td> <!-- entry_type -->
11241
11242 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011243 <p>Light source used to define transform
112442</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011245 </td>
11246
11247 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011248 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011249 </td>
11250
11251 <td class="entry_range">
11252 </td>
11253
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011254 <td class="entry_tags">
11255 </td>
11256
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011257 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011258
11259
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011260 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11261 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011262
11263
11264
11265 <!-- end of kind -->
11266 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011267 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011268
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011269 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011270 <tr>
11271 <th class="th_name">Property Name</th>
11272 <th class="th_type">Type</th>
11273 <th class="th_description">Description</th>
11274 <th class="th_units">Units</th>
11275 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011276 <th class="th_tags">Tags</th>
11277 </tr>
11278 </thead>
11279
11280 <tbody>
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011292 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011293 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011294 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011295 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011296 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011297
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011298 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011299
11300
11301 </td> <!-- entry_type -->
11302
11303 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011304 <p>Duration each pixel is exposed to
11305light.<wbr/></p>
11306<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11307duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011308 </td>
11309
11310 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011311 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011312 </td>
11313
11314 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011315 <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 -080011316 </td>
11317
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011318 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011319 <ul class="entry_tags">
11320 <li><a href="#tag_V1">V1</a></li>
11321 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011322 </td>
11323
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011324 </tr>
11325 <tr class="entries_header">
11326 <th class="th_details" colspan="5">Details</th>
11327 </tr>
11328 <tr class="entry_cont">
11329 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011330 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011331 </td>
11332 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011333
11334
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011335 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11336 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011337
11338
11339 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011340 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011341 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011342 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011343 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011344 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011345
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011346 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011347
11348
11349 </td> <!-- entry_type -->
11350
11351 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011352 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011353start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011354 </td>
11355
11356 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011357 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011358 </td>
11359
11360 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011361 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11362android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11363is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011364 </td>
11365
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011366 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011367 <ul class="entry_tags">
11368 <li><a href="#tag_V1">V1</a></li>
11369 <li><a href="#tag_BC">BC</a></li>
11370 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011371 </td>
11372
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011373 </tr>
11374 <tr class="entries_header">
11375 <th class="th_details" colspan="5">Details</th>
11376 </tr>
11377 <tr class="entry_cont">
11378 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011379 <p>The maximum frame rate that can be supported by a camera subsystem is
11380a function of many factors:</p>
11381<ul>
11382<li>Requested resolutions of output image streams</li>
11383<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11384<li>The bandwidth of the imager interface</li>
11385<li>The bandwidth of the various ISP processing blocks</li>
11386</ul>
11387<p>Since these factors can vary greatly between different ISPs and
11388sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11389restrictions with as simple a model as possible.<wbr/></p>
11390<p>The model presented has the following characteristics:</p>
11391<ul>
11392<li>The image sensor is always configured to output the smallest
11393resolution possible given the application's requested output stream
11394sizes.<wbr/> The smallest resolution is defined as being at least as large
11395as the largest requested output stream size; the camera pipeline must
11396never digitally upsample sensor data when the crop region covers the
11397whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11398resolutions are configured,<wbr/> the sensor can provide a higher frame
11399rate.<wbr/></li>
11400<li>Since any request may use any or all the currently configured
11401output streams,<wbr/> the sensor and ISP must be configured to support
11402scaling a single capture to all the streams at the same time.<wbr/> This
11403means the camera pipeline must be ready to produce the largest
11404requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11405frame rate of a given configured stream set is governed only by the
11406largest requested stream resolution.<wbr/></li>
11407<li>Using more than one output stream in a request does not affect the
11408frame duration.<wbr/></li>
11409<li>JPEG streams act like processed YUV streams in requests for which
11410they are not included; in requests in which they are directly
11411referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11412JPEG stream requires the underlying YUV data to always be ready for
11413use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11414frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11415<li>The JPEG processor can run concurrently to the rest of the camera
11416pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11417</ul>
11418<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11419is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11420These are used to determine the maximum frame rate /<wbr/> minimum frame
11421duration that is possible for a given stream configuration.<wbr/></p>
11422<p>Specifically,<wbr/> the application can use the following rules to
11423determine the minimum frame duration it can request from the HAL
11424device:</p>
11425<ol>
11426<li>Given the application's currently configured set of output
11427streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11428<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11429<code>SP</code>.<wbr/></li>
11430<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11431count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11432<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11433<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
11434no exact match for <code>RP == RJ</code> (in particular there isn't an available
11435processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11436to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11437there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11438the processed resolution closest to <code>RJ</code>.<wbr/></li>
11439<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
11440no exact match for <code>RR == RP</code> (in particular there isn't an available
11441raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11442or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11443there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11444the raw resolution closest to <code>RP</code>.<wbr/></li>
11445<li>Look up the matching minimum frame durations in the property lists
11446<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11447<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11448<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11449minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11450<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11451supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11452<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11453supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11454<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11455the application,<wbr/> then the HAL will have to delay JPEG-using requests
11456whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11457This will happen whenever a JPEG-using request starts capture less
11458than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11459supported frame duration will vary between the values calculated in
11460#6 and #7.<wbr/></li>
11461</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011462 </td>
11463 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011464
11465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011466 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11467 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011468
11469
11470 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011471 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011472 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011473 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011474 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011475 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011476
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011477 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011478
11479
11480 </td> <!-- entry_type -->
11481
11482 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011483 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011484implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011485below 'maximum analog sensitivity'.<wbr/></p>
11486<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11487gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011488 </td>
11489
11490 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011491 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011492 </td>
11493
11494 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011495 <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 -080011496 </td>
11497
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011498 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011499 <ul class="entry_tags">
11500 <li><a href="#tag_V1">V1</a></li>
11501 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011502 </td>
11503
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011504 </tr>
11505 <tr class="entries_header">
11506 <th class="th_details" colspan="5">Details</th>
11507 </tr>
11508 <tr class="entry_cont">
11509 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011510 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011511 </td>
11512 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011513
11514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011515 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11516 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011517
11518
11519 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011520 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011521 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011522 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011523 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011524 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011525
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011527
11528
11529 </td> <!-- entry_type -->
11530
11531 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011532 <p>Time at start of exposure of first
11533row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011534 </td>
11535
11536 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011537 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011538 </td>
11539
11540 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011541 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011542 </td>
11543
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011544 <td class="entry_tags">
11545 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011546 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011547 </ul>
11548 </td>
11549
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011550 </tr>
11551 <tr class="entries_header">
11552 <th class="th_details" colspan="5">Details</th>
11553 </tr>
11554 <tr class="entry_cont">
11555 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011556 <p>Monotonic,<wbr/> should be synced to other timestamps in
11557system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011558 </td>
11559 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011560
11561
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011562 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11563 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011564
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011565
11566 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011567 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011568 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011569 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011570 <td class="entry_type">
11571 <span class="entry_type_name">float</span>
11572
11573 <span class="entry_type_visibility"> [public]</span>
11574
11575
11576 </td> <!-- entry_type -->
11577
11578 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011579 <p>The temperature of the sensor,<wbr/> sampled at the time
11580exposure began for this frame.<wbr/></p>
11581<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11582somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011583 </td>
11584
11585 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011586 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011587 </td>
11588
11589 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011590 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011591 </td>
11592
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011593 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011594 <ul class="entry_tags">
11595 <li><a href="#tag_FULL">FULL</a></li>
11596 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011597 </td>
11598
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011599 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011600
11601
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011602 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11603 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011604
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011605
11606
11607 <!-- end of kind -->
11608 </tbody>
11609
11610 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011611 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011612
11613
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011614 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011615
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011616 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011617 <tr>
11618 <th class="th_name">Property Name</th>
11619 <th class="th_type">Type</th>
11620 <th class="th_description">Description</th>
11621 <th class="th_units">Units</th>
11622 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011623 <th class="th_tags">Tags</th>
11624 </tr>
11625 </thead>
11626
11627 <tbody>
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638 <tr class="entry" id="controls_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011639 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011640 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011641 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011642 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011643 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011644
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011645 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011646
11647 <ul class="entry_type_enum">
11648 <li>
11649 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011650 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011651 </li>
11652 <li>
11653 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011654 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11655bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011656 </li>
11657 <li>
11658 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011659 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11660quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011661 </li>
11662 </ul>
11663
11664 </td> <!-- entry_type -->
11665
11666 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011667 <p>Quality of lens shading correction applied
11668to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011669 </td>
11670
11671 <td class="entry_units">
11672 </td>
11673
11674 <td class="entry_range">
11675 </td>
11676
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011677 <td class="entry_tags">
11678 </td>
11679
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011680 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011681
11682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011683 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11684 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011685
11686
11687 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011688 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011689 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011690 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011692 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011693
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011694 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011695
11696
11697 </td> <!-- entry_type -->
11698
11699 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011700 <p>Control the amount of shading correction
11701applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011702 </td>
11703
11704 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011705 unitless: 1-10; 10 is full shading
11706 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011707 </td>
11708
11709 <td class="entry_range">
11710 </td>
11711
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011712 <td class="entry_tags">
11713 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011714 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011715 </ul>
11716 </td>
11717
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011718 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011719
11720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11722 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011723
11724
11725
11726 <!-- end of kind -->
11727 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011728 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011729
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011730 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011731 <tr>
11732 <th class="th_name">Property Name</th>
11733 <th class="th_type">Type</th>
11734 <th class="th_description">Description</th>
11735 <th class="th_units">Units</th>
11736 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011737 <th class="th_tags">Tags</th>
11738 </tr>
11739 </thead>
11740
11741 <tbody>
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752 <tr class="entry" id="dynamic_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011753 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011754 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011755 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011757 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011758
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011759 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011760
11761 <ul class="entry_type_enum">
11762 <li>
11763 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011764 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011765 </li>
11766 <li>
11767 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011768 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11769bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011770 </li>
11771 <li>
11772 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011773 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11774quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011775 </li>
11776 </ul>
11777
11778 </td> <!-- entry_type -->
11779
11780 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011781 <p>Quality of lens shading correction applied
11782to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011783 </td>
11784
11785 <td class="entry_units">
11786 </td>
11787
11788 <td class="entry_range">
11789 </td>
11790
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011791 <td class="entry_tags">
11792 </td>
11793
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011794 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011795
11796
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011797 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11798 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011799
11800
11801
11802 <!-- end of kind -->
11803 </tbody>
11804
11805 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011806 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011807
11808
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011809 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011810
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011811 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011812 <tr>
11813 <th class="th_name">Property Name</th>
11814 <th class="th_type">Type</th>
11815 <th class="th_description">Description</th>
11816 <th class="th_units">Units</th>
11817 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011818 <th class="th_tags">Tags</th>
11819 </tr>
11820 </thead>
11821
11822 <tbody>
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011834 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011835 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011836 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011838 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011839
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011840 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011841
11842 <ul class="entry_type_enum">
11843 <li>
11844 <span class="entry_type_enum_name">OFF</span>
11845 </li>
11846 <li>
11847 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011848 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11849only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011850 </li>
11851 <li>
11852 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011853 <span class="entry_type_enum_notes"><p>Optional Return all face
11854metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011855 </li>
11856 </ul>
11857
11858 </td> <!-- entry_type -->
11859
11860 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011861 <p>State of the face detector
11862unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011863 </td>
11864
11865 <td class="entry_units">
11866 </td>
11867
11868 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011869 <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 -080011870 </td>
11871
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011872 <td class="entry_tags">
11873 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011874 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011875 </ul>
11876 </td>
11877
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011878 </tr>
11879 <tr class="entries_header">
11880 <th class="th_details" colspan="5">Details</th>
11881 </tr>
11882 <tr class="entry_cont">
11883 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011884 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011885should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011886fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011887<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 -080011888 </td>
11889 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011890
11891
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011892 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11893 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011894
11895
11896 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011897 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011898 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011899 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011900 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011901 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011902
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011903 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011904
11905 <ul class="entry_type_enum">
11906 <li>
11907 <span class="entry_type_enum_name">OFF</span>
11908 </li>
11909 <li>
11910 <span class="entry_type_enum_name">ON</span>
11911 </li>
11912 </ul>
11913
11914 </td> <!-- entry_type -->
11915
11916 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011917 <p>Operating mode for histogram
11918generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011919 </td>
11920
11921 <td class="entry_units">
11922 </td>
11923
11924 <td class="entry_range">
11925 </td>
11926
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011927 <td class="entry_tags">
11928 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011929 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011930 </ul>
11931 </td>
11932
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011933 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011934
11935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011936 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11937 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011938
11939
11940 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011941 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011942 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011943 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011944 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011945 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011946
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011947 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011948
11949 <ul class="entry_type_enum">
11950 <li>
11951 <span class="entry_type_enum_name">OFF</span>
11952 </li>
11953 <li>
11954 <span class="entry_type_enum_name">ON</span>
11955 </li>
11956 </ul>
11957
11958 </td> <!-- entry_type -->
11959
11960 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011961 <p>Operating mode for sharpness map
11962generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011963 </td>
11964
11965 <td class="entry_units">
11966 </td>
11967
11968 <td class="entry_range">
11969 </td>
11970
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011971 <td class="entry_tags">
11972 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011973 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011974 </ul>
11975 </td>
11976
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011977 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011978
11979
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011980 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11981 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011982
Zhijun He69fc0ea2013-07-17 09:42:58 -070011983
11984 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011985 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011986 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011987 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011988 <td class="entry_type">
11989 <span class="entry_type_name entry_type_name_enum">byte</span>
11990
11991 <span class="entry_type_visibility"> [public]</span>
11992
11993 <ul class="entry_type_enum">
11994 <li>
11995 <span class="entry_type_enum_name">OFF</span>
11996 </li>
11997 <li>
11998 <span class="entry_type_enum_name">ON</span>
11999 </li>
12000 </ul>
12001
12002 </td> <!-- entry_type -->
12003
12004 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012005 <p>Whether the HAL needs to output the lens
12006shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012007 </td>
12008
12009 <td class="entry_units">
12010 </td>
12011
12012 <td class="entry_range">
12013 </td>
12014
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012015 <td class="entry_tags">
12016 </td>
12017
12018 </tr>
12019 <tr class="entries_header">
12020 <th class="th_details" colspan="5">Details</th>
12021 </tr>
12022 <tr class="entry_cont">
12023 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012024 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012025<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 -080012026the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012027 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012028 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012029
12030
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012031 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12032 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012033
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012034
12035
12036 <!-- end of kind -->
12037 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012038 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012039
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012040 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012041 <tr>
12042 <th class="th_name">Property Name</th>
12043 <th class="th_type">Type</th>
12044 <th class="th_description">Description</th>
12045 <th class="th_units">Units</th>
12046 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012047 <th class="th_tags">Tags</th>
12048 </tr>
12049 </thead>
12050
12051 <tbody>
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012065 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012066 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012067 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012068 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012069 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012070 <span class="entry_type_container">x</span>
12071
12072 <span class="entry_type_array">
12073 n
12074 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012075 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012076 <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 -080012077
12078
12079 </td> <!-- entry_type -->
12080
12081 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012082 <p>Which face detection modes are available,<wbr/>
12083if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012084 </td>
12085
12086 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012087 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012088 OFF
12089 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012090 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012091 </td>
12092
12093 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012094 </td>
12095
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012096 <td class="entry_tags">
12097 </td>
12098
12099 </tr>
12100 <tr class="entries_header">
12101 <th class="th_details" colspan="5">Details</th>
12102 </tr>
12103 <tr class="entry_cont">
12104 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012105 <p>OFF means face detection is disabled,<wbr/> it must
12106be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012107<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012108<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12109<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012110<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012111<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12112<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012113 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012114 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012115
12116
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012117 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12118 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012119
12120
12121 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012122 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012123 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012124 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012127
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012128 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012129
12130
12131 </td> <!-- entry_type -->
12132
12133 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012134 <p>Number of histogram buckets
12135supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012136 </td>
12137
12138 <td class="entry_units">
12139 </td>
12140
12141 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012142 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012143 </td>
12144
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012145 <td class="entry_tags">
12146 </td>
12147
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012148 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012149
12150
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012151 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12152 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012153
12154
12155 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012156 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012157 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012158 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012159 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012160 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012161
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012162 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012163
12164
12165 </td> <!-- entry_type -->
12166
12167 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012168 <p>Maximum number of simultaneously detectable
12169faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012170 </td>
12171
12172 <td class="entry_units">
12173 </td>
12174
12175 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012176 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012177modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012178 </td>
12179
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012180 <td class="entry_tags">
12181 </td>
12182
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012183 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012184
12185
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012186 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12187 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012188
12189
12190 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012191 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012192 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012193 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012194 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012195 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012196
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012197 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012198
12199
12200 </td> <!-- entry_type -->
12201
12202 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012203 <p>Maximum value possible for a histogram
12204bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012205 </td>
12206
12207 <td class="entry_units">
12208 </td>
12209
12210 <td class="entry_range">
12211 </td>
12212
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012213 <td class="entry_tags">
12214 </td>
12215
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012216 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012217
12218
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012219 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12220 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012221
12222
12223 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012224 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012225 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012226 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012227 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012228 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012229
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012230 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012231
12232
12233 </td> <!-- entry_type -->
12234
12235 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012236 <p>Maximum value possible for a sharpness map
12237region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012238 </td>
12239
12240 <td class="entry_units">
12241 </td>
12242
12243 <td class="entry_range">
12244 </td>
12245
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012246 <td class="entry_tags">
12247 </td>
12248
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012249 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012250
12251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012252 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12253 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012254
12255
12256 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012257 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012258 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012259 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012260 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012261 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012262 <span class="entry_type_container">x</span>
12263
12264 <span class="entry_type_array">
12265 2
12266 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012267 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012268 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012269
12270
12271 </td> <!-- entry_type -->
12272
12273 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012274 <p>Dimensions of the sharpness
12275map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012276 </td>
12277
12278 <td class="entry_units">
12279 </td>
12280
12281 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012282 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012283 </td>
12284
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012285 <td class="entry_tags">
12286 </td>
12287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012288 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012289
12290
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012291 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12292 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012293
12294
12295
12296
12297
12298
12299 <!-- end of kind -->
12300 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012301 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012302
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012303 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012304 <tr>
12305 <th class="th_name">Property Name</th>
12306 <th class="th_type">Type</th>
12307 <th class="th_description">Description</th>
12308 <th class="th_units">Units</th>
12309 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012310 <th class="th_tags">Tags</th>
12311 </tr>
12312 </thead>
12313
12314 <tbody>
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012326 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012327 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012328 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012329 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012330 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012331
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012332 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012333
12334 <ul class="entry_type_enum">
12335 <li>
12336 <span class="entry_type_enum_name">OFF</span>
12337 </li>
12338 <li>
12339 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012340 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12341only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012342 </li>
12343 <li>
12344 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012345 <span class="entry_type_enum_notes"><p>Optional Return all face
12346metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012347 </li>
12348 </ul>
12349
12350 </td> <!-- entry_type -->
12351
12352 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012353 <p>State of the face detector
12354unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012355 </td>
12356
12357 <td class="entry_units">
12358 </td>
12359
12360 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012361 <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 -080012362 </td>
12363
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012364 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012365 <ul class="entry_tags">
12366 <li><a href="#tag_BC">BC</a></li>
12367 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012368 </td>
12369
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012370 </tr>
12371 <tr class="entries_header">
12372 <th class="th_details" colspan="5">Details</th>
12373 </tr>
12374 <tr class="entry_cont">
12375 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012376 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012377should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012378fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012379<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 -080012380 </td>
12381 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012382
12383
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012384 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12385 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012386
12387
12388 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012389 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012390 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012391 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012392 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012393 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012394 <span class="entry_type_container">x</span>
12395
12396 <span class="entry_type_array">
12397 n
12398 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012399 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012400
12401
12402 </td> <!-- entry_type -->
12403
12404 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012405 <p>List of unique IDs for detected
12406faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012407 </td>
12408
12409 <td class="entry_units">
12410 </td>
12411
12412 <td class="entry_range">
12413 </td>
12414
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012415 <td class="entry_tags">
12416 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012417 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012418 </ul>
12419 </td>
12420
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012421 </tr>
12422 <tr class="entries_header">
12423 <th class="th_details" colspan="5">Details</th>
12424 </tr>
12425 <tr class="entry_cont">
12426 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012427 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012428 </td>
12429 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012430
12431
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012432 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12433 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012434
12435
12436 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012437 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012438 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012439 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012440 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012441 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012442 <span class="entry_type_container">x</span>
12443
12444 <span class="entry_type_array">
12445 n x 6
12446 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012447 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012448 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012449
12450
12451 </td> <!-- entry_type -->
12452
12453 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012454 <p>List of landmarks for detected
12455faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012456 </td>
12457
12458 <td class="entry_units">
12459 </td>
12460
12461 <td class="entry_range">
12462 </td>
12463
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012464 <td class="entry_tags">
12465 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012466 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012467 </ul>
12468 </td>
12469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012470 </tr>
12471 <tr class="entries_header">
12472 <th class="th_details" colspan="5">Details</th>
12473 </tr>
12474 <tr class="entry_cont">
12475 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012476 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012477 </td>
12478 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012479
12480
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012481 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12482 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012483
12484
12485 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012486 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012487 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012488 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012489 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012490 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012491 <span class="entry_type_container">x</span>
12492
12493 <span class="entry_type_array">
12494 n x 4
12495 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012496 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012497 <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 -080012498
12499
12500 </td> <!-- entry_type -->
12501
12502 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012503 <p>List of the bounding rectangles for detected
12504faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012505 </td>
12506
12507 <td class="entry_units">
12508 </td>
12509
12510 <td class="entry_range">
12511 </td>
12512
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012513 <td class="entry_tags">
12514 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012515 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012516 </ul>
12517 </td>
12518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012519 </tr>
12520 <tr class="entries_header">
12521 <th class="th_details" colspan="5">Details</th>
12522 </tr>
12523 <tr class="entry_cont">
12524 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012525 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012526 </td>
12527 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012528
12529
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012530 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12531 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012532
12533
12534 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012535 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012536 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012537 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012538 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012539 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012540 <span class="entry_type_container">x</span>
12541
12542 <span class="entry_type_array">
12543 n
12544 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012545 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012546
12547
12548 </td> <!-- entry_type -->
12549
12550 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012551 <p>List of the face confidence scores for
12552detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012553 </td>
12554
12555 <td class="entry_units">
12556 </td>
12557
12558 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012559 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012560 </td>
12561
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012562 <td class="entry_tags">
12563 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012564 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012565 </ul>
12566 </td>
12567
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012568 </tr>
12569 <tr class="entries_header">
12570 <th class="th_details" colspan="5">Details</th>
12571 </tr>
12572 <tr class="entry_cont">
12573 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012574 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12575meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012576 </td>
12577 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012578
12579
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012580 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12581 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012582
12583
12584 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012585 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012586 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012587 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012589 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012590 <span class="entry_type_container">x</span>
12591
12592 <span class="entry_type_array">
12593 n x 3
12594 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012595 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012596 <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 -080012597
12598
12599 </td> <!-- entry_type -->
12600
12601 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012602 <p>A 3-channel histogram based on the raw
12603sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012604 </td>
12605
12606 <td class="entry_units">
12607 </td>
12608
12609 <td class="entry_range">
12610 </td>
12611
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012612 <td class="entry_tags">
12613 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012614 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012615 </ul>
12616 </td>
12617
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012618 </tr>
12619 <tr class="entries_header">
12620 <th class="th_details" colspan="5">Details</th>
12621 </tr>
12622 <tr class="entry_cont">
12623 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012624 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012625(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 -080012626(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12627supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012628 </td>
12629 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012630
12631
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012632 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12633 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012634
12635
12636 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012637 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012638 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012639 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012640 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012641 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012642
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012643 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012644
12645 <ul class="entry_type_enum">
12646 <li>
12647 <span class="entry_type_enum_name">OFF</span>
12648 </li>
12649 <li>
12650 <span class="entry_type_enum_name">ON</span>
12651 </li>
12652 </ul>
12653
12654 </td> <!-- entry_type -->
12655
12656 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012657 <p>Operating mode for histogram
12658generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012659 </td>
12660
12661 <td class="entry_units">
12662 </td>
12663
12664 <td class="entry_range">
12665 </td>
12666
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012667 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012668 <ul class="entry_tags">
12669 <li><a href="#tag_V1">V1</a></li>
12670 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012671 </td>
12672
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012673 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012674
12675
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012676 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12677 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012678
12679
12680 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012681 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012682 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012683 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012686 <span class="entry_type_container">x</span>
12687
12688 <span class="entry_type_array">
12689 n x m x 3
12690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012691 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012692 <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 -080012693
12694
12695 </td> <!-- entry_type -->
12696
12697 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012698 <p>A 3-channel sharpness map,<wbr/> based on the raw
12699sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012700 </td>
12701
12702 <td class="entry_units">
12703 </td>
12704
12705 <td class="entry_range">
12706 </td>
12707
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012708 <td class="entry_tags">
12709 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012710 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012711 </ul>
12712 </td>
12713
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012714 </tr>
12715 <tr class="entries_header">
12716 <th class="th_details" colspan="5">Details</th>
12717 </tr>
12718 <tr class="entry_cont">
12719 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012720 <p>If only a monochrome sharpness map is supported,<wbr/>
12721all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012722 </td>
12723 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012724
12725
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012726 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12727 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012728
12729
12730 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012731 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012732 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012733 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012735 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012736
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012737 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012738
12739 <ul class="entry_type_enum">
12740 <li>
12741 <span class="entry_type_enum_name">OFF</span>
12742 </li>
12743 <li>
12744 <span class="entry_type_enum_name">ON</span>
12745 </li>
12746 </ul>
12747
12748 </td> <!-- entry_type -->
12749
12750 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012751 <p>Operating mode for sharpness map
12752generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012753 </td>
12754
12755 <td class="entry_units">
12756 </td>
12757
12758 <td class="entry_range">
12759 </td>
12760
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012761 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012762 <ul class="entry_tags">
12763 <li><a href="#tag_V1">V1</a></li>
12764 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012765 </td>
12766
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012767 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012768
12769
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012770 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12771 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012772
Zhijun He69fc0ea2013-07-17 09:42:58 -070012773
12774 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012775 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012776 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012777 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012778 <td class="entry_type">
12779 <span class="entry_type_name">float</span>
12780 <span class="entry_type_container">x</span>
12781
12782 <span class="entry_type_array">
12783 4 x n x m
12784 </span>
12785 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012786 <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 -070012787
12788
12789 </td> <!-- entry_type -->
12790
12791 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012792 <p>The shading map is a low-resolution floating-point map
12793that lists the coefficients used to correct for vignetting,<wbr/> for each
12794Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012795 </td>
12796
12797 <td class="entry_units">
12798 </td>
12799
12800 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012801 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012802 </td>
12803
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012804 <td class="entry_tags">
12805 </td>
12806
12807 </tr>
12808 <tr class="entries_header">
12809 <th class="th_details" colspan="5">Details</th>
12810 </tr>
12811 <tr class="entry_cont">
12812 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012813 <p>The least shaded section of the image should have a gain factor
12814of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012815<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 -080012816must take into account the colorCorrection settings.<wbr/></p>
12817<p>The shading map is for the entire active pixel array,<wbr/> and is not
12818affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012819entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012820pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12821map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12822(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12823pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12824The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12825<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12826channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12827The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012828is 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 -080012829<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12830and must be smaller than 64x64.<wbr/></p>
12831<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012832<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12833<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012834[ 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/>
12835 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/>
12836 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/>
12837 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/>
12838 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/>
12839 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 -080012840</code></pre>
12841<p>The low-resolution scaling map images for each channel are
12842(displayed using nearest-neighbor interpolation):</p>
12843<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12844<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12845<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12846<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012847<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012848image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012849<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 -070012850 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012851 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012852
12853
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012854 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12855 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012856
12857
12858 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012859 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012860 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012861 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012862 <td class="entry_type">
12863 <span class="entry_type_name">float</span>
12864 <span class="entry_type_container">x</span>
12865
12866 <span class="entry_type_array">
12867 4
12868 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012869 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012870 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012871
12872
12873 </td> <!-- entry_type -->
12874
12875 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012876 <p>The best-fit color channel gains calculated
12877by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012878 </td>
12879
12880 <td class="entry_units">
12881 </td>
12882
12883 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012884 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012885 </td>
12886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012887 <td class="entry_tags">
12888 </td>
12889
12890 </tr>
12891 <tr class="entries_header">
12892 <th class="th_details" colspan="5">Details</th>
12893 </tr>
12894 <tr class="entry_cont">
12895 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012896 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012897since statistics processing on data from a new frame
12898typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012899applied to that frame.<wbr/></p>
12900<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012901see <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 -080012902<p>This value should always be calculated by the AWB block,<wbr/>
12903regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012904 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012905 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012906
12907
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012908 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12909 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012910
12911
12912 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012913 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012914 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012915 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012916 <td class="entry_type">
12917 <span class="entry_type_name">rational</span>
12918 <span class="entry_type_container">x</span>
12919
12920 <span class="entry_type_array">
12921 3 x 3
12922 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012923 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012924 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012925
12926
12927 </td> <!-- entry_type -->
12928
12929 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012930 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012931calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080012932output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012933 </td>
12934
12935 <td class="entry_units">
12936 </td>
12937
12938 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012939 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012940 </td>
12941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012942 <td class="entry_tags">
12943 </td>
12944
12945 </tr>
12946 <tr class="entries_header">
12947 <th class="th_details" colspan="5">Details</th>
12948 </tr>
12949 <tr class="entry_cont">
12950 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012951 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012952statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080012953for the next frame.<wbr/> These are the values the HAL believes
12954are the best fit for the current output frame.<wbr/> This may
12955be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012956statistics processing on data from a new frame typically
12957completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080012958that frame.<wbr/></p>
12959<p>These estimates must be provided for all frames,<wbr/> even if
12960capture settings and color transforms are set by the application.<wbr/></p>
12961<p>This value should always be calculated by the AWB block,<wbr/>
12962regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012963 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012964 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012965
12966
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012967 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12968 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012969
12970
12971 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012972 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012973 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012974 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012975 <td class="entry_type">
12976 <span class="entry_type_name entry_type_name_enum">byte</span>
12977
12978 <span class="entry_type_visibility"> [public]</span>
12979
12980 <ul class="entry_type_enum">
12981 <li>
12982 <span class="entry_type_enum_name">NONE</span>
12983 </li>
12984 <li>
12985 <span class="entry_type_enum_name">50HZ</span>
12986 </li>
12987 <li>
12988 <span class="entry_type_enum_name">60HZ</span>
12989 </li>
12990 </ul>
12991
12992 </td> <!-- entry_type -->
12993
12994 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012995 <p>The HAL estimated scene illumination lighting
12996frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012997 </td>
12998
12999 <td class="entry_units">
13000 </td>
13001
13002 <td class="entry_range">
13003 </td>
13004
Zhijun He69fc0ea2013-07-17 09:42:58 -070013005 <td class="entry_tags">
13006 </td>
13007
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013008 </tr>
13009 <tr class="entries_header">
13010 <th class="th_details" colspan="5">Details</th>
13011 </tr>
13012 <tr class="entry_cont">
13013 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013014 <p>Report NONE if there doesn't appear to be flickering
13015illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013016 </td>
13017 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013018
13019
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013020 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13021 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013022
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013023
13024
13025 <!-- end of kind -->
13026 </tbody>
13027
13028 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013029 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013030
13031
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013032 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013033
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013034 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013035 <tr>
13036 <th class="th_name">Property Name</th>
13037 <th class="th_type">Type</th>
13038 <th class="th_description">Description</th>
13039 <th class="th_units">Units</th>
13040 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013041 <th class="th_tags">Tags</th>
13042 </tr>
13043 </thead>
13044
13045 <tbody>
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013057 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013058 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013059 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013060 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013061 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013062 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013063
Zhijun He704d1282013-08-19 15:26:33 -070013064 <span class="entry_type_array">
13065 n x 2
13066 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013067 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013068 <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 -080013069
13070
13071 </td> <!-- entry_type -->
13072
13073 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013074 <p>Table mapping blue input values to output
13075values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013076 </td>
13077
13078 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013079 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013080 </td>
13081
13082 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013083 <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 -080013084 </td>
13085
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013086 <td class="entry_tags">
13087 </td>
13088
13089 </tr>
13090 <tr class="entries_header">
13091 <th class="th_details" colspan="5">Details</th>
13092 </tr>
13093 <tr class="entry_cont">
13094 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013095 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013096channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13097<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 -080013098 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013099 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013100
13101
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013102 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13103 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013104
13105
13106 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013107 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013108 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013109 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013110 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013111 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013112 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013113
Zhijun He704d1282013-08-19 15:26:33 -070013114 <span class="entry_type_array">
13115 n x 2
13116 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013117 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013118 <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 -080013119
13120
13121 </td> <!-- entry_type -->
13122
13123 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013124 <p>Table mapping green input values to output
13125values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013126 </td>
13127
13128 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013129 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013130 </td>
13131
13132 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013133 <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 -080013134 </td>
13135
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013136 <td class="entry_tags">
13137 </td>
13138
13139 </tr>
13140 <tr class="entries_header">
13141 <th class="th_details" colspan="5">Details</th>
13142 </tr>
13143 <tr class="entry_cont">
13144 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013145 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013146channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13147<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 -080013148 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013149 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013150
13151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013152 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13153 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013154
13155
13156 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013157 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013158 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013159 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013160 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013161 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013162 <span class="entry_type_container">x</span>
13163
13164 <span class="entry_type_array">
13165 n x 2
13166 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013167 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013168 <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 -080013169
13170
13171 </td> <!-- entry_type -->
13172
13173 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013174 <p>Table mapping red input values to output
13175values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013176 </td>
13177
13178 <td class="entry_units">
13179 </td>
13180
13181 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013182 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013183 </td>
13184
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013185 <td class="entry_tags">
13186 <ul class="entry_tags">
13187 <li><a href="#tag_DNG">DNG</a></li>
13188 </ul>
13189 </td>
13190
13191 </tr>
13192 <tr class="entries_header">
13193 <th class="th_details" colspan="5">Details</th>
13194 </tr>
13195 <tr class="entry_cont">
13196 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013197 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013198channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013199<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013200the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013201are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013202between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013203<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013204defined points.<wbr/> The points will be listed in increasing
13205order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
132060.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13207for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
132080.<wbr/>25,<wbr/> 0.<wbr/>3 -&gt; 0.<wbr/>5,<wbr/> 0.<wbr/>5 -&gt; 0.<wbr/>64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013209 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013210 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013211
13212
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013213 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13214 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013215
13216
13217 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013218 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013219 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013222 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013224 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013225
13226 <ul class="entry_type_enum">
13227 <li>
13228 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013229 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13230android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013231 </li>
13232 <li>
13233 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013234 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13235bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013236 </li>
13237 <li>
13238 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013239 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13240quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013241 </li>
13242 </ul>
13243
13244 </td> <!-- entry_type -->
13245
13246 <td class="entry_description">
13247 </td>
13248
13249 <td class="entry_units">
13250 </td>
13251
13252 <td class="entry_range">
13253 </td>
13254
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013255 <td class="entry_tags">
13256 </td>
13257
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013258 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013259
13260
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013261 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13262 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013263
13264
13265
13266 <!-- end of kind -->
13267 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013268 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013269
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013270 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013271 <tr>
13272 <th class="th_name">Property Name</th>
13273 <th class="th_type">Type</th>
13274 <th class="th_description">Description</th>
13275 <th class="th_units">Units</th>
13276 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013277 <th class="th_tags">Tags</th>
13278 </tr>
13279 </thead>
13280
13281 <tbody>
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013293 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013294 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013295 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013297 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013298
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013299 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013300
13301
13302 </td> <!-- entry_type -->
13303
13304 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013305 <p>Maximum number of supported points in the
13306tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013307 </td>
13308
13309 <td class="entry_units">
13310 </td>
13311
13312 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013313 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013314 </td>
13315
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013316 <td class="entry_tags">
13317 </td>
13318
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013319 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013320
13321
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013322 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13323 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013324
13325
13326
13327 <!-- end of kind -->
13328 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013329 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013330
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013331 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013332 <tr>
13333 <th class="th_name">Property Name</th>
13334 <th class="th_type">Type</th>
13335 <th class="th_description">Description</th>
13336 <th class="th_units">Units</th>
13337 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013338 <th class="th_tags">Tags</th>
13339 </tr>
13340 </thead>
13341
13342 <tbody>
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013354 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013355 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013356 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013357 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013358 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013359 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013360
Zhijun He704d1282013-08-19 15:26:33 -070013361 <span class="entry_type_array">
13362 n x 2
13363 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013364 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013365 <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 -080013366
13367
13368 </td> <!-- entry_type -->
13369
13370 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013371 <p>Table mapping blue input values to output
13372values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013373 </td>
13374
13375 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013376 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013377 </td>
13378
13379 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013380 <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 -080013381 </td>
13382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013383 <td class="entry_tags">
13384 </td>
13385
13386 </tr>
13387 <tr class="entries_header">
13388 <th class="th_details" colspan="5">Details</th>
13389 </tr>
13390 <tr class="entry_cont">
13391 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013392 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013393channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13394<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 -080013395 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013396 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013397
13398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013399 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13400 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013401
13402
13403 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013404 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013405 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013406 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013407 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013408 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013409 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013410
Zhijun He704d1282013-08-19 15:26:33 -070013411 <span class="entry_type_array">
13412 n x 2
13413 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013414 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013415 <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 -080013416
13417
13418 </td> <!-- entry_type -->
13419
13420 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013421 <p>Table mapping green input values to output
13422values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013423 </td>
13424
13425 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013426 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013427 </td>
13428
13429 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013430 <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 -080013431 </td>
13432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013433 <td class="entry_tags">
13434 </td>
13435
13436 </tr>
13437 <tr class="entries_header">
13438 <th class="th_details" colspan="5">Details</th>
13439 </tr>
13440 <tr class="entry_cont">
13441 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013442 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013443channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13444<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 -080013445 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013446 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013447
13448
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013449 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13450 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013451
13452
13453 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013454 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013455 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013456 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013458 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013459 <span class="entry_type_container">x</span>
13460
13461 <span class="entry_type_array">
13462 n x 2
13463 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013464 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013465 <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 -080013466
13467
13468 </td> <!-- entry_type -->
13469
13470 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013471 <p>Table mapping red input values to output
13472values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013473 </td>
13474
13475 <td class="entry_units">
13476 </td>
13477
13478 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013479 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013480 </td>
13481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013482 <td class="entry_tags">
13483 <ul class="entry_tags">
13484 <li><a href="#tag_DNG">DNG</a></li>
13485 </ul>
13486 </td>
13487
13488 </tr>
13489 <tr class="entries_header">
13490 <th class="th_details" colspan="5">Details</th>
13491 </tr>
13492 <tr class="entry_cont">
13493 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013494 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013495channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013496<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013497the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013498are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013499between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013500<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013501defined points.<wbr/> The points will be listed in increasing
13502order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
135030.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13504for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
135050.<wbr/>25,<wbr/> 0.<wbr/>3 -&gt; 0.<wbr/>5,<wbr/> 0.<wbr/>5 -&gt; 0.<wbr/>64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013506 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013507 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013508
13509
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013510 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13511 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013512
13513
13514 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013515 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013516 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013517 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013518 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013519 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013520
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013521 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013522
13523 <ul class="entry_type_enum">
13524 <li>
13525 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013526 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13527android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013528 </li>
13529 <li>
13530 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013531 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13532bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013533 </li>
13534 <li>
13535 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013536 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13537quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013538 </li>
13539 </ul>
13540
13541 </td> <!-- entry_type -->
13542
13543 <td class="entry_description">
13544 </td>
13545
13546 <td class="entry_units">
13547 </td>
13548
13549 <td class="entry_range">
13550 </td>
13551
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013552 <td class="entry_tags">
13553 </td>
13554
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013555 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013556
13557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013558 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13559 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013560
13561
13562
13563 <!-- end of kind -->
13564 </tbody>
13565
13566 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013567 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013568
13569
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013570 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013571
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013572 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013573 <tr>
13574 <th class="th_name">Property Name</th>
13575 <th class="th_type">Type</th>
13576 <th class="th_description">Description</th>
13577 <th class="th_units">Units</th>
13578 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013579 <th class="th_tags">Tags</th>
13580 </tr>
13581 </thead>
13582
13583 <tbody>
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013595 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013596 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013597 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013598 <td class="entry_type">
13599 <span class="entry_type_name entry_type_name_enum">byte</span>
13600
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013601 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013602
13603 <ul class="entry_type_enum">
13604 <li>
13605 <span class="entry_type_enum_name">OFF</span>
13606 </li>
13607 <li>
13608 <span class="entry_type_enum_name">ON</span>
13609 </li>
13610 </ul>
13611
13612 </td> <!-- entry_type -->
13613
13614 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013615 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013616that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013617Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013618disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013619any untrusted applications.<wbr/></p>
13620<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13621transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13622data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013623<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013624doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013625 </td>
13626
13627 <td class="entry_units">
13628 </td>
13629
13630 <td class="entry_range">
13631 </td>
13632
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013633 <td class="entry_tags">
13634 </td>
13635
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013636 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013637
13638
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013639 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13640 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013641
13642
13643
13644 <!-- end of kind -->
13645 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013646 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013647
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013648 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013649 <tr>
13650 <th class="th_name">Property Name</th>
13651 <th class="th_type">Type</th>
13652 <th class="th_description">Description</th>
13653 <th class="th_units">Units</th>
13654 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013655 <th class="th_tags">Tags</th>
13656 </tr>
13657 </thead>
13658
13659 <tbody>
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013671 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013672 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013673 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013674 <td class="entry_type">
13675 <span class="entry_type_name entry_type_name_enum">byte</span>
13676
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013677 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013678
13679 <ul class="entry_type_enum">
13680 <li>
13681 <span class="entry_type_enum_name">OFF</span>
13682 </li>
13683 <li>
13684 <span class="entry_type_enum_name">ON</span>
13685 </li>
13686 </ul>
13687
13688 </td> <!-- entry_type -->
13689
13690 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013691 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013692that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013693Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013694disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013695any untrusted applications.<wbr/></p>
13696<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13697transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13698data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013699<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013700doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013701 </td>
13702
13703 <td class="entry_units">
13704 </td>
13705
13706 <td class="entry_range">
13707 </td>
13708
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013709 <td class="entry_tags">
13710 </td>
13711
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013712 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013713
13714
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013715 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13716 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013717
13718
13719
13720 <!-- end of kind -->
13721 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013722 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013723
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013724 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013725 <tr>
13726 <th class="th_name">Property Name</th>
13727 <th class="th_type">Type</th>
13728 <th class="th_description">Description</th>
13729 <th class="th_units">Units</th>
13730 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013731 <th class="th_tags">Tags</th>
13732 </tr>
13733 </thead>
13734
13735 <tbody>
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013747 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013748 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013749 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013750 <td class="entry_type">
13751 <span class="entry_type_name entry_type_name_enum">byte</span>
13752 <span class="entry_type_container">x</span>
13753
13754 <span class="entry_type_array">
13755 n
13756 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013757 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013758
13759 <ul class="entry_type_enum">
13760 <li>
13761 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013762 <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 -070013763 </li>
13764 </ul>
13765
13766 </td> <!-- entry_type -->
13767
13768 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013769 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013770 </td>
13771
13772 <td class="entry_units">
13773 </td>
13774
13775 <td class="entry_range">
13776 </td>
13777
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013778 <td class="entry_tags">
13779 </td>
13780
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013781 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013782
13783
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013784 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13785 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013786
13787
13788
13789 <!-- end of kind -->
13790 </tbody>
13791
13792 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013793 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013794
13795
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013796 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013797
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013798 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013799 <tr>
13800 <th class="th_name">Property Name</th>
13801 <th class="th_type">Type</th>
13802 <th class="th_description">Description</th>
13803 <th class="th_units">Units</th>
13804 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013805 <th class="th_tags">Tags</th>
13806 </tr>
13807 </thead>
13808
13809 <tbody>
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013821 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013822 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013823 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013824 <td class="entry_type">
13825 <span class="entry_type_name entry_type_name_enum">byte</span>
13826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013827 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013828
13829 <ul class="entry_type_enum">
13830 <li>
13831 <span class="entry_type_enum_name">LIMITED</span>
13832 </li>
13833 <li>
13834 <span class="entry_type_enum_name">FULL</span>
13835 </li>
13836 </ul>
13837
13838 </td> <!-- entry_type -->
13839
13840 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013841 <p>The camera 3 HAL device can implement one of two possible
13842operational modes; limited and full.<wbr/> Full support is
13843expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013844hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013845camera HAL device v1 implementation,<wbr/> and is expected from
13846older or inexpensive devices.<wbr/> Full is a strict superset of
13847limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13848<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013849 </td>
13850
13851 <td class="entry_units">
13852 </td>
13853
13854 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013855 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013856 </td>
13857
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013858 <td class="entry_tags">
13859 </td>
13860
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013861 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013862
13863
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013864 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13865 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013866
13867
13868
13869 <!-- end of kind -->
13870 </tbody>
13871
13872 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013873 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013874
13875
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013876 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013877
13878 <thead class="entries_header">
13879 <tr>
13880 <th class="th_name">Property Name</th>
13881 <th class="th_type">Type</th>
13882 <th class="th_description">Description</th>
13883 <th class="th_units">Units</th>
13884 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013885 <th class="th_tags">Tags</th>
13886 </tr>
13887 </thead>
13888
13889 <tbody>
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013901 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013902 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013903 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013904 <td class="entry_type">
13905 <span class="entry_type_name entry_type_name_enum">byte</span>
13906
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013907 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013908
13909 <ul class="entry_type_enum">
13910 <li>
13911 <span class="entry_type_enum_name">OFF</span>
13912 </li>
13913 <li>
13914 <span class="entry_type_enum_name">ON</span>
13915 </li>
13916 </ul>
13917
13918 </td> <!-- entry_type -->
13919
13920 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013921 <p>Whether black-level compensation is locked
13922to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013923 </td>
13924
13925 <td class="entry_units">
13926 </td>
13927
13928 <td class="entry_range">
13929 </td>
13930
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013931 <td class="entry_tags">
13932 <ul class="entry_tags">
13933 <li><a href="#tag_HAL2">HAL2</a></li>
13934 </ul>
13935 </td>
13936
13937 </tr>
13938 <tr class="entries_header">
13939 <th class="th_details" colspan="5">Details</th>
13940 </tr>
13941 <tr class="entry_cont">
13942 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013943 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013944compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080013945OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013946<p>Since changes to certain capture parameters (such as
13947exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080013948compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013949the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080013950metadata.<wbr/></p>
13951<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013952<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013953<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13954<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13955<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13956<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13957<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13958<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013959</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013960<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080013961device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013962result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013963<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013964<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13965<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13966<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13967<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
13968<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13969<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013970</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013971<p>This indicates to the application that on frame 4,<wbr/> black
13972levels were reset due to exposure value changes,<wbr/> and pixel
13973values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013974<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080013975possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013976other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080013977or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013978 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013979 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013980
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013981 <tr class="entries_header">
13982 <th class="th_details" colspan="5">HAL Implementation Details</th>
13983 </tr>
13984 <tr class="entry_cont">
13985 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013986 <p>If for some reason black level locking is no longer possible
13987(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13988black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013989override this request (and it must report 'OFF' when this
13990does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013991possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013992 </td>
13993 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013995 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13996 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013997
13998
13999
14000 <!-- end of kind -->
14001 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014002 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014003
14004 <thead class="entries_header">
14005 <tr>
14006 <th class="th_name">Property Name</th>
14007 <th class="th_type">Type</th>
14008 <th class="th_description">Description</th>
14009 <th class="th_units">Units</th>
14010 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014011 <th class="th_tags">Tags</th>
14012 </tr>
14013 </thead>
14014
14015 <tbody>
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014027 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014028 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014029 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014030 <td class="entry_type">
14031 <span class="entry_type_name entry_type_name_enum">byte</span>
14032
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014033 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014034
14035 <ul class="entry_type_enum">
14036 <li>
14037 <span class="entry_type_enum_name">OFF</span>
14038 </li>
14039 <li>
14040 <span class="entry_type_enum_name">ON</span>
14041 </li>
14042 </ul>
14043
14044 </td> <!-- entry_type -->
14045
14046 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014047 <p>Whether black-level compensation is locked
14048to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014049 </td>
14050
14051 <td class="entry_units">
14052 </td>
14053
14054 <td class="entry_range">
14055 </td>
14056
Zhijun He69fc0ea2013-07-17 09:42:58 -070014057 <td class="entry_tags">
14058 <ul class="entry_tags">
14059 <li><a href="#tag_HAL2">HAL2</a></li>
14060 </ul>
14061 </td>
14062
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014063 </tr>
14064 <tr class="entries_header">
14065 <th class="th_details" colspan="5">Details</th>
14066 </tr>
14067 <tr class="entry_cont">
14068 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014069 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014070ON 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 -080014071a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014072perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014073 </td>
14074 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014075
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014076 <tr class="entries_header">
14077 <th class="th_details" colspan="5">HAL Implementation Details</th>
14078 </tr>
14079 <tr class="entry_cont">
14080 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014081 <p>If for some reason black level locking is no longer possible
14082(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14083black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014084override this request (and it must report 'OFF' when this
14085does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014086possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014087 </td>
14088 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14091 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014092
14093
14094
14095 <!-- end of kind -->
14096 </tbody>
14097
14098 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014099<!-- </namespace> -->
14100 </table>
14101
14102 <div class="tags" id="tag_index">
14103 <h2>Tags</h2>
14104 <ul>
14105 <li id="tag_AWB">AWB -
14106 Needed for auto white balance
14107
14108 <ul class="tags_entries">
14109 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14110 </ul>
14111 </li> <!-- tag_AWB -->
14112 <li id="tag_BC">BC -
14113 Needed for backwards compatibility with old Java API
14114
14115 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014116 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014117 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14118 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14119 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14120 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14121 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014122 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014123 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14124 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014125 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014126 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14127 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14128 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14129 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14130 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14131 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14132 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14133 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014134 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014135 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14136 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14137 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14138 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14139 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14140 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14141 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14142 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14143 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14144 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14145 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14146 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14147 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14148 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14149 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14150 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14151 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14152 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14153 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14154 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14155 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14156 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14157 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14158 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14159 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14160 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14161 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14162 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014163 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014164 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14165 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14166 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014167 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014168 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014169 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14170 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14171 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14172 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14173 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14174 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14175 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14176 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14177 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14178 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14179 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14180 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14181 </ul>
14182 </li> <!-- tag_BC -->
14183 <li id="tag_V1">V1 -
14184 New features for first camera 2 release (API1)
14185
14186 <ul class="tags_entries">
14187 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14188 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14189 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14190 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14191 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14192 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14193 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14194 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14195 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14196 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14197 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14198 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14199 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14200 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14201 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14202 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14203 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14204 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14205 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14206 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14207 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14208 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14209 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14210 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014211 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014212 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14213 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14214 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14215 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14216 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14217 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14218 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14219 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14220 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14221 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14222 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14223 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14224 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14225 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14226 </ul>
14227 </li> <!-- tag_V1 -->
14228 <li id="tag_ADV">ADV - None
14229 <ul class="tags_entries">
14230 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14231 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14232 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14233 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14234 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14235 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14236 </ul>
14237 </li> <!-- tag_ADV -->
14238 <li id="tag_DNG">DNG -
14239 Needed for DNG file support
14240
14241 <ul class="tags_entries">
14242 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014243 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14244 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14245 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14246 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14247 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14248 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14249 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14250 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14251 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14252 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14253 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14254 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14255 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14256 </ul>
14257 </li> <!-- tag_DNG -->
14258 <li id="tag_EXIF">EXIF - None
14259 <ul class="tags_entries">
14260 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14261 </ul>
14262 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014263 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014264 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014265
14266 <ul class="tags_entries">
14267 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14268 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14269 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014270 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014271 </ul>
14272 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014273 <li id="tag_FULL">FULL -
14274 Entry is required for full hardware level devices, and optional for other hardware levels
14275
14276 <ul class="tags_entries">
14277 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14278 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14279 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14280 </ul>
14281 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014282 </ul>
14283 </div>
14284
14285 [ <a href="#">top</a> ]
14286
14287</body>
14288</html>