blob: 3784e1a082e8724df064e5871a82c43ae71efa06 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080031 .entry_cont { background-color: #f0f0f0 }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070032 .entries_header { background-color: #dddddd; text-align: center}
33
34 /* toc style */
35 .toc_section_header { font-size:1.3em; }
36 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080037
38 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070039 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
40 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080041 .th_name { width: 20% }
42 .th_units { width: 10% }
43 .th_tags { width: 5% }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080044 .th_details { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080045 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070046 .th_description { width: 20% }
47 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080048 td { font-size: 0.9em; }
49
50 /* hide the first thead, we need it there only to enforce column sizes */
51 .thead_dummy { visibility: hidden; }
52
53 /* Entry flair */
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080054 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; vertical-align:top; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080055
56 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070057 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
58 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
59 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080060 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
61 .entry_type_enum_notes:before { content:" - " }
Igor Murashkina10351a2014-01-15 17:05:22 -080062 .entry_type_enum_notes>p:first-child { display:inline; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080063 .entry_type_enum_value:before { content:" = " }
64 .entry_type_enum_value { font-family: monospace; }
65 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
66 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
67
68 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080071 /* Entry details (full docs) flair */
72 .entry_details_header { font-weight: bold; background-color: #dddddd;
73 text-align: center; font-size: 1.1em; margin-left: 0em; margin-right: 0em; }
74
75 /* Entry spacer flair */
76 .entry_spacer { background-color: transparent; border-style: none; height: 0.5em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080077
78 /* TODO: generate abbr element for each tag link? */
79 /* TODO for each x.y.z try to link it to the entry */
80
81 </style>
82
83 <style>
84
85 {
86 /* broken...
87 supposedly there is a bug in chrome that it lays out tables before
88 it knows its being printed, so the page-break-* styles are ignored
89 */
90 tr { page-break-after: always; page-break-inside: avoid; }
91 }
92
93 </style>
94</head>
95
96
97
Igor Murashkin08b8aad2012-11-29 15:23:03 -080098<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070099 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700101
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800102 <h2>Table of Contents</h2>
103 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700104 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
105 <li>
106 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
107 <ul class="toc_section">
108 <li>
109 <span class="toc_kind_header">controls</span>
110 <ul class="toc_section">
111 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
112 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700114 </ul>
115 </li>
116 <li>
117 <span class="toc_kind_header">dynamic</span>
118 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700119 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
120 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700121 </ul>
122 </li>
123 </ul> <!-- toc_section -->
124 </li>
125 <li>
126 <span class="toc_section_header"><a href="#section_control">control</a></span>
127 <ul class="toc_section">
128 <li>
129 <span class="toc_kind_header">controls</span>
130 <ul class="toc_section">
131 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
132 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
133 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
134 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
135 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
136 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
137 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
138 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
139 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
140 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
141 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
142 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
143 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
144 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
145 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
146 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
147 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
148 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
149 </ul>
150 </li>
151 <li>
152 <span class="toc_kind_header">static</span>
153 <ul class="toc_section">
154 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
155 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
156 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
157 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
158 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
159 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
160 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
161 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
162 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
163 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
164 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
165 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
166 </ul>
167 </li>
168 <li>
169 <span class="toc_kind_header">dynamic</span>
170 <ul class="toc_section">
171 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -0800172 <li><a href="#dynamic_android.control.aeMode">android.control.aeMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700173 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
174 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
175 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
176 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
177 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
178 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
179 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
180 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
181 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
182 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
183 </ul>
184 </li>
185 </ul> <!-- toc_section -->
186 </li>
187 <li>
188 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
189 <ul class="toc_section">
190 <li>
191 <span class="toc_kind_header">controls</span>
192 <ul class="toc_section">
193 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
194 </ul>
195 </li>
196 </ul> <!-- toc_section -->
197 </li>
198 <li>
199 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
200 <ul class="toc_section">
201 <li>
202 <span class="toc_kind_header">controls</span>
203 <ul class="toc_section">
204 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
205 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
206 </ul>
207 </li>
208 <li>
209 <span class="toc_kind_header">dynamic</span>
210 <ul class="toc_section">
211 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
212 </ul>
213 </li>
214 </ul> <!-- toc_section -->
215 </li>
216 <li>
217 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
218 <ul class="toc_section">
219 <li>
220 <span class="toc_kind_header">controls</span>
221 <ul class="toc_section">
222 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
223 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
224 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
225 </ul>
226 </li>
227 <li>
228 <span class="toc_kind_header">static</span>
229 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700231 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
232 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700234 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
235 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
236 </ul>
237 </li>
238 <li>
239 <span class="toc_kind_header">dynamic</span>
240 <ul class="toc_section">
241 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
242 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
243 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
244 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
245 </ul>
246 </li>
247 </ul> <!-- toc_section -->
248 </li>
249 <li>
250 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
251 <ul class="toc_section">
252 <li>
253 <span class="toc_kind_header">controls</span>
254 <ul class="toc_section">
255 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
256 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
257 </ul>
258 </li>
259 </ul> <!-- toc_section -->
260 </li>
261 <li>
262 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
263 <ul class="toc_section">
264 <li>
265 <span class="toc_kind_header">controls</span>
266 <ul class="toc_section">
267 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
268 </ul>
269 </li>
270 <li>
271 <span class="toc_kind_header">static</span>
272 <ul class="toc_section">
273
274 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
275
276 </ul>
277 </li>
278 <li>
279 <span class="toc_kind_header">dynamic</span>
280 <ul class="toc_section">
281 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
282 </ul>
283 </li>
284 </ul> <!-- toc_section -->
285 </li>
286 <li>
287 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
288 <ul class="toc_section">
289 <li>
290 <span class="toc_kind_header">controls</span>
291 <ul class="toc_section">
292 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
293 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
294 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
295 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
296 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
297 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
298 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">static</span>
303 <ul class="toc_section">
304 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
305 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
306 </ul>
307 </li>
308 <li>
309 <span class="toc_kind_header">dynamic</span>
310 <ul class="toc_section">
311 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
312 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
313 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
314 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
315 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
316 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
317 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
318 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
319 </ul>
320 </li>
321 </ul> <!-- toc_section -->
322 </li>
323 <li>
324 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
325 <ul class="toc_section">
326 <li>
327 <span class="toc_kind_header">controls</span>
328 <ul class="toc_section">
329 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
330 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
331 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
332 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
333 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
334 </ul>
335 </li>
336 <li>
337 <span class="toc_kind_header">static</span>
338 <ul class="toc_section">
339
340 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
341 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
342 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
343 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
344 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
345 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
346 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
347 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700348 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
349
350 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
351 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
352 <li><a href="#static_android.lens.position">android.lens.position</a></li>
353 </ul>
354 </li>
355 <li>
356 <span class="toc_kind_header">dynamic</span>
357 <ul class="toc_section">
358 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
359 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
360 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
361 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
362 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
363 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
364 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
365 </ul>
366 </li>
367 </ul> <!-- toc_section -->
368 </li>
369 <li>
370 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
371 <ul class="toc_section">
372 <li>
373 <span class="toc_kind_header">controls</span>
374 <ul class="toc_section">
375 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
377 </ul>
378 </li>
379 <li>
380 <span class="toc_kind_header">dynamic</span>
381 <ul class="toc_section">
382 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
383 </ul>
384 </li>
385 </ul> <!-- toc_section -->
386 </li>
387 <li>
388 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
389 <ul class="toc_section">
390 <li>
391 <span class="toc_kind_header">static</span>
392 <ul class="toc_section">
393 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
394 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
395 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700396 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
397 </ul>
398 </li>
399 <li>
400 <span class="toc_kind_header">dynamic</span>
401 <ul class="toc_section">
402 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700403 </ul>
404 </li>
405 </ul> <!-- toc_section -->
406 </li>
407 <li>
408 <span class="toc_section_header"><a href="#section_request">request</a></span>
409 <ul class="toc_section">
410 <li>
411 <span class="toc_kind_header">controls</span>
412 <ul class="toc_section">
413 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
414 <li><a href="#controls_android.request.id">android.request.id</a></li>
415 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
416 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
417 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
418 <li><a href="#controls_android.request.type">android.request.type</a></li>
419 </ul>
420 </li>
421 <li>
422 <span class="toc_kind_header">static</span>
423 <ul class="toc_section">
424 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
425 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
426 </ul>
427 </li>
428 <li>
429 <span class="toc_kind_header">dynamic</span>
430 <ul class="toc_section">
431 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
432 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
433 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
434 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
435 </ul>
436 </li>
437 </ul> <!-- toc_section -->
438 </li>
439 <li>
440 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
441 <ul class="toc_section">
442 <li>
443 <span class="toc_kind_header">controls</span>
444 <ul class="toc_section">
445 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
446 </ul>
447 </li>
448 <li>
449 <span class="toc_kind_header">static</span>
450 <ul class="toc_section">
451 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
452 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
453 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
454 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
455 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
456 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
457 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
458 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
459 </ul>
460 </li>
461 <li>
462 <span class="toc_kind_header">dynamic</span>
463 <ul class="toc_section">
464 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
465 </ul>
466 </li>
467 </ul> <!-- toc_section -->
468 </li>
469 <li>
470 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
471 <ul class="toc_section">
472 <li>
473 <span class="toc_kind_header">controls</span>
474 <ul class="toc_section">
475 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
476 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
477 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
478 </ul>
479 </li>
480 <li>
481 <span class="toc_kind_header">static</span>
482 <ul class="toc_section">
483
484 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700485 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700486 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
487 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
488 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
489 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
490 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
491 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
492
493 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
494 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
495 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
496 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
497 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
498 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
499 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
500 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
501 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
502 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
503 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
504 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
505 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
506 </ul>
507 </li>
508 <li>
509 <span class="toc_kind_header">dynamic</span>
510 <ul class="toc_section">
511 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
512 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
513 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
514 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700515 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700516 </ul>
517 </li>
518 </ul> <!-- toc_section -->
519 </li>
520 <li>
521 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
522 <ul class="toc_section">
523 <li>
524 <span class="toc_kind_header">controls</span>
525 <ul class="toc_section">
526 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
527 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
528 </ul>
529 </li>
530 <li>
531 <span class="toc_kind_header">dynamic</span>
532 <ul class="toc_section">
533 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
534 </ul>
535 </li>
536 </ul> <!-- toc_section -->
537 </li>
538 <li>
539 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
540 <ul class="toc_section">
541 <li>
542 <span class="toc_kind_header">controls</span>
543 <ul class="toc_section">
544 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
545 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
546 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700547 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700548 </ul>
549 </li>
550 <li>
551 <span class="toc_kind_header">static</span>
552 <ul class="toc_section">
553
554 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
555 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
556 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
557 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
558 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
559 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
560
561 </ul>
562 </li>
563 <li>
564 <span class="toc_kind_header">dynamic</span>
565 <ul class="toc_section">
566 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
567 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
568 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
569 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
570 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
571 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
572 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
573 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
574 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700575 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
576 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
577 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
578 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700579 </ul>
580 </li>
581 </ul> <!-- toc_section -->
582 </li>
583 <li>
584 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
585 <ul class="toc_section">
586 <li>
587 <span class="toc_kind_header">controls</span>
588 <ul class="toc_section">
589 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
590 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
591 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
592 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
593 </ul>
594 </li>
595 <li>
596 <span class="toc_kind_header">static</span>
597 <ul class="toc_section">
598 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
599 </ul>
600 </li>
601 <li>
602 <span class="toc_kind_header">dynamic</span>
603 <ul class="toc_section">
604 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
605 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
606 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
607 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
608 </ul>
609 </li>
610 </ul> <!-- toc_section -->
611 </li>
612 <li>
613 <span class="toc_section_header"><a href="#section_led">led</a></span>
614 <ul class="toc_section">
615 <li>
616 <span class="toc_kind_header">controls</span>
617 <ul class="toc_section">
618 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
619 </ul>
620 </li>
621 <li>
622 <span class="toc_kind_header">dynamic</span>
623 <ul class="toc_section">
624 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
625 </ul>
626 </li>
627 <li>
628 <span class="toc_kind_header">static</span>
629 <ul class="toc_section">
630 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
631 </ul>
632 </li>
633 </ul> <!-- toc_section -->
634 </li>
635 <li>
636 <span class="toc_section_header"><a href="#section_info">info</a></span>
637 <ul class="toc_section">
638 <li>
639 <span class="toc_kind_header">static</span>
640 <ul class="toc_section">
641 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
642 </ul>
643 </li>
644 </ul> <!-- toc_section -->
645 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700646 <li>
647 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
648 <ul class="toc_section">
649 <li>
650 <span class="toc_kind_header">controls</span>
651 <ul class="toc_section">
652 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
653 </ul>
654 </li>
655 <li>
656 <span class="toc_kind_header">dynamic</span>
657 <ul class="toc_section">
658 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
659 </ul>
660 </li>
661 </ul> <!-- toc_section -->
662 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800663 </ul>
664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700665
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800666 <h1>Properties</h1>
667 <table class="properties">
668
669 <thead class="thead_dummy">
670 <tr>
671 <th class="th_name">Property Name</th>
672 <th class="th_type">Type</th>
673 <th class="th_description">Description</th>
674 <th class="th_units">Units</th>
675 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800676 <th class="th_tags">Tags</th>
677 </tr>
678 </thead> <!-- so that the first occurrence of thead is not
679 above the first occurrence of tr -->
680<!-- <namespace name="android"> -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800681 <tr><td colspan="6" id="section_colorCorrection" class="section">colorCorrection</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800682
683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800684 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700686 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800687 <tr>
688 <th class="th_name">Property Name</th>
689 <th class="th_type">Type</th>
690 <th class="th_description">Description</th>
691 <th class="th_units">Units</th>
692 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800693 <th class="th_tags">Tags</th>
694 </tr>
695 </thead>
696
697 <tbody>
698
699
700
701
702
703
704
705
706
707
708 <tr class="entry" id="controls_android.colorCorrection.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800709 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800710 android.<wbr/>color<wbr/>Correction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800711 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800712 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800713 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800714
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700715 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800716
717 <ul class="entry_type_enum">
718 <li>
719 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800720 <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
Igor Murashkin43817ad2014-01-10 15:58:35 -0800721and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
722<p>All advanced white balance adjustments (not specified
723by our white balance pipeline) must be disabled.<wbr/></p>
724<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
725TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
726this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800727 </li>
728 <li>
729 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800730 <span class="entry_type_enum_notes"><p>Must not slow down capture rate relative to sensor raw
731output.<wbr/></p>
732<p>Advanced white balance adjustments above and beyond
733the specified white balance pipeline may be applied.<wbr/></p>
734<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
735the camera device uses the last frame's AWB values
736(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800737 </li>
738 <li>
739 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800740 <span class="entry_type_enum_notes"><p>Capture rate (relative to sensor raw output)
741may be reduced by high quality.<wbr/></p>
742<p>Advanced white balance adjustments above and beyond
743the specified white balance pipeline may be applied.<wbr/></p>
744<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
745the camera device uses the last frame's AWB values
746(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 </li>
748 </ul>
749
750 </td> <!-- entry_type -->
751
752 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800753 <p>The mode control selects how the image data is converted from the
754sensor's native color into linear sRGB color.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800755 </td>
756
757 <td class="entry_units">
758 </td>
759
760 <td class="entry_range">
761 </td>
762
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800763 <td class="entry_tags">
764 </td>
765
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800766 </tr>
767 <tr class="entries_header">
768 <th class="th_details" colspan="5">Details</th>
769 </tr>
770 <tr class="entry_cont">
771 <td class="entry_details" colspan="5">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800772 <p>When auto-white balance is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
773control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
774application controls how the color mapping is performed.<wbr/></p>
775<p>We define the expected processing pipeline below.<wbr/> For consistency
776across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
777<p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
778do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
779<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
780camera device (in the results) and be roughly correct.<wbr/></p>
781<p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
782FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
783as what was produced by the camera device in the earlier frame.<wbr/></p>
784<p>The expected processing pipeline is as follows:</p>
785<p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
786<p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
787gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
788matrix (applied after demosaic).<wbr/></p>
789<p>The 4-channel white-balance gains are defined as:</p>
790<pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
791</code></pre>
792<p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
793output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
794These may be identical for a given camera device implementation; if
795the camera device does not support a separate gain for even/<wbr/>odd green
796channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
797<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
798<p>The matrices for color transforms are defined as a 9-entry vector:</p>
799<pre><code><a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> = [ I0 I1 I2 I3 I4 I5 I6 I7 I8 ]
800</code></pre>
801<p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
802to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
803<p>with colors as follows:</p>
804<pre><code>r' = I0r + I1g + I2b
805g' = I3r + I4g + I5b
806b' = I6r + I7g + I8b
807</code></pre>
808<p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
809values are clipped to fit within the range.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800810 </td>
811 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800812
813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800814 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
815 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800816
817
818 <tr class="entry" id="controls_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800819 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800820 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800821 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800822 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700823 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800824 <span class="entry_type_container">x</span>
825
826 <span class="entry_type_array">
827 3 x 3
828 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700829 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800830 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831
832
833 </td> <!-- entry_type -->
834
835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800836 <p>A color transform matrix to use to transform
837from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800838 </td>
839
840 <td class="entry_units">
841 </td>
842
843 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800844 <p>Output values are expected to be in the range
845(0,<wbr/>1)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800846 </td>
847
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800848 <td class="entry_tags">
849 </td>
850
851 </tr>
852 <tr class="entries_header">
853 <th class="th_details" colspan="5">Details</th>
854 </tr>
855 <tr class="entry_cont">
856 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800857 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800858<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800859directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800860<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -0800861<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800862for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800863reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700864 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800865 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800866
867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800868 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
869 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870
871
872 <tr class="entry" id="controls_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800874 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800875 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700876 <td class="entry_type">
877 <span class="entry_type_name">float</span>
878 <span class="entry_type_container">x</span>
879
880 <span class="entry_type_array">
881 4
882 </span>
883 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800884 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700885
886
887 </td> <!-- entry_type -->
888
889 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800890 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -0800891white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700892 </td>
893
894 <td class="entry_units">
895 </td>
896
897 <td class="entry_range">
898 </td>
899
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800900 <td class="entry_tags">
901 </td>
902
903 </tr>
904 <tr class="entries_header">
905 <th class="th_details" colspan="5">Details</th>
906 </tr>
907 <tr class="entry_cont">
908 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800909 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -0800910the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
911for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
912is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -0800913does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800914it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
915<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800916<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800917<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800918directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800919<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800920<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -0800921the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800922 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800923 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800924
925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800926 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
927 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800928
929
930
931 <!-- end of kind -->
932 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800933 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700935 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800936 <tr>
937 <th class="th_name">Property Name</th>
938 <th class="th_type">Type</th>
939 <th class="th_description">Description</th>
940 <th class="th_units">Units</th>
941 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800942 <th class="th_tags">Tags</th>
943 </tr>
944 </thead>
945
946 <tbody>
947
948
949
950
951
952
953
954
955
956
Zhijun He69fc0ea2013-07-17 09:42:58 -0700957 <tr class="entry" id="dynamic_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800958 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800959 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800961 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700962 <span class="entry_type_name">rational</span>
963 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800964
Zhijun He69fc0ea2013-07-17 09:42:58 -0700965 <span class="entry_type_array">
966 3 x 3
967 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700968 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800969 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800970
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800971
972 </td> <!-- entry_type -->
973
974 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800975 <p>A color transform matrix to use to transform
976from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700977 </td>
978
979 <td class="entry_units">
980 </td>
981
982 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800983 <p>Output values are expected to be in the range
984(0,<wbr/>1)</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700985 </td>
986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800987 <td class="entry_tags">
988 </td>
989
990 </tr>
991 <tr class="entries_header">
992 <th class="th_details" colspan="5">Details</th>
993 </tr>
994 <tr class="entry_cont">
995 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800996 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800997<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800998directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800999<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08001000<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001001for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -08001002reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001003 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001004 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001005
1006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001007 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1008 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -07001009
1010
1011 <tr class="entry" id="dynamic_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001012 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001013 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001014 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001015 <td class="entry_type">
1016 <span class="entry_type_name">float</span>
1017 <span class="entry_type_container">x</span>
1018
1019 <span class="entry_type_array">
1020 4
1021 </span>
1022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08001023 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001024
1025
1026 </td> <!-- entry_type -->
1027
1028 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -08001029 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -08001030white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001031 </td>
1032
1033 <td class="entry_units">
1034 </td>
1035
1036 <td class="entry_range">
1037 </td>
1038
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001039 <td class="entry_tags">
1040 </td>
1041
1042 </tr>
1043 <tr class="entries_header">
1044 <th class="th_details" colspan="5">Details</th>
1045 </tr>
1046 <tr class="entry_cont">
1047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001048 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -08001049the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
1050for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
1051is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -08001052does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001053it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
1054<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001055<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001056<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001057directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001058<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001059<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -08001060the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001061 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001062 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001063
1064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001065 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1066 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067
1068
1069
1070 <!-- end of kind -->
1071 </tbody>
1072
1073 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001074 <tr><td colspan="6" id="section_control" class="section">control</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001075
1076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001077 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001079 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001080 <tr>
1081 <th class="th_name">Property Name</th>
1082 <th class="th_type">Type</th>
1083 <th class="th_description">Description</th>
1084 <th class="th_units">Units</th>
1085 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001086 <th class="th_tags">Tags</th>
1087 </tr>
1088 </thead>
1089
1090 <tbody>
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101 <tr class="entry" id="controls_android.control.aeAntibandingMode">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001102 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001103 android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001104 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001105 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001106 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001108 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001109
1110 <ul class="entry_type_enum">
1111 <li>
1112 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001113 <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
1114avoid banding problems.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001115 </li>
1116 <li>
1117 <span class="entry_type_enum_name">50HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001118 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1119avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001120 </li>
1121 <li>
1122 <span class="entry_type_enum_name">60HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001123 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1124avoid banding problems with 60Hz illumination
1125sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001126 </li>
1127 <li>
1128 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001129 <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
1130antibanding routine to the current illumination
1131conditions.<wbr/> This is the default.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132 </li>
1133 </ul>
1134
1135 </td> <!-- entry_type -->
1136
1137 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001138 <p>The desired setting for the camera device's auto-exposure
1139algorithm's antibanding compensation.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </td>
1141
1142 <td class="entry_units">
1143 </td>
1144
1145 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001146 <p><a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001147 </td>
1148
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001149 <td class="entry_tags">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001150 <ul class="entry_tags">
1151 <li><a href="#tag_BC">BC</a></li>
1152 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001153 </td>
1154
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001155 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001156 <tr class="entries_header">
1157 <th class="th_details" colspan="5">Details</th>
1158 </tr>
1159 <tr class="entry_cont">
1160 <td class="entry_details" colspan="5">
1161 <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
1162lights,<wbr/> flicker at the rate of the power supply frequency
1163(60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
1164typically not noticeable to a person,<wbr/> it can be visible to
1165a camera device.<wbr/> If a camera sets its exposure time to the
1166wrong value,<wbr/> the flicker may become visible in the
1167viewfinder as flicker or in a final captured image,<wbr/> as a
1168set of variable-brightness bands across the image.<wbr/></p>
1169<p>Therefore,<wbr/> the auto-exposure routines of camera devices
1170include antibanding routines that ensure that the chosen
1171exposure value will not cause such banding.<wbr/> The choice of
1172exposure time depends on the rate of flicker,<wbr/> which the
1173camera device can detect automatically,<wbr/> or the expected
1174rate can be selected by the application using this
1175control.<wbr/></p>
1176<p>A given camera device may not support all of the possible
1177options for the antibanding mode.<wbr/> The
1178<a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
1179the available modes for a given camera device.<wbr/></p>
1180<p>The default mode is AUTO,<wbr/> which must be supported by all
1181camera devices.<wbr/></p>
1182<p>If manual exposure control is enabled (by setting
1183<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1184then this setting has no effect,<wbr/> and the application must
1185ensure it selects exposure times that do not cause banding
1186issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
1187the application in this.<wbr/></p>
1188 </td>
1189 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001190
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001191 <tr class="entries_header">
1192 <th class="th_details" colspan="5">HAL Implementation Details</th>
1193 </tr>
1194 <tr class="entry_cont">
1195 <td class="entry_details" colspan="5">
1196 <p>For all capture request templates,<wbr/> this field must be set
1197to AUTO.<wbr/> AUTO is the only mode that must supported;
1198OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
1199<p>If manual exposure control is enabled (by setting
1200<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1201then the exposure values provided by the application must not be
1202adjusted for antibanding.<wbr/></p>
1203 </td>
1204 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001205
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001206 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1207 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001208
1209
1210 <tr class="entry" id="controls_android.control.aeExposureCompensation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001211 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001212 android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001213 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001214 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001215 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001216
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001217 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001218
1219
1220 </td> <!-- entry_type -->
1221
1222 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001223 <p>Adjustment to AE target image
1224brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001225 </td>
1226
1227 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08001228 count of positive/<wbr/>negative EV steps
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001229 </td>
1230
1231 <td class="entry_range">
1232 </td>
1233
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001234 <td class="entry_tags">
1235 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001236 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001237 </ul>
1238 </td>
1239
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001240 </tr>
1241 <tr class="entries_header">
1242 <th class="th_details" colspan="5">Details</th>
1243 </tr>
1244 <tr class="entry_cont">
1245 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001246 <p>For example,<wbr/> if EV step is 0.<wbr/>333,<wbr/> '6' will mean an
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001247exposure compensation of +2 EV; -3 will mean an exposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001248compensation of -1</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001249 </td>
1250 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001251
1252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001253 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1254 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001255
1256
1257 <tr class="entry" id="controls_android.control.aeLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001258 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001259 android.<wbr/>control.<wbr/>ae<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001260 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001262 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001263
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001264 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001265
1266 <ul class="entry_type_enum">
1267 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001268 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001269 <span class="entry_type_enum_notes"><p>Autoexposure lock is disabled; the AE algorithm
1270is free to update its parameters.<wbr/></p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001271 </li>
1272 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001273 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001274 <span class="entry_type_enum_notes"><p>Autoexposure lock is enabled; the AE algorithm
1275must not update the exposure and sensitivity parameters
1276while the lock is active</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001277 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001278 </ul>
1279
1280 </td> <!-- entry_type -->
1281
1282 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001283 <p>Whether AE is currently locked to its latest
1284calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001285 </td>
1286
1287 <td class="entry_units">
1288 </td>
1289
1290 <td class="entry_range">
1291 </td>
1292
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001293 <td class="entry_tags">
1294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001295 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001296 </ul>
1297 </td>
1298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001299 </tr>
1300 <tr class="entries_header">
1301 <th class="th_details" colspan="5">Details</th>
1302 </tr>
1303 <tr class="entry_cont">
1304 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001305 <p>Note that even when AE is locked,<wbr/> the flash may be
1306fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
1307ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001308 </td>
1309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001310
1311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001314
1315
1316 <tr class="entry" id="controls_android.control.aeMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001317 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001318 android.<wbr/>control.<wbr/>ae<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001324
1325 <ul class="entry_type_enum">
1326 <li>
1327 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001328 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
1329the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1330<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
1331<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
1332device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
1333a flash unit for this camera device.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001334 </li>
1335 <li>
1336 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001337 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
1338with no flash control.<wbr/> The application's values for
1339<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1340<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1341<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
1342application has control over the various
1343android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 </li>
1345 <li>
1346 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001347 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1348the camera's flash unit,<wbr/> firing it in low-light
1349conditions.<wbr/> The flash may be fired during a
1350precapture sequence (triggered by
1351<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
1352for captures for which the
1353<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1354STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001355 </li>
1356 <li>
1357 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001358 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1359the camera's flash unit,<wbr/> always firing it for still
1360captures.<wbr/> The flash may be fired during a precapture
1361sequence (triggered by
1362<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
1363be fired for captures for which the
1364<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1365STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001366 </li>
1367 <li>
1368 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001369 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
1370reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
1371a red eye reduction flash will fire during the
1372precapture sequence.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001373 </li>
1374 </ul>
1375
1376 </td> <!-- entry_type -->
1377
1378 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001379 <p>The desired mode for the camera device's
1380auto-exposure routine.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 </td>
1382
1383 <td class="entry_units">
1384 </td>
1385
1386 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001387 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001388 </td>
1389
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001390 <td class="entry_tags">
1391 <ul class="entry_tags">
1392 <li><a href="#tag_BC">BC</a></li>
1393 </ul>
1394 </td>
1395
1396 </tr>
1397 <tr class="entries_header">
1398 <th class="th_details" colspan="5">Details</th>
1399 </tr>
1400 <tr class="entry_cont">
1401 <td class="entry_details" colspan="5">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001402 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
1403AUTO.<wbr/></p>
1404<p>When set to any of the ON modes,<wbr/> the camera device's
1405auto-exposure routine is enabled,<wbr/> overriding the
1406application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
1407and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1408<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1409<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
1410is selected,<wbr/> the camera device's flash unit controls are
1411also overridden.<wbr/></p>
1412<p>The FLASH modes are only available if the camera device
1413has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
1414<p>If flash TORCH mode is desired,<wbr/> this field must be set to
1415ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
1416<p>When set to any of the ON modes,<wbr/> the values chosen by the
1417camera device auto-exposure routine for the overridden
1418fields for a given capture will be available in its
1419CaptureResult.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001420 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001421 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001422
1423
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001424 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1425 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001426
1427
1428 <tr class="entry" id="controls_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001429 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001430 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001431 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001432 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001433 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001434 <span class="entry_type_container">x</span>
1435
1436 <span class="entry_type_array">
1437 5 x area_count
1438 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001439 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001440
1441
1442 </td> <!-- entry_type -->
1443
1444 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001445 <p>List of areas to use for
1446metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001447 </td>
1448
1449 <td class="entry_units">
1450 </td>
1451
1452 <td class="entry_range">
1453 </td>
1454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001455 <td class="entry_tags">
1456 <ul class="entry_tags">
1457 <li><a href="#tag_BC">BC</a></li>
1458 </ul>
1459 </td>
1460
1461 </tr>
1462 <tr class="entries_header">
1463 <th class="th_details" colspan="5">Details</th>
1464 </tr>
1465 <tr class="entry_cont">
1466 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001467 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1468xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1469specified coordinates.<wbr/></p>
1470<p>The coordinate system is based on the active pixel array,<wbr/>
1471with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001472(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1473<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001474bottom-right pixel in the active pixel array.<wbr/> The weight
1475should be nonnegative.<wbr/></p>
1476<p>If all regions have 0 weight,<wbr/> then no specific metering area
1477needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001478outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001479should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001480used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001481 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001482 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001483
1484
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001485 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1486 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001487
1488
1489 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001490 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001491 android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001492 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001493 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001494 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001495 <span class="entry_type_container">x</span>
1496
1497 <span class="entry_type_array">
1498 2
1499 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001500 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501
1502
1503 </td> <!-- entry_type -->
1504
1505 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001506 <p>Range over which fps can be adjusted to
1507maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001508 </td>
1509
1510 <td class="entry_units">
1511 </td>
1512
1513 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001514 <p><a href="#static_android.control.aeAvailableTargetFpsRanges">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001515 </td>
1516
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001517 <td class="entry_tags">
1518 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001519 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001520 </ul>
1521 </td>
1522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001523 </tr>
1524 <tr class="entries_header">
1525 <th class="th_details" colspan="5">Details</th>
1526 </tr>
1527 <tr class="entry_cont">
1528 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001529 <p>Only constrains AE algorithm,<wbr/> not manual control
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001530of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001531 </td>
1532 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001533
1534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001535 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1536 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001537
1538
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001539 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001540 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001541 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001542 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001543 <td class="entry_type">
1544 <span class="entry_type_name entry_type_name_enum">byte</span>
1545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001546 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001547
1548 <ul class="entry_type_enum">
1549 <li>
1550 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001551 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001552 </li>
1553 <li>
1554 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001555 <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
1556by the camera device.<wbr/> The exact effect of the precapture
1557trigger depends on the current AE mode and state.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001558 </li>
1559 </ul>
1560
1561 </td> <!-- entry_type -->
1562
1563 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001564 <p>Whether the camera device will trigger a precapture
1565metering sequence when it processes this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001566 </td>
1567
1568 <td class="entry_units">
1569 </td>
1570
1571 <td class="entry_range">
1572 </td>
1573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001574 <td class="entry_tags">
1575 <ul class="entry_tags">
1576 <li><a href="#tag_BC">BC</a></li>
1577 </ul>
1578 </td>
1579
1580 </tr>
1581 <tr class="entries_header">
1582 <th class="th_details" colspan="5">Details</th>
1583 </tr>
1584 <tr class="entry_cont">
1585 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001586 <p>This entry is normally set to IDLE,<wbr/> or is not
1587included at all in the request settings.<wbr/> When included and
Zhijun He92e698d2014-01-13 16:24:31 -08001588set to START,<wbr/> the camera device will trigger the autoexposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001589precapture metering sequence.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001590<p>The effect of AE precapture trigger depends on the current
Zhijun He92e698d2014-01-13 16:24:31 -08001591AE mode and state; see <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture
1592state transition details.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001593 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001595
1596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1598 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001599
1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001601 <tr class="entry" id="controls_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001602 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001603 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001604 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001605 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001606 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001608 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001609
1610 <ul class="entry_type_enum">
1611 <li>
1612 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001613 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
1614<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
1615application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001616 </li>
1617 <li>
1618 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001619 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
1620<p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
1621is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
1622the autofocus trigger action is called.<wbr/> When that trigger
1623is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
1624the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
1625<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
1626and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001630 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
1631autofocus trigger action is called.<wbr/></p>
1632<p>When that trigger is activated,<wbr/> AF must transition to
1633ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
1634NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
1635position to default,<wbr/> and sets the AF state to
1636INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001640 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1641position continually to attempt to provide a
1642constantly-in-focus image stream.<wbr/></p>
1643<p>The focusing behavior should be suitable for good quality
1644video recording; typically this means slower focus
1645movement and no overshoots.<wbr/> When the AF trigger is not
1646involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
1647and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
1648states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
1649the algorithm should immediately transition into
1650AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1651lens position until a cancel AF trigger is received.<wbr/></p>
1652<p>Once cancel is received,<wbr/> the algorithm should transition
1653back to INACTIVE and resume passive scan.<wbr/> Note that this
1654behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
1655ongoing PASSIVE_<wbr/>SCAN must immediately be
1656canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001657 </li>
1658 <li>
1659 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001660 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1661position continually to attempt to provide a
1662constantly-in-focus image stream.<wbr/></p>
1663<p>The focusing behavior should be suitable for still image
1664capture; typically this means focusing as fast as
1665possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
1666algorithm should start in INACTIVE state,<wbr/> and then
1667transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
1668appropriate as it attempts to maintain focus.<wbr/> When the AF
1669trigger is activated,<wbr/> the algorithm should finish its
1670PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
1671AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1672lens position until a cancel AF trigger is received.<wbr/></p>
1673<p>When the AF cancel trigger is activated,<wbr/> the algorithm
1674should transition back to INACTIVE and then act as if it
1675has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </li>
1677 <li>
1678 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001679 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
1680trigger is ignored,<wbr/> AF state should always be
1681INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682 </li>
1683 </ul>
1684
1685 </td> <!-- entry_type -->
1686
1687 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001688 <p>Whether AF is currently enabled,<wbr/> and what
1689mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001690 </td>
1691
1692 <td class="entry_units">
1693 </td>
1694
1695 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001696 <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001697 </td>
1698
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001699 <td class="entry_tags">
1700 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001701 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001702 </ul>
1703 </td>
1704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001705 </tr>
1706 <tr class="entries_header">
1707 <th class="th_details" colspan="5">Details</th>
1708 </tr>
1709 <tr class="entry_cont">
1710 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001711 <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
Zhijun Hef163fa92014-01-14 09:59:04 -08001712<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
1713the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
1714in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001715 </td>
1716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001717
1718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001719 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1720 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001721
1722
1723 <tr class="entry" id="controls_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001724 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001725 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001726 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001728 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001729 <span class="entry_type_container">x</span>
1730
1731 <span class="entry_type_array">
1732 5 x area_count
1733 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001735
1736
1737 </td> <!-- entry_type -->
1738
1739 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001740 <p>List of areas to use for focus
1741estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001742 </td>
1743
1744 <td class="entry_units">
1745 </td>
1746
1747 <td class="entry_range">
1748 </td>
1749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001750 <td class="entry_tags">
1751 <ul class="entry_tags">
1752 <li><a href="#tag_BC">BC</a></li>
1753 </ul>
1754 </td>
1755
1756 </tr>
1757 <tr class="entries_header">
1758 <th class="th_details" colspan="5">Details</th>
1759 </tr>
1760 <tr class="entry_cont">
1761 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001762 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1763xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1764specified coordinates.<wbr/></p>
1765<p>The coordinate system is based on the active pixel array,<wbr/>
1766with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001767(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1768<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001769bottom-right pixel in the active pixel array.<wbr/> The weight
1770should be nonnegative.<wbr/></p>
1771<p>If all regions have 0 weight,<wbr/> then no specific focus area
1772needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001773outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001774should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001775used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001776 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001778
1779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001782
1783
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001784 <tr class="entry" id="controls_android.control.afTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001786 android.<wbr/>control.<wbr/>af<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001787 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001788 <td class="entry_type">
1789 <span class="entry_type_name entry_type_name_enum">byte</span>
1790
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001791 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001792
1793 <ul class="entry_type_enum">
1794 <li>
1795 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001796 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001797 </li>
1798 <li>
1799 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001800 <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001801 </li>
1802 <li>
1803 <span class="entry_type_enum_name">CANCEL</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001804 <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
1805state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001806 </li>
1807 </ul>
1808
1809 </td> <!-- entry_type -->
1810
1811 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001812 <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001813 </td>
1814
1815 <td class="entry_units">
1816 </td>
1817
1818 <td class="entry_range">
1819 </td>
1820
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001821 <td class="entry_tags">
1822 <ul class="entry_tags">
1823 <li><a href="#tag_BC">BC</a></li>
1824 </ul>
1825 </td>
1826
1827 </tr>
1828 <tr class="entries_header">
1829 <th class="th_details" colspan="5">Details</th>
1830 </tr>
1831 <tr class="entry_cont">
1832 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001833 <p>This entry is normally set to IDLE,<wbr/> or is not
1834included at all in the request settings.<wbr/></p>
Zhijun He92e698d2014-01-13 16:24:31 -08001835<p>When included and set to START,<wbr/> the camera device will trigger the
1836autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
1837<p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
1838and return to its initial AF state.<wbr/></p>
1839<p>See <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for what that means for each AF mode.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001840 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001841 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001842
1843
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001844 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1845 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001846
1847
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001848 <tr class="entry" id="controls_android.control.awbLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001849 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001850 android.<wbr/>control.<wbr/>awb<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001851 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001853 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001854
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001855 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001856
1857 <ul class="entry_type_enum">
1858 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001859 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001860 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is disabled; the AWB
1861algorithm is free to update its parameters if in AUTO
1862mode.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001863 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001864 <li>
1865 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001866 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is enabled; the AWB
1867algorithm must not update the exposure and sensitivity
1868parameters while the lock is active</p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001869 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001870 </ul>
1871
1872 </td> <!-- entry_type -->
1873
1874 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001875 <p>Whether AWB is currently locked to its
1876latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001877 </td>
1878
1879 <td class="entry_units">
1880 </td>
1881
1882 <td class="entry_range">
1883 </td>
1884
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001885 <td class="entry_tags">
1886 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001887 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001888 </ul>
1889 </td>
1890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001891 </tr>
1892 <tr class="entries_header">
1893 <th class="th_details" colspan="5">Details</th>
1894 </tr>
1895 <tr class="entry_cont">
1896 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001897 <p>Note that AWB lock is only meaningful for AUTO
1898mode; in other modes,<wbr/> AWB is already fixed to a specific
1899setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001900 </td>
1901 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001902
1903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001904 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1905 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001906
1907
1908 <tr class="entry" id="controls_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001909 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001910 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001911 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001912 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001913 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001914
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001916
1917 <ul class="entry_type_enum">
1918 <li>
1919 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001920 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1921the application-selected color transform matrix
1922(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
1923(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
1924device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001925 </li>
1926 <li>
1927 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001928 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
1929the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
1930and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001931 </li>
1932 <li>
1933 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001934 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1935the camera device uses incandescent light as the assumed scene
1936illumination for white balance.<wbr/> While the exact white balance
1937transforms are up to the camera device,<wbr/> they will approximately
1938match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001939 </li>
1940 <li>
1941 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001942 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1943the camera device uses fluorescent light as the assumed scene
1944illumination for white balance.<wbr/> While the exact white balance
1945transforms are up to the camera device,<wbr/> they will approximately
1946match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001947 </li>
1948 <li>
1949 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001950 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1951the camera device uses warm fluorescent light as the assumed scene
1952illumination for white balance.<wbr/> While the exact white balance
1953transforms are up to the camera device,<wbr/> they will approximately
1954match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001955 </li>
1956 <li>
1957 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001958 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1959the camera device uses daylight light as the assumed scene
1960illumination for white balance.<wbr/> While the exact white balance
1961transforms are up to the camera device,<wbr/> they will approximately
1962match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001966 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1967the camera device uses cloudy daylight light as the assumed scene
1968illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001969 </li>
1970 <li>
1971 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001972 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1973the camera device uses twilight light as the assumed scene
1974illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001978 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1979the camera device uses shade light as the assumed scene
1980illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001981 </li>
1982 </ul>
1983
1984 </td> <!-- entry_type -->
1985
1986 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001987 <p>Whether AWB is currently setting the color
1988transform fields,<wbr/> and what its illumination target
1989is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001990 </td>
1991
1992 <td class="entry_units">
1993 </td>
1994
1995 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001996 <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001997 </td>
1998
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001999 <td class="entry_tags">
2000 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002001 <li><a href="#tag_BC">BC</a></li>
2002 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002003 </ul>
2004 </td>
2005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002006 </tr>
2007 <tr class="entries_header">
2008 <th class="th_details" colspan="5">Details</th>
2009 </tr>
2010 <tr class="entry_cont">
2011 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08002012 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
2013<p>When set to the ON mode,<wbr/> the camera device's auto white balance
2014routine is enabled,<wbr/> overriding the application's selected
2015<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
2016<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2017<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
2018routine is disabled.<wbr/> The applicantion manually controls the white
2019balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
2020and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2021<p>When set to any other modes,<wbr/> the camera device's auto white balance
2022routine is disabled.<wbr/> The camera device uses each particular illumination
2023target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002024 </td>
2025 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002026
2027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002028 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2029 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002030
2031
2032 <tr class="entry" id="controls_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002033 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002034 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002035 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002037 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002038 <span class="entry_type_container">x</span>
2039
2040 <span class="entry_type_array">
2041 5 x area_count
2042 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002043 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002044
2045
2046 </td> <!-- entry_type -->
2047
2048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002049 <p>List of areas to use for illuminant
2050estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002051 </td>
2052
2053 <td class="entry_units">
2054 </td>
2055
2056 <td class="entry_range">
2057 </td>
2058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002059 <td class="entry_tags">
2060 <ul class="entry_tags">
2061 <li><a href="#tag_BC">BC</a></li>
2062 </ul>
2063 </td>
2064
2065 </tr>
2066 <tr class="entries_header">
2067 <th class="th_details" colspan="5">Details</th>
2068 </tr>
2069 <tr class="entry_cont">
2070 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002071 <p>Only used in AUTO mode.<wbr/></p>
2072<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
2073xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
2074specified coordinates.<wbr/></p>
2075<p>The coordinate system is based on the active pixel array,<wbr/>
2076with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002077(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
2078<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08002079bottom-right pixel in the active pixel array.<wbr/> The weight
2080should be nonnegative.<wbr/></p>
2081<p>If all regions have 0 weight,<wbr/> then no specific metering area
2082needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002083outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002084should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08002085used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002086 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002088
2089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002092
2093
2094 <tr class="entry" id="controls_android.control.captureIntent">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002095 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002096 android.<wbr/>control.<wbr/>capture<wbr/>Intent
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002097 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002099 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102
2103 <ul class="entry_type_enum">
2104 <li>
2105 <span class="entry_type_enum_name">CUSTOM</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002106 <span class="entry_type_enum_notes"><p>This request doesn't fall into the other
2107categories.<wbr/> Default to preview-like
2108behavior.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002109 </li>
2110 <li>
2111 <span class="entry_type_enum_name">PREVIEW</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002112 <span class="entry_type_enum_notes"><p>This request is for a preview-like usecase.<wbr/> The
2113precapture trigger may be used to start off a metering
2114w/<wbr/>flash sequence</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002115 </li>
2116 <li>
2117 <span class="entry_type_enum_name">STILL_CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002118 <span class="entry_type_enum_notes"><p>This request is for a still capture-type
2119usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002120 </li>
2121 <li>
2122 <span class="entry_type_enum_name">VIDEO_RECORD</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002123 <span class="entry_type_enum_notes"><p>This request is for a video recording
2124usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002125 </li>
2126 <li>
2127 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002128 <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
2129image while recording video) usecase</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002130 </li>
2131 <li>
2132 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002133 <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
2134application will stream full-resolution images and
2135reprocess one or several later for a final
2136capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002137 </li>
2138 </ul>
2139
2140 </td> <!-- entry_type -->
2141
2142 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08002143 <p>Information to the camera device 3A (auto-exposure,<wbr/>
2144auto-focus,<wbr/> auto-white balance) routines about the purpose
2145of this capture,<wbr/> to help the camera device to decide optimal 3A
2146strategy.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002147 </td>
2148
2149 <td class="entry_units">
2150 </td>
2151
2152 <td class="entry_range">
Zhijun Heea27bc32014-01-15 13:47:59 -08002153 <p>All must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002154 </td>
2155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002156 <td class="entry_tags">
2157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002159 </ul>
2160 </td>
2161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002162 </tr>
2163 <tr class="entries_header">
2164 <th class="th_details" colspan="5">Details</th>
2165 </tr>
2166 <tr class="entry_cont">
2167 <td class="entry_details" colspan="5">
Zhijun Heea27bc32014-01-15 13:47:59 -08002168 <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
2169and any 3A routine is active.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002170 </td>
2171 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002172
2173
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002174 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2175 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002176
2177
2178 <tr class="entry" id="controls_android.control.effectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002179 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002180 android.<wbr/>control.<wbr/>effect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002183 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002184
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002185 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002186
2187 <ul class="entry_type_enum">
2188 <li>
2189 <span class="entry_type_enum_name">OFF</span>
2190 </li>
2191 <li>
2192 <span class="entry_type_enum_name">MONO</span>
2193 <span class="entry_type_enum_optional">optional</span>
2194 </li>
2195 <li>
2196 <span class="entry_type_enum_name">NEGATIVE</span>
2197 <span class="entry_type_enum_optional">optional</span>
2198 </li>
2199 <li>
2200 <span class="entry_type_enum_name">SOLARIZE</span>
2201 <span class="entry_type_enum_optional">optional</span>
2202 </li>
2203 <li>
2204 <span class="entry_type_enum_name">SEPIA</span>
2205 <span class="entry_type_enum_optional">optional</span>
2206 </li>
2207 <li>
2208 <span class="entry_type_enum_name">POSTERIZE</span>
2209 <span class="entry_type_enum_optional">optional</span>
2210 </li>
2211 <li>
2212 <span class="entry_type_enum_name">WHITEBOARD</span>
2213 <span class="entry_type_enum_optional">optional</span>
2214 </li>
2215 <li>
2216 <span class="entry_type_enum_name">BLACKBOARD</span>
2217 <span class="entry_type_enum_optional">optional</span>
2218 </li>
2219 <li>
2220 <span class="entry_type_enum_name">AQUA</span>
2221 <span class="entry_type_enum_optional">optional</span>
2222 </li>
2223 </ul>
2224
2225 </td> <!-- entry_type -->
2226
2227 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002228 <p>Whether any special color effect is in use.<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002229Only used if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002230 </td>
2231
2232 <td class="entry_units">
2233 </td>
2234
2235 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002236 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002237 </td>
2238
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002239 <td class="entry_tags">
2240 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002241 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242 </ul>
2243 </td>
2244
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002245 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002246
2247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002248 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2249 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002250
2251
2252 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002253 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002254 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002255 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002256 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002257 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002258
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002260
2261 <ul class="entry_type_enum">
2262 <li>
2263 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002264 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2265routines are disabled,<wbr/> no other settings in
2266android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002267 </li>
2268 <li>
2269 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002270 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2271Manual control of capture parameters is disabled.<wbr/> All
2272controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2273effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002274 </li>
2275 <li>
2276 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002277 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2278control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2279controls; the HAL must ignore those settings while
2280USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2281scene mode).<wbr/> Other control entries are still active.<wbr/>
2282This setting can only be used if availableSceneModes !=
2283UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002284 </li>
2285 </ul>
2286
2287 </td> <!-- entry_type -->
2288
2289 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002290 <p>Overall mode of 3A control
2291routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002292 </td>
2293
2294 <td class="entry_units">
2295 </td>
2296
2297 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002298 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002299 </td>
2300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002301 <td class="entry_tags">
2302 <ul class="entry_tags">
2303 <li><a href="#tag_BC">BC</a></li>
2304 </ul>
2305 </td>
2306
2307 </tr>
2308 <tr class="entries_header">
2309 <th class="th_details" colspan="5">Details</th>
2310 </tr>
2311 <tr class="entry_cont">
2312 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002313 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002314by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002315capture parameters itself.<wbr/></p>
2316<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002317android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08002318<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002319android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002320one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002321as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002322<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002323 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002324 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002325
2326
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002327 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2328 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002329
2330
2331 <tr class="entry" id="controls_android.control.sceneMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002332 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002333 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002334 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002335 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002336 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002337
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002338 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002339
2340 <ul class="entry_type_enum">
2341 <li>
2342 <span class="entry_type_enum_name">UNSUPPORTED</span>
2343 <span class="entry_type_enum_value">0</span>
2344 </li>
2345 <li>
2346 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002347 <span class="entry_type_enum_notes"><p>if face detection support exists Use face
2348detection data to drive 3A routines.<wbr/> If face detection
2349statistics are disabled,<wbr/> should still operate correctly
2350(but not return face detection statistics to the
2351framework).<wbr/></p>
2352<p>Unlike the other scene modes,<wbr/> aeMode,<wbr/> awbMode,<wbr/> and afMode
2353remain active when FACE_<wbr/>PRIORITY is set.<wbr/> This is due to
2354compatibility concerns with the old camera
2355API</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 </li>
2357 <li>
2358 <span class="entry_type_enum_name">ACTION</span>
2359 <span class="entry_type_enum_optional">optional</span>
2360 </li>
2361 <li>
2362 <span class="entry_type_enum_name">PORTRAIT</span>
2363 <span class="entry_type_enum_optional">optional</span>
2364 </li>
2365 <li>
2366 <span class="entry_type_enum_name">LANDSCAPE</span>
2367 <span class="entry_type_enum_optional">optional</span>
2368 </li>
2369 <li>
2370 <span class="entry_type_enum_name">NIGHT</span>
2371 <span class="entry_type_enum_optional">optional</span>
2372 </li>
2373 <li>
2374 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
2375 <span class="entry_type_enum_optional">optional</span>
2376 </li>
2377 <li>
2378 <span class="entry_type_enum_name">THEATRE</span>
2379 <span class="entry_type_enum_optional">optional</span>
2380 </li>
2381 <li>
2382 <span class="entry_type_enum_name">BEACH</span>
2383 <span class="entry_type_enum_optional">optional</span>
2384 </li>
2385 <li>
2386 <span class="entry_type_enum_name">SNOW</span>
2387 <span class="entry_type_enum_optional">optional</span>
2388 </li>
2389 <li>
2390 <span class="entry_type_enum_name">SUNSET</span>
2391 <span class="entry_type_enum_optional">optional</span>
2392 </li>
2393 <li>
2394 <span class="entry_type_enum_name">STEADYPHOTO</span>
2395 <span class="entry_type_enum_optional">optional</span>
2396 </li>
2397 <li>
2398 <span class="entry_type_enum_name">FIREWORKS</span>
2399 <span class="entry_type_enum_optional">optional</span>
2400 </li>
2401 <li>
2402 <span class="entry_type_enum_name">SPORTS</span>
2403 <span class="entry_type_enum_optional">optional</span>
2404 </li>
2405 <li>
2406 <span class="entry_type_enum_name">PARTY</span>
2407 <span class="entry_type_enum_optional">optional</span>
2408 </li>
2409 <li>
2410 <span class="entry_type_enum_name">CANDLELIGHT</span>
2411 <span class="entry_type_enum_optional">optional</span>
2412 </li>
2413 <li>
2414 <span class="entry_type_enum_name">BARCODE</span>
2415 <span class="entry_type_enum_optional">optional</span>
2416 </li>
2417 </ul>
2418
2419 </td> <!-- entry_type -->
2420
2421 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002422 <p>Which scene mode is active when
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002423<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = SCENE_<wbr/>MODE</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002424 </td>
2425
2426 <td class="entry_units">
2427 </td>
2428
2429 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002430 <p><a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002431 </td>
2432
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002433 <td class="entry_tags">
2434 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002435 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002436 </ul>
2437 </td>
2438
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002439 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002440
2441
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002442 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2443 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002444
2445
2446 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002447 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002448 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002449 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002451 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002452
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002453 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002454
2455 <ul class="entry_type_enum">
2456 <li>
2457 <span class="entry_type_enum_name">OFF</span>
2458 </li>
2459 <li>
2460 <span class="entry_type_enum_name">ON</span>
2461 </li>
2462 </ul>
2463
2464 </td> <!-- entry_type -->
2465
2466 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002467 <p>Whether video stabilization is
2468active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469 </td>
2470
2471 <td class="entry_units">
2472 </td>
2473
2474 <td class="entry_range">
2475 </td>
2476
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002477 <td class="entry_tags">
2478 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002479 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002480 </ul>
2481 </td>
2482
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002483 </tr>
2484 <tr class="entries_header">
2485 <th class="th_details" colspan="5">Details</th>
2486 </tr>
2487 <tr class="entry_cont">
2488 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002489 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002490<a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> to keep the video stream
Igor Murashkin0b080452013-12-27 15:30:25 -08002491stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002492 </td>
2493 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002494
2495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002496 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2497 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002498
2499
2500
2501 <!-- end of kind -->
2502 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002503 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002504
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002505 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002506 <tr>
2507 <th class="th_name">Property Name</th>
2508 <th class="th_type">Type</th>
2509 <th class="th_description">Description</th>
2510 <th class="th_units">Units</th>
2511 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002512 <th class="th_tags">Tags</th>
2513 </tr>
2514 </thead>
2515
2516 <tbody>
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002528 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002529 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002530 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002531 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002532 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002533 <span class="entry_type_container">x</span>
2534
2535 <span class="entry_type_array">
2536 n
2537 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002538 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002539 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002540
2541
2542 </td> <!-- entry_type -->
2543
2544 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002545 <p>The set of auto-exposure antibanding modes that are
2546supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002547 </td>
2548
2549 <td class="entry_units">
2550 </td>
2551
2552 <td class="entry_range">
2553 </td>
2554
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002555 <td class="entry_tags">
2556 </td>
2557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002558 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002559 <tr class="entries_header">
2560 <th class="th_details" colspan="5">Details</th>
2561 </tr>
2562 <tr class="entry_cont">
2563 <td class="entry_details" colspan="5">
2564 <p>Not all of the auto-exposure anti-banding modes may be
2565supported by a given camera device.<wbr/> This field lists the
2566valid anti-banding modes that the application may request
2567for this camera device; they must include AUTO.<wbr/></p>
2568 </td>
2569 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002570
2571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002572 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2573 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002574
2575
2576 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002577 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002578 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002579 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002581 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002582 <span class="entry_type_container">x</span>
2583
2584 <span class="entry_type_array">
2585 n
2586 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002587 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002588 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002589
2590
2591 </td> <!-- entry_type -->
2592
2593 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002594 <p>The set of auto-exposure modes that are supported by this
2595camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002596 </td>
2597
2598 <td class="entry_units">
2599 </td>
2600
2601 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002602 </td>
2603
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002604 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002605 <ul class="entry_tags">
2606 <li><a href="#tag_BC">BC</a></li>
2607 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002608 </td>
2609
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002610 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002611 <tr class="entries_header">
2612 <th class="th_details" colspan="5">Details</th>
2613 </tr>
2614 <tr class="entry_cont">
2615 <td class="entry_details" colspan="5">
2616 <p>Not all the auto-exposure modes may be supported by a
2617given camera device,<wbr/> especially if no flash unit is
2618available.<wbr/> This entry lists the valid modes for
2619<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2620<p>All camera devices support ON,<wbr/> and all camera devices with
2621flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2622ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2623<p>Full-capability camera devices always support OFF mode,<wbr/>
2624which enables application control of camera exposure time,<wbr/>
2625sensitivity,<wbr/> and frame duration.<wbr/></p>
2626 </td>
2627 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002628
2629
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002630 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2631 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002632
2633
2634 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002635 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002636 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002637 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002638 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002639 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002640 <span class="entry_type_container">x</span>
2641
2642 <span class="entry_type_array">
2643 2 x n
2644 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002645 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002646 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002647
2648
2649 </td> <!-- entry_type -->
2650
2651 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002652 <p>List of frame rate ranges supported by the
2653AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002654 </td>
2655
2656 <td class="entry_units">
2657 </td>
2658
2659 <td class="entry_range">
2660 </td>
2661
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002662 <td class="entry_tags">
2663 </td>
2664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002665 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002666
2667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002668 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2669 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670
2671
2672 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002673 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002674 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002675 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002676 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002677 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002678 <span class="entry_type_container">x</span>
2679
2680 <span class="entry_type_array">
2681 2
2682 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002683 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002684
2685
2686 </td> <!-- entry_type -->
2687
2688 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002689 <p>Maximum and minimum exposure compensation
2690setting,<wbr/> in counts of
2691android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002692 </td>
2693
2694 <td class="entry_units">
2695 </td>
2696
2697 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002698 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2699size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002700 </td>
2701
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002702 <td class="entry_tags">
2703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002705 </ul>
2706 </td>
2707
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002708 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002709
2710
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002711 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2712 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002713
2714
2715 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002716 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002717 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002718 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002720 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002721
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002722 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002723
2724
2725 </td> <!-- entry_type -->
2726
2727 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002728 <p>Smallest step by which exposure compensation
2729can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002730 </td>
2731
2732 <td class="entry_units">
2733 </td>
2734
2735 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002736 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002737 </td>
2738
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002739 <td class="entry_tags">
2740 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002741 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002742 </ul>
2743 </td>
2744
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002745 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002746
2747
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002748 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2749 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002750
2751
2752 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002753 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002754 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002755 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002757 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002758 <span class="entry_type_container">x</span>
2759
2760 <span class="entry_type_array">
2761 n
2762 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002763 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002764 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002765
2766
2767 </td> <!-- entry_type -->
2768
2769 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002770 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002771selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002772 </td>
2773
2774 <td class="entry_units">
2775 </td>
2776
2777 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002778 </td>
2779
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002780 <td class="entry_tags">
2781 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002782 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002783 </ul>
2784 </td>
2785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002786 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002787 <tr class="entries_header">
2788 <th class="th_details" colspan="5">Details</th>
2789 </tr>
2790 <tr class="entry_cont">
2791 <td class="entry_details" colspan="5">
2792 <p>Not all the auto-focus modes may be supported by a
2793given camera device.<wbr/> This entry lists the valid modes for
2794<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2795<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2796adjustable focuser units (<code><a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> &gt; 0</code>)
2797will support AUTO mode.<wbr/></p>
2798 </td>
2799 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002800
2801
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002802 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2803 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002804
2805
2806 <tr class="entry" id="static_android.control.availableEffects">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002807 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002808 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002809 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002810 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002811 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002812 <span class="entry_type_container">x</span>
2813
2814 <span class="entry_type_array">
2815 n
2816 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002817 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002818 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002819
2820
2821 </td> <!-- entry_type -->
2822
2823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002824 <p>what subset of the full color effect enum
2825list is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002826 </td>
2827
2828 <td class="entry_units">
2829 </td>
2830
2831 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002832 <p>OFF must be listed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002833 </td>
2834
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002835 <td class="entry_tags">
2836 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002837 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002838 </ul>
2839 </td>
2840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002841 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002842
2843
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002844 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2845 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002846
2847
2848 <tr class="entry" id="static_android.control.availableSceneModes">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002849 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002850 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002851 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002853 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002854 <span class="entry_type_container">x</span>
2855
2856 <span class="entry_type_array">
2857 n
2858 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002859 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002860 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002861
2862
2863 </td> <!-- entry_type -->
2864
2865 <td class="entry_description">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002866 <p>List containing a subset of scene modes
2867specified in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002868 </td>
2869
2870 <td class="entry_units">
2871 </td>
2872
2873 <td class="entry_range">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002874 <p>Any subset of the enums specified in android.<wbr/>control.<wbr/>scene<wbr/>Mode
2875not including DISABLED,<wbr/> or solely DISABLED if no
2876scene modes are available.<wbr/> FACE_<wbr/>PRIORITY must be included
2877if face detection is supported (i.<wbr/>e.<wbr/><code><a href="#static_android.statistics.info.maxFaceCount">android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count</a> &gt; 0</code>).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002878 </td>
2879
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002880 <td class="entry_tags">
2881 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002882 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002883 </ul>
2884 </td>
2885
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002886 </tr>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002887 <tr class="entries_header">
2888 <th class="th_details" colspan="5">Details</th>
2889 </tr>
2890 <tr class="entry_cont">
2891 <td class="entry_details" colspan="5">
2892 <p>This list contains scene modes that can be set for the camera device.<wbr/>
2893Only scene modes that have been fully implemented for the
2894camera device may be included here.<wbr/> Implementations are not expected
2895to be consistent across all devices.<wbr/> If no scene modes are supported
2896by the camera device,<wbr/> this will be set to <code>[DISABLED]</code>.<wbr/></p>
2897 </td>
2898 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002899
2900
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002901 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2902 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002903
2904
2905 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002906 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002907 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002908 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002909 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002910 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002911 <span class="entry_type_container">x</span>
2912
2913 <span class="entry_type_array">
2914 n
2915 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002916 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002917 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002918
2919
2920 </td> <!-- entry_type -->
2921
2922 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002923 <p>List of video stabilization modes that can
2924be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002925 </td>
2926
2927 <td class="entry_units">
2928 </td>
2929
2930 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002931 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002932 </td>
2933
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002934 <td class="entry_tags">
2935 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002936 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002937 </ul>
2938 </td>
2939
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002940 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002941
2942
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002943 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2944 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002945
2946
2947 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002948 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002949 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002950 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002953 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002954
Alex Raya4251d92013-04-30 16:43:44 -07002955 <span class="entry_type_array">
2956 n
2957 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002958 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08002959 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960
2961
2962 </td> <!-- entry_type -->
2963
2964 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08002965 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
2966that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002967 </td>
2968
2969 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002970 </td>
2971
2972 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002973 </td>
2974
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002975 <td class="entry_tags">
2976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002977 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 </ul>
2979 </td>
2980
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002981 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08002982 <tr class="entries_header">
2983 <th class="th_details" colspan="5">Details</th>
2984 </tr>
2985 <tr class="entry_cont">
2986 <td class="entry_details" colspan="5">
2987 <p>Not all the auto-white-balance modes may be supported by a
2988given camera device.<wbr/> This entry lists the valid modes for
2989<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
2990<p>All camera devices will support ON mode.<wbr/></p>
2991<p>Full-capability camera devices will always support OFF mode,<wbr/>
2992which enables application control of white balance,<wbr/> by using
2993<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>(<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> must be set to TRANSFORM_<wbr/>MATRIX).<wbr/></p>
2994 </td>
2995 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002996
2997
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002998 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2999 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003000
3001
3002 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003003 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003004 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003005 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003006 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003007 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003008
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003009 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003010
3011
3012 </td> <!-- entry_type -->
3013
3014 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003015 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3016regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003017 </td>
3018
3019 <td class="entry_units">
3020 </td>
3021
3022 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003023 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003024 </td>
3025
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003026 <td class="entry_tags">
3027 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003028 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003029 </ul>
3030 </td>
3031
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003032 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003033
3034
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003035 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3036 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003037
3038
3039 <tr class="entry" id="static_android.control.sceneModeOverrides">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003040 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003041 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003042 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003043 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003044 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003045 <span class="entry_type_container">x</span>
3046
3047 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003048 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003049 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003050 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003051
3052
3053 </td> <!-- entry_type -->
3054
3055 <td class="entry_description">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003056 <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
3057settings to use with each available scene mode.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003058 </td>
3059
3060 <td class="entry_units">
3061 </td>
3062
3063 <td class="entry_range">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003064 <p>For each available scene mode,<wbr/> the list must contain three
3065entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3066<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values used
3067by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
3068where aeMode has the lowest index position.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003069 </td>
3070
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003071 <td class="entry_tags">
3072 <ul class="entry_tags">
3073 <li><a href="#tag_BC">BC</a></li>
3074 </ul>
3075 </td>
3076
3077 </tr>
3078 <tr class="entries_header">
3079 <th class="th_details" colspan="5">Details</th>
3080 </tr>
3081 <tr class="entry_cont">
3082 <td class="entry_details" colspan="5">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003083 <p>When a scene mode is enabled,<wbr/> the camera device is expected
3084to override <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/>
3085and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
3086that scene mode.<wbr/></p>
3087<p>The order of this list matches that of availableSceneModes,<wbr/>
3088with 3 entries for each mode.<wbr/> The overrides listed
3089for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3090mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3091<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values are
3092used instead,<wbr/> matching the behavior when android.<wbr/>control.<wbr/>mode
3093is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
3094overrides should be set to 0.<wbr/></p>
3095<p>For example,<wbr/> if availableSceneModes contains
3096<code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
3097expects sceneModeOverrides to have 9 entries formatted like:
3098<code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
3099ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003100 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003101 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003102
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003103 <tr class="entries_header">
3104 <th class="th_details" colspan="5">HAL Implementation Details</th>
3105 </tr>
3106 <tr class="entry_cont">
3107 <td class="entry_details" colspan="5">
3108 <p>To maintain backward compatibility,<wbr/> this list will be made available
3109in the static metadata of the camera service.<wbr/> The camera service will
3110use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3111<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> when using a scene
3112mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
3113 </td>
3114 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003115
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003116 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3117 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118
3119
3120
3121 <!-- end of kind -->
3122 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003123 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003124
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003125 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003126 <tr>
3127 <th class="th_name">Property Name</th>
3128 <th class="th_type">Type</th>
3129 <th class="th_description">Description</th>
3130 <th class="th_units">Units</th>
3131 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003132 <th class="th_tags">Tags</th>
3133 </tr>
3134 </thead>
3135
3136 <tbody>
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003148 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003149 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003150 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003151 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003152 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003154 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003155
3156
3157 </td> <!-- entry_type -->
3158
3159 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003160 <p>The ID sent with the latest
3161CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003162 </td>
3163
3164 <td class="entry_units">
3165 </td>
3166
3167 <td class="entry_range">
3168 </td>
3169
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003170 <td class="entry_tags">
3171 </td>
3172
3173 </tr>
3174 <tr class="entries_header">
3175 <th class="th_details" colspan="5">Details</th>
3176 </tr>
3177 <tr class="entry_cont">
3178 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003179 <p>Must be 0 if no
3180CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3181by HAL.<wbr/> Always updated even if AE algorithm ignores the
3182trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003183 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003184 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003185
3186
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003187 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3188 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003189
3190
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003191 <tr class="entry" id="dynamic_android.control.aeMode">
3192 <td class="entry_name" rowspan="3">
3193 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3194 </td>
3195 <td class="entry_type">
3196 <span class="entry_type_name entry_type_name_enum">byte</span>
3197
3198 <span class="entry_type_visibility"> [public]</span>
3199
3200 <ul class="entry_type_enum">
3201 <li>
3202 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003203 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3204the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3205<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3206<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3207device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3208a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003209 </li>
3210 <li>
3211 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003212 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3213with no flash control.<wbr/> The application's values for
3214<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3215<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3216<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3217application has control over the various
3218android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003219 </li>
3220 <li>
3221 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003222 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3223the camera's flash unit,<wbr/> firing it in low-light
3224conditions.<wbr/> The flash may be fired during a
3225precapture sequence (triggered by
3226<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3227for captures for which the
3228<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3229STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003230 </li>
3231 <li>
3232 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003233 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3234the camera's flash unit,<wbr/> always firing it for still
3235captures.<wbr/> The flash may be fired during a precapture
3236sequence (triggered by
3237<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3238be fired for captures for which the
3239<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3240STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003241 </li>
3242 <li>
3243 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003244 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3245reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3246a red eye reduction flash will fire during the
3247precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003248 </li>
3249 </ul>
3250
3251 </td> <!-- entry_type -->
3252
3253 <td class="entry_description">
3254 <p>The desired mode for the camera device's
3255auto-exposure routine.<wbr/></p>
3256 </td>
3257
3258 <td class="entry_units">
3259 </td>
3260
3261 <td class="entry_range">
3262 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3263 </td>
3264
3265 <td class="entry_tags">
3266 <ul class="entry_tags">
3267 <li><a href="#tag_BC">BC</a></li>
3268 </ul>
3269 </td>
3270
3271 </tr>
3272 <tr class="entries_header">
3273 <th class="th_details" colspan="5">Details</th>
3274 </tr>
3275 <tr class="entry_cont">
3276 <td class="entry_details" colspan="5">
3277 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3278AUTO.<wbr/></p>
3279<p>When set to any of the ON modes,<wbr/> the camera device's
3280auto-exposure routine is enabled,<wbr/> overriding the
3281application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3282and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3283<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3284<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3285is selected,<wbr/> the camera device's flash unit controls are
3286also overridden.<wbr/></p>
3287<p>The FLASH modes are only available if the camera device
3288has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3289<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3290ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3291<p>When set to any of the ON modes,<wbr/> the values chosen by the
3292camera device auto-exposure routine for the overridden
3293fields for a given capture will be available in its
3294CaptureResult.<wbr/></p>
3295 </td>
3296 </tr>
3297
3298
3299 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3300 <!-- end of entry -->
3301
3302
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003303 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003304 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003305 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003306 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003307 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003308 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003309 <span class="entry_type_container">x</span>
3310
3311 <span class="entry_type_array">
3312 5 x area_count
3313 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003314 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003315
3316
3317 </td> <!-- entry_type -->
3318
3319 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003320 <p>List of areas to use for
3321metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003322 </td>
3323
3324 <td class="entry_units">
3325 </td>
3326
3327 <td class="entry_range">
3328 </td>
3329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003330 <td class="entry_tags">
3331 <ul class="entry_tags">
3332 <li><a href="#tag_BC">BC</a></li>
3333 </ul>
3334 </td>
3335
3336 </tr>
3337 <tr class="entries_header">
3338 <th class="th_details" colspan="5">Details</th>
3339 </tr>
3340 <tr class="entry_cont">
3341 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003342 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3343xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3344specified coordinates.<wbr/></p>
3345<p>The coordinate system is based on the active pixel array,<wbr/>
3346with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003347(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3348<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 -08003349bottom-right pixel in the active pixel array.<wbr/> The weight
3350should be nonnegative.<wbr/></p>
3351<p>If all regions have 0 weight,<wbr/> then no specific metering area
3352needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003353outside 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 -08003354should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003355used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003356 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003357 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003358
3359
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003360 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3361 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003362
3363
3364 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003365 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003366 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003367 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003368 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003369 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003370
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003371 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003372
3373 <ul class="entry_type_enum">
3374 <li>
3375 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003376 <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 -08003377this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003378 </li>
3379 <li>
3380 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003381 <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 -08003382for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003383 </li>
3384 <li>
3385 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003386 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003387current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003388 </li>
3389 <li>
3390 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003391 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003392 </li>
3393 <li>
3394 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003395 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3396needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003397capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003398 </li>
3399 <li>
3400 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003401 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003402(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3403and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003404completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003405FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003406 </li>
3407 </ul>
3408
3409 </td> <!-- entry_type -->
3410
3411 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003412 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003413 </td>
3414
3415 <td class="entry_units">
3416 </td>
3417
3418 <td class="entry_range">
3419 </td>
3420
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003421 <td class="entry_tags">
3422 </td>
3423
3424 </tr>
3425 <tr class="entries_header">
3426 <th class="th_details" colspan="5">Details</th>
3427 </tr>
3428 <tr class="entry_cont">
3429 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003430 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3431resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3432or <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
3433the algorithm states to INACTIVE.<wbr/></p>
3434<p>The camera device can do several state transitions between two results,<wbr/> if it is
3435allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3436seen in a result.<wbr/></p>
3437<p>The state in the result is the state for this image (in sync with this image): if
3438AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3439be good to use.<wbr/></p>
3440<p>Below are state transition tables for different AE modes.<wbr/></p>
3441<table>
3442<thead>
3443<tr>
3444<th align="center">State</th>
3445<th align="center">Transition Cause</th>
3446<th align="center">New State</th>
3447<th align="center">Notes</th>
3448</tr>
3449</thead>
3450<tbody>
3451<tr>
3452<td align="center">INACTIVE</td>
3453<td align="center"></td>
3454<td align="center">INACTIVE</td>
3455<td align="center">Camera device auto exposure algorithm is disabled</td>
3456</tr>
3457</tbody>
3458</table>
3459<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3460<table>
3461<thead>
3462<tr>
3463<th align="center">State</th>
3464<th align="center">Transition Cause</th>
3465<th align="center">New State</th>
3466<th align="center">Notes</th>
3467</tr>
3468</thead>
3469<tbody>
3470<tr>
3471<td align="center">INACTIVE</td>
3472<td align="center">Camera device initiates AE scan</td>
3473<td align="center">SEARCHING</td>
3474<td align="center">Values changing</td>
3475</tr>
3476<tr>
3477<td align="center">INACTIVE</td>
3478<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3479<td align="center">LOCKED</td>
3480<td align="center">Values locked</td>
3481</tr>
3482<tr>
3483<td align="center">SEARCHING</td>
3484<td align="center">Camera device finishes AE scan</td>
3485<td align="center">CONVERGED</td>
3486<td align="center">Good values,<wbr/> not changing</td>
3487</tr>
3488<tr>
3489<td align="center">SEARCHING</td>
3490<td align="center">Camera device finishes AE scan</td>
3491<td align="center">FLASH_<wbr/>REQUIRED</td>
3492<td align="center">Converged but too dark w/<wbr/>o flash</td>
3493</tr>
3494<tr>
3495<td align="center">SEARCHING</td>
3496<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3497<td align="center">LOCKED</td>
3498<td align="center">Values locked</td>
3499</tr>
3500<tr>
3501<td align="center">CONVERGED</td>
3502<td align="center">Camera device initiates AE scan</td>
3503<td align="center">SEARCHING</td>
3504<td align="center">Values changing</td>
3505</tr>
3506<tr>
3507<td align="center">CONVERGED</td>
3508<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3509<td align="center">LOCKED</td>
3510<td align="center">Values locked</td>
3511</tr>
3512<tr>
3513<td align="center">FLASH_<wbr/>REQUIRED</td>
3514<td align="center">Camera device initiates AE scan</td>
3515<td align="center">SEARCHING</td>
3516<td align="center">Values changing</td>
3517</tr>
3518<tr>
3519<td align="center">FLASH_<wbr/>REQUIRED</td>
3520<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3521<td align="center">LOCKED</td>
3522<td align="center">Values locked</td>
3523</tr>
3524<tr>
3525<td align="center">LOCKED</td>
3526<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3527<td align="center">SEARCHING</td>
3528<td align="center">Values not good after unlock</td>
3529</tr>
3530<tr>
3531<td align="center">LOCKED</td>
3532<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3533<td align="center">CONVERGED</td>
3534<td align="center">Values good after unlock</td>
3535</tr>
3536<tr>
3537<td align="center">LOCKED</td>
3538<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3539<td align="center">FLASH_<wbr/>REQUIRED</td>
3540<td align="center">Exposure good,<wbr/> but too dark</td>
3541</tr>
3542<tr>
3543<td align="center">PRECAPTURE</td>
3544<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3545<td align="center">CONVERGED</td>
3546<td align="center">Ready for high-quality capture</td>
3547</tr>
3548<tr>
3549<td align="center">PRECAPTURE</td>
3550<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3551<td align="center">LOCKED</td>
3552<td align="center">Ready for high-quality capture</td>
3553</tr>
3554<tr>
3555<td align="center">Any state</td>
3556<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3557<td align="center">PRECAPTURE</td>
3558<td align="center">Start AE precapture metering sequence</td>
3559</tr>
3560</tbody>
3561</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003562 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003563 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003564
3565
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003566 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3567 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003568
3569
3570 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003571 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003572 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003573 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003574 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003575 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003576
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003577 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003578
3579 <ul class="entry_type_enum">
3580 <li>
3581 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003582 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3583<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3584application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003585 </li>
3586 <li>
3587 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003588 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3589<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
3590is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3591the autofocus trigger action is called.<wbr/> When that trigger
3592is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3593the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3594<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3595and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003596 </li>
3597 <li>
3598 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003599 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3600autofocus trigger action is called.<wbr/></p>
3601<p>When that trigger is activated,<wbr/> AF must transition to
3602ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3603NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3604position to default,<wbr/> and sets the AF state to
3605INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003606 </li>
3607 <li>
3608 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003609 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3610position continually to attempt to provide a
3611constantly-in-focus image stream.<wbr/></p>
3612<p>The focusing behavior should be suitable for good quality
3613video recording; typically this means slower focus
3614movement and no overshoots.<wbr/> When the AF trigger is not
3615involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3616and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3617states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3618the algorithm should immediately transition into
3619AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3620lens position until a cancel AF trigger is received.<wbr/></p>
3621<p>Once cancel is received,<wbr/> the algorithm should transition
3622back to INACTIVE and resume passive scan.<wbr/> Note that this
3623behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3624ongoing PASSIVE_<wbr/>SCAN must immediately be
3625canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003626 </li>
3627 <li>
3628 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003629 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3630position continually to attempt to provide a
3631constantly-in-focus image stream.<wbr/></p>
3632<p>The focusing behavior should be suitable for still image
3633capture; typically this means focusing as fast as
3634possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3635algorithm should start in INACTIVE state,<wbr/> and then
3636transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3637appropriate as it attempts to maintain focus.<wbr/> When the AF
3638trigger is activated,<wbr/> the algorithm should finish its
3639PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3640AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3641lens position until a cancel AF trigger is received.<wbr/></p>
3642<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3643should transition back to INACTIVE and then act as if it
3644has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003645 </li>
3646 <li>
3647 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003648 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3649trigger is ignored,<wbr/> AF state should always be
3650INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003651 </li>
3652 </ul>
3653
3654 </td> <!-- entry_type -->
3655
3656 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003657 <p>Whether AF is currently enabled,<wbr/> and what
3658mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003659 </td>
3660
3661 <td class="entry_units">
3662 </td>
3663
3664 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003665 <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 -08003666 </td>
3667
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003668 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003669 <ul class="entry_tags">
3670 <li><a href="#tag_BC">BC</a></li>
3671 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003672 </td>
3673
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003674 </tr>
3675 <tr class="entries_header">
3676 <th class="th_details" colspan="5">Details</th>
3677 </tr>
3678 <tr class="entry_cont">
3679 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003680 <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 -08003681<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3682the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3683in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003684 </td>
3685 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003686
3687
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003688 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3689 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003690
3691
3692 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003693 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003694 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003695 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003696 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003697 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003698 <span class="entry_type_container">x</span>
3699
3700 <span class="entry_type_array">
3701 5 x area_count
3702 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003703 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003704
3705
3706 </td> <!-- entry_type -->
3707
3708 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003709 <p>List of areas to use for focus
3710estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003711 </td>
3712
3713 <td class="entry_units">
3714 </td>
3715
3716 <td class="entry_range">
3717 </td>
3718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003719 <td class="entry_tags">
3720 <ul class="entry_tags">
3721 <li><a href="#tag_BC">BC</a></li>
3722 </ul>
3723 </td>
3724
3725 </tr>
3726 <tr class="entries_header">
3727 <th class="th_details" colspan="5">Details</th>
3728 </tr>
3729 <tr class="entry_cont">
3730 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003731 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3732xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3733specified coordinates.<wbr/></p>
3734<p>The coordinate system is based on the active pixel array,<wbr/>
3735with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003736(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3737<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 -08003738bottom-right pixel in the active pixel array.<wbr/> The weight
3739should be nonnegative.<wbr/></p>
3740<p>If all regions have 0 weight,<wbr/> then no specific focus area
3741needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003742outside 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 -08003743should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003744used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003746 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003747
3748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003749 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3750 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003751
3752
3753 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003754 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003755 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003756 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003758 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003759
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003760 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003761
3762 <ul class="entry_type_enum">
3763 <li>
3764 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003765 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3766to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3767this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003768 </li>
3769 <li>
3770 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003771 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3772currently doing an AF scan initiated by a continuous
3773autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003774 </li>
3775 <li>
3776 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003777 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3778believes it is in focus,<wbr/> but may restart scanning at
3779any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003780 </li>
3781 <li>
3782 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003783 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3784an AF scan because it was triggered by AF
3785trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003786 </li>
3787 <li>
3788 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003789 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3790believes it is focused correctly and is
3791locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003792 </li>
3793 <li>
3794 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003795 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3796failed to focus successfully and is
3797locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003798 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003799 <li>
3800 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003801 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3802passive scan without finding focus,<wbr/> and may restart
3803scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003804 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003805 </ul>
3806
3807 </td> <!-- entry_type -->
3808
3809 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003810 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003811 </td>
3812
3813 <td class="entry_units">
3814 </td>
3815
3816 <td class="entry_range">
3817 </td>
3818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003819 <td class="entry_tags">
3820 </td>
3821
3822 </tr>
3823 <tr class="entries_header">
3824 <th class="th_details" colspan="5">Details</th>
3825 </tr>
3826 <tr class="entry_cont">
3827 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003828 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3829resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3830or <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
3831the algorithm states to INACTIVE.<wbr/></p>
3832<p>The camera device can do several state transitions between two results,<wbr/> if it is
3833allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3834seen in a result.<wbr/></p>
3835<p>The state in the result is the state for this image (in sync with this image): if
3836AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3837be sharp.<wbr/></p>
3838<p>Below are state transition tables for different AF modes.<wbr/></p>
3839<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>
3840<table>
3841<thead>
3842<tr>
3843<th align="center">State</th>
3844<th align="center">Transition Cause</th>
3845<th align="center">New State</th>
3846<th align="center">Notes</th>
3847</tr>
3848</thead>
3849<tbody>
3850<tr>
3851<td align="center">INACTIVE</td>
3852<td align="center"></td>
3853<td align="center">INACTIVE</td>
3854<td align="center">Never changes</td>
3855</tr>
3856</tbody>
3857</table>
3858<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>
3859<table>
3860<thead>
3861<tr>
3862<th align="center">State</th>
3863<th align="center">Transition Cause</th>
3864<th align="center">New State</th>
3865<th align="center">Notes</th>
3866</tr>
3867</thead>
3868<tbody>
3869<tr>
3870<td align="center">INACTIVE</td>
3871<td align="center">AF_<wbr/>TRIGGER</td>
3872<td align="center">ACTIVE_<wbr/>SCAN</td>
3873<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3874</tr>
3875<tr>
3876<td align="center">ACTIVE_<wbr/>SCAN</td>
3877<td align="center">AF sweep done</td>
3878<td align="center">FOCUSED_<wbr/>LOCKED</td>
3879<td align="center">Focused,<wbr/> Lens now locked</td>
3880</tr>
3881<tr>
3882<td align="center">ACTIVE_<wbr/>SCAN</td>
3883<td align="center">AF sweep done</td>
3884<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3885<td align="center">Not focused,<wbr/> Lens now locked</td>
3886</tr>
3887<tr>
3888<td align="center">ACTIVE_<wbr/>SCAN</td>
3889<td align="center">AF_<wbr/>CANCEL</td>
3890<td align="center">INACTIVE</td>
3891<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3892</tr>
3893<tr>
3894<td align="center">FOCUSED_<wbr/>LOCKED</td>
3895<td align="center">AF_<wbr/>CANCEL</td>
3896<td align="center">INACTIVE</td>
3897<td align="center">Cancel/<wbr/>reset AF</td>
3898</tr>
3899<tr>
3900<td align="center">FOCUSED_<wbr/>LOCKED</td>
3901<td align="center">AF_<wbr/>TRIGGER</td>
3902<td align="center">ACTIVE_<wbr/>SCAN</td>
3903<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3904</tr>
3905<tr>
3906<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3907<td align="center">AF_<wbr/>CANCEL</td>
3908<td align="center">INACTIVE</td>
3909<td align="center">Cancel/<wbr/>reset AF</td>
3910</tr>
3911<tr>
3912<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3913<td align="center">AF_<wbr/>TRIGGER</td>
3914<td align="center">ACTIVE_<wbr/>SCAN</td>
3915<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3916</tr>
3917<tr>
3918<td align="center">Any state</td>
3919<td align="center">Mode change</td>
3920<td align="center">INACTIVE</td>
3921<td align="center"></td>
3922</tr>
3923</tbody>
3924</table>
3925<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>
3926<table>
3927<thead>
3928<tr>
3929<th align="center">State</th>
3930<th align="center">Transition Cause</th>
3931<th align="center">New State</th>
3932<th align="center">Notes</th>
3933</tr>
3934</thead>
3935<tbody>
3936<tr>
3937<td align="center">INACTIVE</td>
3938<td align="center">Camera device initiates new scan</td>
3939<td align="center">PASSIVE_<wbr/>SCAN</td>
3940<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3941</tr>
3942<tr>
3943<td align="center">INACTIVE</td>
3944<td align="center">AF_<wbr/>TRIGGER</td>
3945<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3946<td align="center">AF state query,<wbr/> Lens now locked</td>
3947</tr>
3948<tr>
3949<td align="center">PASSIVE_<wbr/>SCAN</td>
3950<td align="center">Camera device completes current scan</td>
3951<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3952<td align="center">End AF scan,<wbr/> Lens now locked</td>
3953</tr>
3954<tr>
3955<td align="center">PASSIVE_<wbr/>SCAN</td>
3956<td align="center">Camera device fails current scan</td>
3957<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3958<td align="center">End AF scan,<wbr/> Lens now locked</td>
3959</tr>
3960<tr>
3961<td align="center">PASSIVE_<wbr/>SCAN</td>
3962<td align="center">AF_<wbr/>TRIGGER</td>
3963<td align="center">FOCUSED_<wbr/>LOCKED</td>
3964<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
3965</tr>
3966<tr>
3967<td align="center">PASSIVE_<wbr/>SCAN</td>
3968<td align="center">AF_<wbr/>TRIGGER</td>
3969<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3970<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
3971</tr>
3972<tr>
3973<td align="center">PASSIVE_<wbr/>SCAN</td>
3974<td align="center">AF_<wbr/>CANCEL</td>
3975<td align="center">INACTIVE</td>
3976<td align="center">Reset lens position,<wbr/> Lens now locked</td>
3977</tr>
3978<tr>
3979<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3980<td align="center">Camera device initiates new scan</td>
3981<td align="center">PASSIVE_<wbr/>SCAN</td>
3982<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3983</tr>
3984<tr>
3985<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3986<td align="center">Camera device initiates new scan</td>
3987<td align="center">PASSIVE_<wbr/>SCAN</td>
3988<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3989</tr>
3990<tr>
3991<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3992<td align="center">AF_<wbr/>TRIGGER</td>
3993<td align="center">FOCUSED_<wbr/>LOCKED</td>
3994<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3995</tr>
3996<tr>
3997<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3998<td align="center">AF_<wbr/>TRIGGER</td>
3999<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4000<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4001</tr>
4002<tr>
4003<td align="center">FOCUSED_<wbr/>LOCKED</td>
4004<td align="center">AF_<wbr/>TRIGGER</td>
4005<td align="center">FOCUSED_<wbr/>LOCKED</td>
4006<td align="center">No effect</td>
4007</tr>
4008<tr>
4009<td align="center">FOCUSED_<wbr/>LOCKED</td>
4010<td align="center">AF_<wbr/>CANCEL</td>
4011<td align="center">INACTIVE</td>
4012<td align="center">Restart AF scan</td>
4013</tr>
4014<tr>
4015<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4016<td align="center">AF_<wbr/>TRIGGER</td>
4017<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4018<td align="center">No effect</td>
4019</tr>
4020<tr>
4021<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4022<td align="center">AF_<wbr/>CANCEL</td>
4023<td align="center">INACTIVE</td>
4024<td align="center">Restart AF scan</td>
4025</tr>
4026</tbody>
4027</table>
4028<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>
4029<table>
4030<thead>
4031<tr>
4032<th align="center">State</th>
4033<th align="center">Transition Cause</th>
4034<th align="center">New State</th>
4035<th align="center">Notes</th>
4036</tr>
4037</thead>
4038<tbody>
4039<tr>
4040<td align="center">INACTIVE</td>
4041<td align="center">Camera device initiates new scan</td>
4042<td align="center">PASSIVE_<wbr/>SCAN</td>
4043<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4044</tr>
4045<tr>
4046<td align="center">INACTIVE</td>
4047<td align="center">AF_<wbr/>TRIGGER</td>
4048<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4049<td align="center">AF state query,<wbr/> Lens now locked</td>
4050</tr>
4051<tr>
4052<td align="center">PASSIVE_<wbr/>SCAN</td>
4053<td align="center">Camera device completes current scan</td>
4054<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4055<td align="center">End AF scan,<wbr/> Lens now locked</td>
4056</tr>
4057<tr>
4058<td align="center">PASSIVE_<wbr/>SCAN</td>
4059<td align="center">Camera device fails current scan</td>
4060<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4061<td align="center">End AF scan,<wbr/> Lens now locked</td>
4062</tr>
4063<tr>
4064<td align="center">PASSIVE_<wbr/>SCAN</td>
4065<td align="center">AF_<wbr/>TRIGGER</td>
4066<td align="center">FOCUSED_<wbr/>LOCKED</td>
4067<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4068</tr>
4069<tr>
4070<td align="center">PASSIVE_<wbr/>SCAN</td>
4071<td align="center">AF_<wbr/>TRIGGER</td>
4072<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4073<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4074</tr>
4075<tr>
4076<td align="center">PASSIVE_<wbr/>SCAN</td>
4077<td align="center">AF_<wbr/>CANCEL</td>
4078<td align="center">INACTIVE</td>
4079<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4080</tr>
4081<tr>
4082<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4083<td align="center">Camera device initiates new scan</td>
4084<td align="center">PASSIVE_<wbr/>SCAN</td>
4085<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4086</tr>
4087<tr>
4088<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4089<td align="center">Camera device initiates new scan</td>
4090<td align="center">PASSIVE_<wbr/>SCAN</td>
4091<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4092</tr>
4093<tr>
4094<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4095<td align="center">AF_<wbr/>TRIGGER</td>
4096<td align="center">FOCUSED_<wbr/>LOCKED</td>
4097<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4098</tr>
4099<tr>
4100<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4101<td align="center">AF_<wbr/>TRIGGER</td>
4102<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4103<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4104</tr>
4105<tr>
4106<td align="center">FOCUSED_<wbr/>LOCKED</td>
4107<td align="center">AF_<wbr/>TRIGGER</td>
4108<td align="center">FOCUSED_<wbr/>LOCKED</td>
4109<td align="center">No effect</td>
4110</tr>
4111<tr>
4112<td align="center">FOCUSED_<wbr/>LOCKED</td>
4113<td align="center">AF_<wbr/>CANCEL</td>
4114<td align="center">INACTIVE</td>
4115<td align="center">Restart AF scan</td>
4116</tr>
4117<tr>
4118<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4119<td align="center">AF_<wbr/>TRIGGER</td>
4120<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4121<td align="center">No effect</td>
4122</tr>
4123<tr>
4124<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4125<td align="center">AF_<wbr/>CANCEL</td>
4126<td align="center">INACTIVE</td>
4127<td align="center">Restart AF scan</td>
4128</tr>
4129</tbody>
4130</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004131 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004132 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004133
4134
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004135 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4136 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004137
4138
4139 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004140 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004141 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004142 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004143 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004144 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004145
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004146 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004147
4148
4149 </td> <!-- entry_type -->
4150
4151 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004152 <p>The ID sent with the latest
4153CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004154 </td>
4155
4156 <td class="entry_units">
4157 </td>
4158
4159 <td class="entry_range">
4160 </td>
4161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004162 <td class="entry_tags">
4163 </td>
4164
4165 </tr>
4166 <tr class="entries_header">
4167 <th class="th_details" colspan="5">Details</th>
4168 </tr>
4169 <tr class="entry_cont">
4170 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004171 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4172received yet by HAL.<wbr/> Always updated even if AF algorithm
4173ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004174 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004175 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004176
4177
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004178 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4179 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004180
4181
4182 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004183 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004184 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004185 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004186 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004187 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004188
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004189 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004190
4191 <ul class="entry_type_enum">
4192 <li>
4193 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004194 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4195the application-selected color transform matrix
4196(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4197(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4198device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004199 </li>
4200 <li>
4201 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004202 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4203the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4204and <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 -08004205 </li>
4206 <li>
4207 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004208 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4209the camera device uses incandescent light as the assumed scene
4210illumination for white balance.<wbr/> While the exact white balance
4211transforms are up to the camera device,<wbr/> they will approximately
4212match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004213 </li>
4214 <li>
4215 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004216 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4217the camera device uses fluorescent light as the assumed scene
4218illumination for white balance.<wbr/> While the exact white balance
4219transforms are up to the camera device,<wbr/> they will approximately
4220match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004221 </li>
4222 <li>
4223 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004224 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4225the camera device uses warm fluorescent light as the assumed scene
4226illumination for white balance.<wbr/> While the exact white balance
4227transforms are up to the camera device,<wbr/> they will approximately
4228match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004229 </li>
4230 <li>
4231 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004232 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4233the camera device uses daylight light as the assumed scene
4234illumination for white balance.<wbr/> While the exact white balance
4235transforms are up to the camera device,<wbr/> they will approximately
4236match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237 </li>
4238 <li>
4239 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004240 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4241the camera device uses cloudy daylight light as the assumed scene
4242illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243 </li>
4244 <li>
4245 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004246 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4247the camera device uses twilight light as the assumed scene
4248illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004249 </li>
4250 <li>
4251 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004252 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4253the camera device uses shade light as the assumed scene
4254illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004255 </li>
4256 </ul>
4257
4258 </td> <!-- entry_type -->
4259
4260 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004261 <p>Whether AWB is currently setting the color
4262transform fields,<wbr/> and what its illumination target
4263is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004264 </td>
4265
4266 <td class="entry_units">
4267 </td>
4268
4269 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004270 <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 -08004271 </td>
4272
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004273 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004274 <ul class="entry_tags">
4275 <li><a href="#tag_BC">BC</a></li>
4276 <li><a href="#tag_AWB">AWB</a></li>
4277 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004278 </td>
4279
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004280 </tr>
4281 <tr class="entries_header">
4282 <th class="th_details" colspan="5">Details</th>
4283 </tr>
4284 <tr class="entry_cont">
4285 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004286 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4287<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4288routine is enabled,<wbr/> overriding the application's selected
4289<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
4290<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4291<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4292routine is disabled.<wbr/> The applicantion manually controls the white
4293balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4294and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4295<p>When set to any other modes,<wbr/> the camera device's auto white balance
4296routine is disabled.<wbr/> The camera device uses each particular illumination
4297target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004298 </td>
4299 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004300
4301
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004302 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4303 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004304
4305
4306 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004307 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004308 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004309 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004310 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004311 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004312 <span class="entry_type_container">x</span>
4313
4314 <span class="entry_type_array">
4315 5 x area_count
4316 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004317 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004318
4319
4320 </td> <!-- entry_type -->
4321
4322 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004323 <p>List of areas to use for illuminant
4324estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004325 </td>
4326
4327 <td class="entry_units">
4328 </td>
4329
4330 <td class="entry_range">
4331 </td>
4332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004333 <td class="entry_tags">
4334 <ul class="entry_tags">
4335 <li><a href="#tag_BC">BC</a></li>
4336 </ul>
4337 </td>
4338
4339 </tr>
4340 <tr class="entries_header">
4341 <th class="th_details" colspan="5">Details</th>
4342 </tr>
4343 <tr class="entry_cont">
4344 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004345 <p>Only used in AUTO mode.<wbr/></p>
4346<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4347xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4348specified coordinates.<wbr/></p>
4349<p>The coordinate system is based on the active pixel array,<wbr/>
4350with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004351(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4352<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 -08004353bottom-right pixel in the active pixel array.<wbr/> The weight
4354should be nonnegative.<wbr/></p>
4355<p>If all regions have 0 weight,<wbr/> then no specific metering area
4356needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004357outside 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 -08004358should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004359used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004360 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004361 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004362
4363
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004364 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4365 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004366
4367
4368 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004369 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004370 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004371 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004372 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004373 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004374
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004375 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004376
4377 <ul class="entry_type_enum">
4378 <li>
4379 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004380 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4381starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004382 </li>
4383 <li>
4384 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004385 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004386values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004387 </li>
4388 <li>
4389 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004390 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004391current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004392 </li>
4393 <li>
4394 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004395 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004396 </li>
4397 </ul>
4398
4399 </td> <!-- entry_type -->
4400
4401 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004402 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004403 </td>
4404
4405 <td class="entry_units">
4406 </td>
4407
4408 <td class="entry_range">
4409 </td>
4410
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004411 <td class="entry_tags">
4412 </td>
4413
4414 </tr>
4415 <tr class="entries_header">
4416 <th class="th_details" colspan="5">Details</th>
4417 </tr>
4418 <tr class="entry_cont">
4419 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004420 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4421resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4422or <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
4423the algorithm states to INACTIVE.<wbr/></p>
4424<p>The camera device can do several state transitions between two results,<wbr/> if it is
4425allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4426a result.<wbr/></p>
4427<p>The state in the result is the state for this image (in sync with this image): if
4428AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4429be good to use.<wbr/></p>
4430<p>Below are state transition tables for different AWB modes.<wbr/></p>
4431<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4432<table>
4433<thead>
4434<tr>
4435<th align="center">State</th>
4436<th align="center">Transition Cause</th>
4437<th align="center">New State</th>
4438<th align="center">Notes</th>
4439</tr>
4440</thead>
4441<tbody>
4442<tr>
4443<td align="center">INACTIVE</td>
4444<td align="center"></td>
4445<td align="center">INACTIVE</td>
4446<td align="center">Camera device auto white balance algorithm is disabled</td>
4447</tr>
4448</tbody>
4449</table>
4450<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4451<table>
4452<thead>
4453<tr>
4454<th align="center">State</th>
4455<th align="center">Transition Cause</th>
4456<th align="center">New State</th>
4457<th align="center">Notes</th>
4458</tr>
4459</thead>
4460<tbody>
4461<tr>
4462<td align="center">INACTIVE</td>
4463<td align="center">Camera device initiates AWB scan</td>
4464<td align="center">SEARCHING</td>
4465<td align="center">Values changing</td>
4466</tr>
4467<tr>
4468<td align="center">INACTIVE</td>
4469<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4470<td align="center">LOCKED</td>
4471<td align="center">Values locked</td>
4472</tr>
4473<tr>
4474<td align="center">SEARCHING</td>
4475<td align="center">Camera device finishes AWB scan</td>
4476<td align="center">CONVERGED</td>
4477<td align="center">Good values,<wbr/> not changing</td>
4478</tr>
4479<tr>
4480<td align="center">SEARCHING</td>
4481<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4482<td align="center">LOCKED</td>
4483<td align="center">Values locked</td>
4484</tr>
4485<tr>
4486<td align="center">CONVERGED</td>
4487<td align="center">Camera device initiates AWB scan</td>
4488<td align="center">SEARCHING</td>
4489<td align="center">Values changing</td>
4490</tr>
4491<tr>
4492<td align="center">CONVERGED</td>
4493<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4494<td align="center">LOCKED</td>
4495<td align="center">Values locked</td>
4496</tr>
4497<tr>
4498<td align="center">LOCKED</td>
4499<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4500<td align="center">SEARCHING</td>
4501<td align="center">Values not good after unlock</td>
4502</tr>
4503<tr>
4504<td align="center">LOCKED</td>
4505<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4506<td align="center">CONVERGED</td>
4507<td align="center">Values good after unlock</td>
4508</tr>
4509</tbody>
4510</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004511 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004512 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004513
4514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004515 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4516 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004517
4518
4519 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004520 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004521 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004522 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004523 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004524 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004525
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004527
4528 <ul class="entry_type_enum">
4529 <li>
4530 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004531 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4532routines are disabled,<wbr/> no other settings in
4533android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004534 </li>
4535 <li>
4536 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004537 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4538Manual control of capture parameters is disabled.<wbr/> All
4539controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4540effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004541 </li>
4542 <li>
4543 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004544 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4545control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4546controls; the HAL must ignore those settings while
4547USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4548scene mode).<wbr/> Other control entries are still active.<wbr/>
4549This setting can only be used if availableSceneModes !=
4550UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004551 </li>
4552 </ul>
4553
4554 </td> <!-- entry_type -->
4555
4556 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004557 <p>Overall mode of 3A control
4558routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004559 </td>
4560
4561 <td class="entry_units">
4562 </td>
4563
4564 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004565 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004566 </td>
4567
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004568 <td class="entry_tags">
4569 <ul class="entry_tags">
4570 <li><a href="#tag_BC">BC</a></li>
4571 </ul>
4572 </td>
4573
4574 </tr>
4575 <tr class="entries_header">
4576 <th class="th_details" colspan="5">Details</th>
4577 </tr>
4578 <tr class="entry_cont">
4579 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004580 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004581by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004582capture parameters itself.<wbr/></p>
4583<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004584android.<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 -08004585<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004586android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004587one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004588as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004589<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 -08004590 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004591 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004592
4593
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004594 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4595 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004596
4597
4598
4599 <!-- end of kind -->
4600 </tbody>
4601
4602 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004603 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004604
4605
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004606 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004608 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004609 <tr>
4610 <th class="th_name">Property Name</th>
4611 <th class="th_type">Type</th>
4612 <th class="th_description">Description</th>
4613 <th class="th_units">Units</th>
4614 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004615 <th class="th_tags">Tags</th>
4616 </tr>
4617 </thead>
4618
4619 <tbody>
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004631 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004632 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004633 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004634 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004635 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004636
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004637 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004638
4639 <ul class="entry_type_enum">
4640 <li>
4641 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004642 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4643Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004644 </li>
4645 <li>
4646 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004647 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4648rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004649 </li>
4650 </ul>
4651
4652 </td> <!-- entry_type -->
4653
4654 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004655 <p>Controls the quality of the demosaicing
4656processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004657 </td>
4658
4659 <td class="entry_units">
4660 </td>
4661
4662 <td class="entry_range">
4663 </td>
4664
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004665 <td class="entry_tags">
4666 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004667 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004668 </ul>
4669 </td>
4670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004671 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004672
4673
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004674 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4675 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004676
4677
4678
4679 <!-- end of kind -->
4680 </tbody>
4681
4682 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004683 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004684
4685
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004686 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004687
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004688 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004689 <tr>
4690 <th class="th_name">Property Name</th>
4691 <th class="th_type">Type</th>
4692 <th class="th_description">Description</th>
4693 <th class="th_units">Units</th>
4694 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004695 <th class="th_tags">Tags</th>
4696 </tr>
4697 </thead>
4698
4699 <tbody>
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004711 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004712 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004713 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004715 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004717 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004718
4719 <ul class="entry_type_enum">
4720 <li>
4721 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004722 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004723 </li>
4724 <li>
4725 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004726 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4727output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004728 </li>
4729 <li>
4730 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004731 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4732quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004733 </li>
4734 </ul>
4735
4736 </td> <!-- entry_type -->
4737
4738 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004739 <p>Operation mode for edge
4740enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004741 </td>
4742
4743 <td class="entry_units">
4744 </td>
4745
4746 <td class="entry_range">
4747 </td>
4748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004749 <td class="entry_tags">
4750 </td>
4751
4752 </tr>
4753 <tr class="entries_header">
4754 <th class="th_details" colspan="5">Details</th>
4755 </tr>
4756 <tr class="entry_cont">
4757 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004758 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4759enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004760<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004761will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004762camera device will use the highest-quality enhancement algorithms,<wbr/>
4763even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004764not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004766 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004767
4768
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004769 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4770 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004771
4772
4773 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004774 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004775 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004776 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004777 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004778 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004779
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004780 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004781
4782
4783 </td> <!-- entry_type -->
4784
4785 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004786 <p>Control the amount of edge enhancement
4787applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004788 </td>
4789
4790 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004791 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004792 </td>
4793
4794 <td class="entry_range">
4795 </td>
4796
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004797 <td class="entry_tags">
4798 </td>
4799
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004800 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004801
4802
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004803 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4804 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004805
4806
4807
4808 <!-- end of kind -->
4809 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004810 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004811
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004812 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004813 <tr>
4814 <th class="th_name">Property Name</th>
4815 <th class="th_type">Type</th>
4816 <th class="th_description">Description</th>
4817 <th class="th_units">Units</th>
4818 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004819 <th class="th_tags">Tags</th>
4820 </tr>
4821 </thead>
4822
4823 <tbody>
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004835 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004836 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004837 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004838 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004839 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004840
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004841 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004842
4843 <ul class="entry_type_enum">
4844 <li>
4845 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004846 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004847 </li>
4848 <li>
4849 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004850 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4851output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004852 </li>
4853 <li>
4854 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004855 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4856quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004857 </li>
4858 </ul>
4859
4860 </td> <!-- entry_type -->
4861
4862 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004863 <p>Operation mode for edge
4864enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004865 </td>
4866
4867 <td class="entry_units">
4868 </td>
4869
4870 <td class="entry_range">
4871 </td>
4872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004873 <td class="entry_tags">
4874 </td>
4875
4876 </tr>
4877 <tr class="entries_header">
4878 <th class="th_details" colspan="5">Details</th>
4879 </tr>
4880 <tr class="entry_cont">
4881 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004882 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4883enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004884<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004885will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004886camera device will use the highest-quality enhancement algorithms,<wbr/>
4887even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004888not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004889 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004890 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004891
4892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4894 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004895
4896
4897
4898 <!-- end of kind -->
4899 </tbody>
4900
4901 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004902 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004903
4904
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004905 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004906
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004907 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004908 <tr>
4909 <th class="th_name">Property Name</th>
4910 <th class="th_type">Type</th>
4911 <th class="th_description">Description</th>
4912 <th class="th_units">Units</th>
4913 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004914 <th class="th_tags">Tags</th>
4915 </tr>
4916 </thead>
4917
4918 <tbody>
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004930 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004931 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004932 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004933 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004934 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004935
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004936 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004937
4938
4939 </td> <!-- entry_type -->
4940
4941 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004942 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004943 </td>
4944
4945 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004946 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004947 </td>
4948
4949 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004950 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004951 </td>
4952
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004953 <td class="entry_tags">
4954 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004955 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004956 </ul>
4957 </td>
4958
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004959 </tr>
4960 <tr class="entries_header">
4961 <th class="th_details" colspan="5">Details</th>
4962 </tr>
4963 <tr class="entry_cont">
4964 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004965 <p>Power for snapshot may use a different scale than
4966for torch mode.<wbr/> Only one entry for torch mode will be
4967used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004968 </td>
4969 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004970
4971
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004972 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4973 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004974
4975
4976 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004977 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004978 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004979 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004981 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004982
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004983 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004984
4985
4986 </td> <!-- entry_type -->
4987
4988 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004989 <p>Firing time of flash relative to start of
4990exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004991 </td>
4992
4993 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004994 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004995 </td>
4996
4997 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004998 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004999 </td>
5000
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005001 <td class="entry_tags">
5002 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005003 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005004 </ul>
5005 </td>
5006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005007 </tr>
5008 <tr class="entries_header">
5009 <th class="th_details" colspan="5">Details</th>
5010 </tr>
5011 <tr class="entry_cont">
5012 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005013 <p>Clamped to (0,<wbr/> exposure time - flash
5014duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005015 </td>
5016 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005017
5018
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005019 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5020 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005021
5022
5023 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005024 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005025 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005026 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005027 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005028 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005030 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031
5032 <ul class="entry_type_enum">
5033 <li>
5034 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005035 <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 -08005036 </li>
5037 <li>
5038 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005039 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5040for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5041<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005042 </li>
5043 <li>
5044 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005045 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005046 </li>
5047 </ul>
5048
5049 </td> <!-- entry_type -->
5050
5051 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005052 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </td>
5054
5055 <td class="entry_units">
5056 </td>
5057
5058 <td class="entry_range">
5059 </td>
5060
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005061 <td class="entry_tags">
5062 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005063 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005064 </ul>
5065 </td>
5066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005067 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005068 <tr class="entries_header">
5069 <th class="th_details" colspan="5">Details</th>
5070 </tr>
5071 <tr class="entry_cont">
5072 <td class="entry_details" colspan="5">
5073 <p>This control is only effective when flash unit is available
5074(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5075<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/>
5076Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5077ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5078<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5079<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5080device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5081control should be used along with AE precapture metering sequence
5082(<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>
5083<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5084for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5085 </td>
5086 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005087
5088
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005089 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5090 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005091
5092
5093
5094 <!-- end of kind -->
5095 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005096 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005097
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005098 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005099 <tr>
5100 <th class="th_name">Property Name</th>
5101 <th class="th_type">Type</th>
5102 <th class="th_description">Description</th>
5103 <th class="th_units">Units</th>
5104 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105 <th class="th_tags">Tags</th>
5106 </tr>
5107 </thead>
5108
5109 <tbody>
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005123 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005124 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005125 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005127 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005128
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005129 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005130
5131
5132 </td> <!-- entry_type -->
5133
5134 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005135 <p>Whether this camera has a
5136flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005137 </td>
5138
5139 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005140 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005141 </td>
5142
5143 <td class="entry_range">
5144 </td>
5145
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005146 <td class="entry_tags">
5147 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005148 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005149 </ul>
5150 </td>
5151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005152 </tr>
5153 <tr class="entries_header">
5154 <th class="th_details" colspan="5">Details</th>
5155 </tr>
5156 <tr class="entry_cont">
5157 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005158 <p>If no flash,<wbr/> none of the flash controls do
5159anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005160 </td>
5161 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005162
5163
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005164 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5165 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005166
5167
5168 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005169 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005170 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005171 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005172 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005173 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005174
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005175 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005176
5177
5178 </td> <!-- entry_type -->
5179
5180 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005181 <p>Time taken before flash can fire
5182again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005183 </td>
5184
5185 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005186 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005187 </td>
5188
5189 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005190 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005191 </td>
5192
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005193 <td class="entry_tags">
5194 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005195 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196 </ul>
5197 </td>
5198
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005199 </tr>
5200 <tr class="entries_header">
5201 <th class="th_details" colspan="5">Details</th>
5202 </tr>
5203 <tr class="entry_cont">
5204 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005205 <p>1 second too long/<wbr/>too short for recharge? Should
5206this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005207 </td>
5208 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005209
5210
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005211 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5212 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005213
5214
5215
5216
5217
5218 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005219 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005220 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005221 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005222 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005223 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005224
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005225 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005226
5227
5228 </td> <!-- entry_type -->
5229
5230 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005231 <p>The x,<wbr/>y whitepoint of the
5232flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005233 </td>
5234
5235 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005236 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005237 </td>
5238
5239 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005240 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005241 </td>
5242
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005243 <td class="entry_tags">
5244 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005245 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005246 </ul>
5247 </td>
5248
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005249 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005250
5251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005252 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5253 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005254
5255
5256 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005257 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005258 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005259 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005260 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005261 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005262
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005263 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005264
5265
5266 </td> <!-- entry_type -->
5267
5268 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005269 <p>Max energy output of the flash for a full
5270power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005271 </td>
5272
5273 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005274 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005275 </td>
5276
5277 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005278 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005279 </td>
5280
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005281 <td class="entry_tags">
5282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005283 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005284 </ul>
5285 </td>
5286
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005287 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005288
5289
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005290 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5291 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005292
5293
5294
5295 <!-- end of kind -->
5296 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005297 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005298
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005299 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005300 <tr>
5301 <th class="th_name">Property Name</th>
5302 <th class="th_type">Type</th>
5303 <th class="th_description">Description</th>
5304 <th class="th_units">Units</th>
5305 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005306 <th class="th_tags">Tags</th>
5307 </tr>
5308 </thead>
5309
5310 <tbody>
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005322 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005323 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005324 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005325 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005326 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005327
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005328 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005329
5330
5331 </td> <!-- entry_type -->
5332
5333 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005334 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005335 </td>
5336
5337 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005338 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005339 </td>
5340
5341 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005342 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005343 </td>
5344
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005345 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005346 <ul class="entry_tags">
5347 <li><a href="#tag_V1">V1</a></li>
5348 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005349 </td>
5350
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005351 </tr>
5352 <tr class="entries_header">
5353 <th class="th_details" colspan="5">Details</th>
5354 </tr>
5355 <tr class="entry_cont">
5356 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005357 <p>Power for snapshot may use a different scale than
5358for torch mode.<wbr/> Only one entry for torch mode will be
5359used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005360 </td>
5361 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005362
5363
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005364 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5365 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005366
5367
5368 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005369 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005370 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005371 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005372 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005373 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005374
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005375 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005376
5377
5378 </td> <!-- entry_type -->
5379
5380 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005381 <p>Firing time of flash relative to start of
5382exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005383 </td>
5384
5385 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005386 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005387 </td>
5388
5389 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005390 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005391 </td>
5392
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005393 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005394 <ul class="entry_tags">
5395 <li><a href="#tag_V1">V1</a></li>
5396 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005397 </td>
5398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005399 </tr>
5400 <tr class="entries_header">
5401 <th class="th_details" colspan="5">Details</th>
5402 </tr>
5403 <tr class="entry_cont">
5404 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005405 <p>Clamped to (0,<wbr/> exposure time - flash
5406duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005407 </td>
5408 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005409
5410
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005411 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5412 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005413
5414
5415 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005416 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005417 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005418 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005419 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005420 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005421
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005422 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005423
5424 <ul class="entry_type_enum">
5425 <li>
5426 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005427 <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 -08005428 </li>
5429 <li>
5430 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005431 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5432for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5433<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005434 </li>
5435 <li>
5436 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005437 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005438 </li>
5439 </ul>
5440
5441 </td> <!-- entry_type -->
5442
5443 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005444 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005445 </td>
5446
5447 <td class="entry_units">
5448 </td>
5449
5450 <td class="entry_range">
5451 </td>
5452
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005453 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005454 <ul class="entry_tags">
5455 <li><a href="#tag_BC">BC</a></li>
5456 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005457 </td>
5458
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005459 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005460 <tr class="entries_header">
5461 <th class="th_details" colspan="5">Details</th>
5462 </tr>
5463 <tr class="entry_cont">
5464 <td class="entry_details" colspan="5">
5465 <p>This control is only effective when flash unit is available
5466(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5467<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/>
5468Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5469ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5470<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5471<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5472device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5473control should be used along with AE precapture metering sequence
5474(<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>
5475<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5476for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5477 </td>
5478 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005479
5480
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005481 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5482 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005483
5484
5485 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005486 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005487 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005488 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005489 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005490 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005491
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005492 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005493
5494 <ul class="entry_type_enum">
5495 <li>
5496 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005497 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005498 </li>
5499 <li>
5500 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005501 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5502charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005503 </li>
5504 <li>
5505 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005506 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5507ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005508 </li>
5509 <li>
5510 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005511 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5512for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005513 </li>
5514 </ul>
5515
5516 </td> <!-- entry_type -->
5517
5518 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005519 <p>Current state of the flash
5520unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 </td>
5522
5523 <td class="entry_units">
5524 </td>
5525
5526 <td class="entry_range">
5527 </td>
5528
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005529 <td class="entry_tags">
5530 </td>
5531
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005532 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005533
5534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005535 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5536 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005537
5538
5539
5540 <!-- end of kind -->
5541 </tbody>
5542
5543 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005544 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005545
5546
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005547 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005549 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005550 <tr>
5551 <th class="th_name">Property Name</th>
5552 <th class="th_type">Type</th>
5553 <th class="th_description">Description</th>
5554 <th class="th_units">Units</th>
5555 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005556 <th class="th_tags">Tags</th>
5557 </tr>
5558 </thead>
5559
5560 <tbody>
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005572 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005573 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005574 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005575 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005576 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005577
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005578 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005579
5580 <ul class="entry_type_enum">
5581 <li>
5582 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005583 <span class="entry_type_enum_notes"><p>No geometric correction is
5584applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005585 </li>
5586 <li>
5587 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005588 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5589bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005590 </li>
5591 <li>
5592 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005593 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5594quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005595 </li>
5596 </ul>
5597
5598 </td> <!-- entry_type -->
5599
5600 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005601 <p>Operating mode of geometric
5602correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005603 </td>
5604
5605 <td class="entry_units">
5606 </td>
5607
5608 <td class="entry_range">
5609 </td>
5610
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005611 <td class="entry_tags">
5612 </td>
5613
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005614 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005615
5616
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005617 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5618 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005619
5620
5621 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005622 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005623 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005624 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005626 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005628 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005629
5630
5631 </td> <!-- entry_type -->
5632
5633 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005634 <p>Control the amount of shading correction
5635applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005636 </td>
5637
5638 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005639 unitless: 1-10; 10 is full shading
5640 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005641 </td>
5642
5643 <td class="entry_range">
5644 </td>
5645
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005646 <td class="entry_tags">
5647 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005648 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005649 </ul>
5650 </td>
5651
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005652 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005653
5654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005655 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5656 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005657
5658
5659
5660 <!-- end of kind -->
5661 </tbody>
5662
5663 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005664 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005665
5666
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005667 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005668
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005669 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005670 <tr>
5671 <th class="th_name">Property Name</th>
5672 <th class="th_type">Type</th>
5673 <th class="th_description">Description</th>
5674 <th class="th_units">Units</th>
5675 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005676 <th class="th_tags">Tags</th>
5677 </tr>
5678 </thead>
5679
5680 <tbody>
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005692 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005693 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005694 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005695 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005696 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005697
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005698 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005699
5700 <ul class="entry_type_enum">
5701 <li>
5702 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005703 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5704applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005705 </li>
5706 <li>
5707 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005708 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5709Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005710 </li>
5711 <li>
5712 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005713 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5714quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005715 </li>
5716 </ul>
5717
5718 </td> <!-- entry_type -->
5719
5720 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005721 <p>Set operational mode for hot pixel
5722correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005723 </td>
5724
5725 <td class="entry_units">
5726 </td>
5727
5728 <td class="entry_range">
5729 </td>
5730
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005731 <td class="entry_tags">
5732 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005733 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005734 </ul>
5735 </td>
5736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005737 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005738
5739
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005740 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5741 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005742
5743
5744
5745 <!-- end of kind -->
5746 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005747 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005748
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005749 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005750 <tr>
5751 <th class="th_name">Property Name</th>
5752 <th class="th_type">Type</th>
5753 <th class="th_description">Description</th>
5754 <th class="th_units">Units</th>
5755 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005756 <th class="th_tags">Tags</th>
5757 </tr>
5758 </thead>
5759
5760 <tbody>
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005774 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005775 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005776 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005777 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005778 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005779 <span class="entry_type_container">x</span>
5780
5781 <span class="entry_type_array">
5782 2 x n
5783 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005784 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005785 <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 -08005786
5787
5788 </td> <!-- entry_type -->
5789
5790 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005791 <p>Location of hot/<wbr/>defective pixels on
5792sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005793 </td>
5794
5795 <td class="entry_units">
5796 </td>
5797
5798 <td class="entry_range">
5799 </td>
5800
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005801 <td class="entry_tags">
5802 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005803 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005804 </ul>
5805 </td>
5806
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005807 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005808
5809
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005810 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5811 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005812
5813
5814
5815
5816
5817
5818 <!-- end of kind -->
5819 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005820 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005822 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005823 <tr>
5824 <th class="th_name">Property Name</th>
5825 <th class="th_type">Type</th>
5826 <th class="th_description">Description</th>
5827 <th class="th_units">Units</th>
5828 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005829 <th class="th_tags">Tags</th>
5830 </tr>
5831 </thead>
5832
5833 <tbody>
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005845 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005846 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005847 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005848 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005849 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005851 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005852
5853 <ul class="entry_type_enum">
5854 <li>
5855 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005856 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5857applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005858 </li>
5859 <li>
5860 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005861 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5862Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005863 </li>
5864 <li>
5865 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005866 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5867quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005868 </li>
5869 </ul>
5870
5871 </td> <!-- entry_type -->
5872
5873 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005874 <p>Set operational mode for hot pixel
5875correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005876 </td>
5877
5878 <td class="entry_units">
5879 </td>
5880
5881 <td class="entry_range">
5882 </td>
5883
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005884 <td class="entry_tags">
5885 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005886 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005887 </ul>
5888 </td>
5889
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005890 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005891
5892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5894 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005895
5896
5897
5898 <!-- end of kind -->
5899 </tbody>
5900
5901 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005902 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005903
5904
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005905 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005906
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005907 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005908 <tr>
5909 <th class="th_name">Property Name</th>
5910 <th class="th_type">Type</th>
5911 <th class="th_description">Description</th>
5912 <th class="th_units">Units</th>
5913 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005914 <th class="th_tags">Tags</th>
5915 </tr>
5916 </thead>
5917
5918 <tbody>
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005930 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005931 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005932 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005933 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005934 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935 <span class="entry_type_container">x</span>
5936
5937 <span class="entry_type_array">
5938 3
5939 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005940 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005941 <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 -08005942
5943
5944 </td> <!-- entry_type -->
5945
5946 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005947 <p>GPS coordinates to include in output JPEG
5948EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005949 </td>
5950
5951 <td class="entry_units">
5952 </td>
5953
5954 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005955 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005956 </td>
5957
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005958 <td class="entry_tags">
5959 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005960 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005961 </ul>
5962 </td>
5963
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005964 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005965
5966
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005967 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5968 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005969
5970
5971 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005972 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005973 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005974 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005975 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005976 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005977
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005978 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005979
5980
5981 </td> <!-- entry_type -->
5982
5983 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005984 <p>32 characters describing GPS algorithm to
5985include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005986 </td>
5987
5988 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005989 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990 </td>
5991
5992 <td class="entry_range">
5993 </td>
5994
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005995 <td class="entry_tags">
5996 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005997 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005998 </ul>
5999 </td>
6000
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006001 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006002
6003
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006004 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6005 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006006
6007
6008 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006009 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006010 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006011 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006012 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006013 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006014
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006015 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006016
6017
6018 </td> <!-- entry_type -->
6019
6020 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006021 <p>Time GPS fix was made to include in
6022EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006023 </td>
6024
6025 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006026 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006027 </td>
6028
6029 <td class="entry_range">
6030 </td>
6031
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006032 <td class="entry_tags">
6033 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006034 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006035 </ul>
6036 </td>
6037
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006038 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006039
6040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006041 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6042 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006043
6044
6045 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006046 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006047 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006048 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006049 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006050 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006051
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006052 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006053
6054
6055 </td> <!-- entry_type -->
6056
6057 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006058 <p>Orientation of JPEG image to
6059write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006060 </td>
6061
6062 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006063 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006064 </td>
6065
6066 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006067 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006068 </td>
6069
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006070 <td class="entry_tags">
6071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006072 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006073 </ul>
6074 </td>
6075
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006076 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006077
6078
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006079 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6080 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081
6082
6083 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006084 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006085 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006086 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006087 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006088 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006089
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006090 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006091
6092
6093 </td> <!-- entry_type -->
6094
6095 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006096 <p>Compression quality of the final JPEG
6097image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098 </td>
6099
6100 <td class="entry_units">
6101 </td>
6102
6103 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006104 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006105 </td>
6106
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006107 <td class="entry_tags">
6108 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006109 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006110 </ul>
6111 </td>
6112
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006113 </tr>
6114 <tr class="entries_header">
6115 <th class="th_details" colspan="5">Details</th>
6116 </tr>
6117 <tr class="entry_cont">
6118 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006119 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006120 </td>
6121 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006122
6123
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006124 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6125 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006126
6127
6128 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006129 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006130 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006131 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006132 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006133 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006134
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006135 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006136
6137
6138 </td> <!-- entry_type -->
6139
6140 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006141 <p>Compression quality of JPEG
6142thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143 </td>
6144
6145 <td class="entry_units">
6146 </td>
6147
6148 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006149 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006150 </td>
6151
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006152 <td class="entry_tags">
6153 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006154 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006155 </ul>
6156 </td>
6157
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006158 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006159
6160
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006161 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6162 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006163
6164
6165 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006166 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006167 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006168 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006169 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006170 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006171 <span class="entry_type_container">x</span>
6172
6173 <span class="entry_type_array">
6174 2
6175 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006176 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006177
6178
6179 </td> <!-- entry_type -->
6180
6181 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006182 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006183 </td>
6184
6185 <td class="entry_units">
6186 </td>
6187
6188 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006189 <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 -08006190 </td>
6191
6192 <td class="entry_tags">
6193 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006194 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006195 </ul>
6196 </td>
6197
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006198 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006199 <tr class="entries_header">
6200 <th class="th_details" colspan="5">Details</th>
6201 </tr>
6202 <tr class="entry_cont">
6203 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006204 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6205but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006206<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6207the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006208 </td>
6209 </tr>
6210
6211
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006212 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6213 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006214
6215
6216
6217 <!-- end of kind -->
6218 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006219 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006220
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006221 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006222 <tr>
6223 <th class="th_name">Property Name</th>
6224 <th class="th_type">Type</th>
6225 <th class="th_description">Description</th>
6226 <th class="th_units">Units</th>
6227 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006228 <th class="th_tags">Tags</th>
6229 </tr>
6230 </thead>
6231
6232 <tbody>
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006244 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006245 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006246 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006248 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006249 <span class="entry_type_container">x</span>
6250
6251 <span class="entry_type_array">
6252 2 x n
6253 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006254 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006255
6256
6257 </td> <!-- entry_type -->
6258
6259 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006260 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006261 </td>
6262
6263 <td class="entry_units">
6264 </td>
6265
6266 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006267 <p>Will include at least one valid resolution,<wbr/> plus
6268(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006269 </td>
6270
6271 <td class="entry_tags">
6272 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006273 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006274 </ul>
6275 </td>
6276
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006277 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006278 <tr class="entries_header">
6279 <th class="th_details" colspan="5">Details</th>
6280 </tr>
6281 <tr class="entry_cont">
6282 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006283 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006284<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006285<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6286If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6287<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006288aspect 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 -08006289The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006290in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006291<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 -08006292one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6293and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006294<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006295</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006296 </td>
6297 </tr>
6298
6299
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006300 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6301 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006302
6303
6304 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006305 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006306 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006307 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006309 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006310
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006311 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006312
6313
6314 </td> <!-- entry_type -->
6315
6316 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006317 <p>Maximum size in bytes for the compressed
6318JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006319 </td>
6320
6321 <td class="entry_units">
6322 </td>
6323
6324 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006325 <p>Must be large enough to fit any JPEG produced by
6326the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006327 </td>
6328
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006329 <td class="entry_tags">
6330 </td>
6331
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006332 </tr>
6333 <tr class="entries_header">
6334 <th class="th_details" colspan="5">Details</th>
6335 </tr>
6336 <tr class="entry_cont">
6337 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006338 <p>This is used for sizing the gralloc buffers for
6339JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006340 </td>
6341 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006342
6343
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006344 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6345 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006346
6347
6348
6349 <!-- end of kind -->
6350 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006351 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006352
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006353 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006354 <tr>
6355 <th class="th_name">Property Name</th>
6356 <th class="th_type">Type</th>
6357 <th class="th_description">Description</th>
6358 <th class="th_units">Units</th>
6359 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006360 <th class="th_tags">Tags</th>
6361 </tr>
6362 </thead>
6363
6364 <tbody>
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006376 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006377 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006378 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006379 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006380 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006381 <span class="entry_type_container">x</span>
6382
6383 <span class="entry_type_array">
6384 3
6385 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006386 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006387 <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 -08006388
6389
6390 </td> <!-- entry_type -->
6391
6392 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006393 <p>GPS coordinates to include in output JPEG
6394EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006395 </td>
6396
6397 <td class="entry_units">
6398 </td>
6399
6400 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006401 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006402 </td>
6403
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006404 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006405 <ul class="entry_tags">
6406 <li><a href="#tag_BC">BC</a></li>
6407 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006408 </td>
6409
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006410 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006411
6412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006415
6416
6417 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006418 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006419 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006422 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006423
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006424 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006425
6426
6427 </td> <!-- entry_type -->
6428
6429 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006430 <p>32 characters describing GPS algorithm to
6431include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006432 </td>
6433
6434 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006435 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006436 </td>
6437
6438 <td class="entry_range">
6439 </td>
6440
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006441 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006442 <ul class="entry_tags">
6443 <li><a href="#tag_BC">BC</a></li>
6444 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006445 </td>
6446
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006447 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006448
6449
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006450 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6451 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006452
6453
6454 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006455 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006456 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006457 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006459 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006460
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006461 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006462
6463
6464 </td> <!-- entry_type -->
6465
6466 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006467 <p>Time GPS fix was made to include in
6468EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006469 </td>
6470
6471 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006472 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006473 </td>
6474
6475 <td class="entry_range">
6476 </td>
6477
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006478 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006479 <ul class="entry_tags">
6480 <li><a href="#tag_BC">BC</a></li>
6481 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006482 </td>
6483
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006484 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006485
6486
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006487 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6488 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006489
6490
6491 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006492 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006493 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006494 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006496 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006497
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006498 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006499
6500
6501 </td> <!-- entry_type -->
6502
6503 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006504 <p>Orientation of JPEG image to
6505write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006506 </td>
6507
6508 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006509 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006510 </td>
6511
6512 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006513 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006514 </td>
6515
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006516 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006517 <ul class="entry_tags">
6518 <li><a href="#tag_BC">BC</a></li>
6519 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006520 </td>
6521
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006522 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006523
6524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006527
6528
6529 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006530 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006531 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006532 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006534 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006535
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006536 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006537
6538
6539 </td> <!-- entry_type -->
6540
6541 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006542 <p>Compression quality of the final JPEG
6543image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006544 </td>
6545
6546 <td class="entry_units">
6547 </td>
6548
6549 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006550 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006551 </td>
6552
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006553 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006554 <ul class="entry_tags">
6555 <li><a href="#tag_BC">BC</a></li>
6556 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006557 </td>
6558
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006559 </tr>
6560 <tr class="entries_header">
6561 <th class="th_details" colspan="5">Details</th>
6562 </tr>
6563 <tr class="entry_cont">
6564 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006565 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006566 </td>
6567 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006568
6569
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006570 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6571 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006572
6573
6574 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006575 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006576 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006577 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006578 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006579 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006580
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006581 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006582
6583
6584 </td> <!-- entry_type -->
6585
6586 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006587 <p>The size of the compressed JPEG image,<wbr/> in
6588bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006589 </td>
6590
6591 <td class="entry_units">
6592 </td>
6593
6594 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006595 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006596 </td>
6597
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006598 <td class="entry_tags">
6599 </td>
6600
6601 </tr>
6602 <tr class="entries_header">
6603 <th class="th_details" colspan="5">Details</th>
6604 </tr>
6605 <tr class="entry_cont">
6606 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006607 <p>If no JPEG output is produced for the request,<wbr/>
6608this must be 0.<wbr/></p>
6609<p>Otherwise,<wbr/> this describes the real size of the compressed
6610JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006611if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6612has <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 -08006613the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6614500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006615 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006616 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006617
6618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006619 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6620 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006621
6622
6623 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006624 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006625 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006626 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006628 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006630 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006631
6632
6633 </td> <!-- entry_type -->
6634
6635 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006636 <p>Compression quality of JPEG
6637thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006638 </td>
6639
6640 <td class="entry_units">
6641 </td>
6642
6643 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006644 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006645 </td>
6646
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006647 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006648 <ul class="entry_tags">
6649 <li><a href="#tag_BC">BC</a></li>
6650 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006651 </td>
6652
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006653 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006654
6655
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006656 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6657 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006658
6659
6660 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006661 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006662 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006663 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006664 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006665 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006666 <span class="entry_type_container">x</span>
6667
6668 <span class="entry_type_array">
6669 2
6670 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006671 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006672
6673
6674 </td> <!-- entry_type -->
6675
6676 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006677 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006678 </td>
6679
6680 <td class="entry_units">
6681 </td>
6682
6683 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006684 <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 -08006685 </td>
6686
6687 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006688 <ul class="entry_tags">
6689 <li><a href="#tag_BC">BC</a></li>
6690 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006691 </td>
6692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006693 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006694 <tr class="entries_header">
6695 <th class="th_details" colspan="5">Details</th>
6696 </tr>
6697 <tr class="entry_cont">
6698 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006699 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6700but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006701<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6702the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006703 </td>
6704 </tr>
6705
6706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006707 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6708 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006709
6710
6711
6712 <!-- end of kind -->
6713 </tbody>
6714
6715 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006716 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006717
6718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006719 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006720
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006721 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006722 <tr>
6723 <th class="th_name">Property Name</th>
6724 <th class="th_type">Type</th>
6725 <th class="th_description">Description</th>
6726 <th class="th_units">Units</th>
6727 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006728 <th class="th_tags">Tags</th>
6729 </tr>
6730 </thead>
6731
6732 <tbody>
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006744 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006745 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006746 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006747 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006748 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006749
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006750 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006751
6752
6753 </td> <!-- entry_type -->
6754
6755 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006756 <p>The ratio of lens focal length to the effective
6757aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006758 </td>
6759
6760 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006761 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006762 </td>
6763
6764 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006765 <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 -08006766 </td>
6767
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006768 <td class="entry_tags">
6769 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006770 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006771 </ul>
6772 </td>
6773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006774 </tr>
6775 <tr class="entries_header">
6776 <th class="th_details" colspan="5">Details</th>
6777 </tr>
6778 <tr class="entry_cont">
6779 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006780 <p>This will only be supported on the camera devices that
6781have variable aperture lens.<wbr/> The aperture value can only be
6782one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6783<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6784this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6785<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6786to achieve manual exposure control.<wbr/></p>
6787<p>The requested aperture value may take several frames to reach the
6788requested value; the camera device will report the current (intermediate)
6789aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6790<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6791the ON modes,<wbr/> this will be overridden by the camera device
6792auto-exposure algorithm,<wbr/> the overridden values are then provided
6793back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006794 </td>
6795 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006796
6797
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006798 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6799 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800
6801
6802 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006803 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006804 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006805 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006806 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006807 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006808
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006809 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006810
6811
6812 </td> <!-- entry_type -->
6813
6814 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006815 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006816 </td>
6817
6818 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006819 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006820 </td>
6821
6822 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006823 <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 -08006824 </td>
6825
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006826 <td class="entry_tags">
6827 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006828 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006829 </ul>
6830 </td>
6831
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006832 </tr>
6833 <tr class="entries_header">
6834 <th class="th_details" colspan="5">Details</th>
6835 </tr>
6836 <tr class="entry_cont">
6837 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006838 <p>This will not be supported on most camera devices.<wbr/> On devices
6839where this is supported,<wbr/> this may only be set to one of the
6840values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6841<p>Lens filters are typically used to lower the amount of light the
6842sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6843step is the standard logarithmic representation,<wbr/> which are
6844non-negative,<wbr/> and inversely proportional to the amount of light
6845hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6846in no reduction of the incoming light,<wbr/> and setting this to 2 would
6847mean that the filter is set to reduce incoming light by two stops
6848(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006849 </td>
6850 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006851
6852
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006853 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6854 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006855
6856
6857 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006858 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006859 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006860 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006861 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006862 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006863
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006864 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006865
6866
6867 </td> <!-- entry_type -->
6868
6869 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006870 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006871 </td>
6872
6873 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006874 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006875 </td>
6876
6877 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006878 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006879 </td>
6880
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006881 <td class="entry_tags">
6882 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006883 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006884 </ul>
6885 </td>
6886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006887 </tr>
6888 <tr class="entries_header">
6889 <th class="th_details" colspan="5">Details</th>
6890 </tr>
6891 <tr class="entry_cont">
6892 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006893 <p>This setting controls the physical focal length of the camera
6894device's lens.<wbr/> Changing the focal length changes the field of
6895view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
6896<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
6897setting won't be applied instantaneously,<wbr/> and it may take several
6898frames before the lens can move to the requested focal length.<wbr/>
6899While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
6900be set to MOVING.<wbr/></p>
6901<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006902 </td>
6903 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006904
6905
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006906 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6907 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006908
6909
6910 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006911 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006912 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006913 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006914 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006915 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006916
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006917 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006918
6919
6920 </td> <!-- entry_type -->
6921
6922 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006923 <p>Distance to plane of sharpest focus,<wbr/>
6924measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006925 </td>
6926
6927 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006928 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006929 </td>
6930
6931 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006932 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006933 </td>
6934
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006935 <td class="entry_tags">
6936 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006937 <li><a href="#tag_BC">BC</a></li>
6938 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006939 </ul>
6940 </td>
6941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006942 </tr>
6943 <tr class="entries_header">
6944 <th class="th_details" colspan="5">Details</th>
6945 </tr>
6946 <tr class="entry_cont">
6947 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006948 <p>0 = infinity focus.<wbr/> Used value should be clamped
6949to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006950 </td>
6951 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006952
6953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006954 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6955 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006956
6957
6958 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006959 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006960 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006961 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006962 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006963 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006964
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006965 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006966
6967 <ul class="entry_type_enum">
6968 <li>
6969 <span class="entry_type_enum_name">OFF</span>
6970 </li>
6971 <li>
6972 <span class="entry_type_enum_name">ON</span>
6973 <span class="entry_type_enum_optional">optional</span>
6974 </li>
6975 </ul>
6976
6977 </td> <!-- entry_type -->
6978
6979 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006980 <p>Whether optical image stabilization is
6981enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982 </td>
6983
6984 <td class="entry_units">
6985 </td>
6986
6987 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006988 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006989 </td>
6990
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006991 <td class="entry_tags">
6992 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006993 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006994 </ul>
6995 </td>
6996
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006997 </tr>
6998 <tr class="entries_header">
6999 <th class="th_details" colspan="5">Details</th>
7000 </tr>
7001 <tr class="entry_cont">
7002 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007003 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007004 </td>
7005 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007006
7007
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007008 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7009 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007010
7011
7012
7013 <!-- end of kind -->
7014 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007015 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007016
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007017 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007018 <tr>
7019 <th class="th_name">Property Name</th>
7020 <th class="th_type">Type</th>
7021 <th class="th_description">Description</th>
7022 <th class="th_units">Units</th>
7023 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007024 <th class="th_tags">Tags</th>
7025 </tr>
7026 </thead>
7027
7028 <tbody>
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007042 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007043 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007044 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007045 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007046 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007047 <span class="entry_type_container">x</span>
7048
7049 <span class="entry_type_array">
7050 n
7051 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007052 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007053
7054
7055 </td> <!-- entry_type -->
7056
7057 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007058 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007059values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007060 </td>
7061
7062 <td class="entry_units">
7063 </td>
7064
7065 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007066 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007067 </td>
7068
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007069 <td class="entry_tags">
7070 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007071 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007072 </ul>
7073 </td>
7074
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007075 </tr>
7076 <tr class="entries_header">
7077 <th class="th_details" colspan="5">Details</th>
7078 </tr>
7079 <tr class="entry_cont">
7080 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007081 <p>If the camera device doesn't support variable apertures,<wbr/>
7082listed value will be the fixed aperture.<wbr/></p>
7083<p>If the camera device supports variable apertures,<wbr/> the aperture value
7084in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007085 </td>
7086 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007087
7088
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007089 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7090 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007091
7092
7093 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007094 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007095 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007096 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007097 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007098 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007099 <span class="entry_type_container">x</span>
7100
7101 <span class="entry_type_array">
7102 n
7103 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007104 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007105
7106
7107 </td> <!-- entry_type -->
7108
7109 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007110 <p>List of supported neutral density filter values for
7111<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007112 </td>
7113
7114 <td class="entry_units">
7115 </td>
7116
7117 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007118 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007119 </td>
7120
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007121 <td class="entry_tags">
7122 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007123 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007124 </ul>
7125 </td>
7126
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007127 </tr>
7128 <tr class="entries_header">
7129 <th class="th_details" colspan="5">Details</th>
7130 </tr>
7131 <tr class="entry_cont">
7132 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007133 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7134availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7135list contains only the exact filter density values available on
7136this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007137 </td>
7138 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007139
7140
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007141 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7142 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007143
7144
7145 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007146 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007147 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007148 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007149 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007150 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007151 <span class="entry_type_container">x</span>
7152
7153 <span class="entry_type_array">
7154 n
7155 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007156 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007157 <div class="entry_type_notes">The list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007158
7159
7160 </td> <!-- entry_type -->
7161
7162 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007163 <p>The available focal lengths for this device for use with
7164<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007165 </td>
7166
7167 <td class="entry_units">
7168 </td>
7169
7170 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007171 <p>Each value in this list must be &gt; 0.<wbr/> This list must
7172contain at least one value.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007173 </td>
7174
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007175 <td class="entry_tags">
7176 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007177 <li><a href="#tag_BC">BC</a></li>
7178 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007179 </ul>
7180 </td>
7181
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007182 </tr>
7183 <tr class="entries_header">
7184 <th class="th_details" colspan="5">Details</th>
7185 </tr>
7186 <tr class="entry_cont">
7187 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007188 <p>If optical zoom is not supported,<wbr/> this will only report
7189a single value corresponding to the static focal length of the
7190device.<wbr/> Otherwise,<wbr/> this will report every focal length supported
7191by the device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007192 </td>
7193 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007194
7195
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007196 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7197 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007198
7199
7200 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007201 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007202 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007203 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007204 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007205 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007206 <span class="entry_type_container">x</span>
7207
7208 <span class="entry_type_array">
7209 n
7210 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007211 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007212 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007213
7214
7215 </td> <!-- entry_type -->
7216
7217 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007218 <p>List of supported optical image
7219stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007220 </td>
7221
7222 <td class="entry_units">
7223 </td>
7224
7225 <td class="entry_range">
7226 </td>
7227
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007228 <td class="entry_tags">
7229 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007230 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007231 </ul>
7232 </td>
7233
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007234 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007235
7236
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007237 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7238 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007239
7240
7241 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007242 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007243 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007244 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007245 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007246 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007247 <span class="entry_type_container">x</span>
7248
7249 <span class="entry_type_array">
7250 2 x 3 x n x m
7251 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007252 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007253 <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 -08007254
7255
7256 </td> <!-- entry_type -->
7257
7258 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007259 <p>A low-resolution map for correction of
7260geometric distortions and chromatic aberrations,<wbr/> per
7261color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007262 </td>
7263
7264 <td class="entry_units">
7265 </td>
7266
7267 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007268 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007269 </td>
7270
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007271 <td class="entry_tags">
7272 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007273 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007274 </ul>
7275 </td>
7276
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007277 </tr>
7278 <tr class="entries_header">
7279 <th class="th_details" colspan="5">Details</th>
7280 </tr>
7281 <tr class="entry_cont">
7282 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007283 <p>[DNG wants a function instead].<wbr/> What's easiest
7284for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7285j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7286j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7287entry 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 -08007288 </td>
7289 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007290
7291
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007292 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7293 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007294
7295
7296 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007297 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007298 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007299 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007300 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007301 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007302 <span class="entry_type_container">x</span>
7303
7304 <span class="entry_type_array">
7305 2
7306 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007307 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007308 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007309
7310
7311 </td> <!-- entry_type -->
7312
7313 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007314 <p>Dimensions of geometric correction
7315map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007316 </td>
7317
7318 <td class="entry_units">
7319 </td>
7320
7321 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007322 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007323 </td>
7324
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007325 <td class="entry_tags">
7326 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007327 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007328 </ul>
7329 </td>
7330
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007331 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007332
7333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007334 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7335 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007336
7337
7338 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007339 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007340 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007341 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007343 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007344
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007345 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007346
7347
7348 </td> <!-- entry_type -->
7349
7350 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007351 <p>Hyperfocal distance for this lens; set to
73520 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007353 </td>
7354
7355 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007356 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007357 </td>
7358
7359 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007360 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007361 </td>
7362
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007363 <td class="entry_tags">
7364 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007365 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007366 </ul>
7367 </td>
7368
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007369 </tr>
7370 <tr class="entries_header">
7371 <th class="th_details" colspan="5">Details</th>
7372 </tr>
7373 <tr class="entry_cont">
7374 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007375 <p>The hyperfocal distance is used for the old
7376API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007377 </td>
7378 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007379
7380
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007381 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7382 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007383
7384
7385 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007386 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007387 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007388 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007389 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007390 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007392 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007393
7394
7395 </td> <!-- entry_type -->
7396
7397 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007398 <p>Shortest distance from frontmost surface
7399of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007400 </td>
7401
7402 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007403 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007404 </td>
7405
7406 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007407 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408 </td>
7409
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007410 <td class="entry_tags">
7411 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007412 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007413 </ul>
7414 </td>
7415
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007416 </tr>
7417 <tr class="entries_header">
7418 <th class="th_details" colspan="5">Details</th>
7419 </tr>
7420 <tr class="entry_cont">
7421 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007422 <p>If the lens is fixed-focus,<wbr/> this should be
74230</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007424 </td>
7425 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007426
7427
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007428 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7429 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007430
7431
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007432 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007433 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007434 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007435 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007436 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007437 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007438 <span class="entry_type_container">x</span>
7439
7440 <span class="entry_type_array">
7441 2
7442 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007443 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007444 <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 -08007445
7446
7447 </td> <!-- entry_type -->
7448
7449 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007450 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007451 </td>
7452
7453 <td class="entry_units">
7454 </td>
7455
7456 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007457 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007458 </td>
7459
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007460 <td class="entry_tags">
7461 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007462 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007463 </ul>
7464 </td>
7465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007466 </tr>
7467 <tr class="entries_header">
7468 <th class="th_details" colspan="5">Details</th>
7469 </tr>
7470 <tr class="entry_cont">
7471 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007472 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7473must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007474 </td>
7475 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007476
7477
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007478 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7479 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007480
7481
7482
7483
7484
7485 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007486 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007487 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007488 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007489 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007490 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007491
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007492 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007493
7494 <ul class="entry_type_enum">
7495 <li>
7496 <span class="entry_type_enum_name">FRONT</span>
7497 </li>
7498 <li>
7499 <span class="entry_type_enum_name">BACK</span>
7500 </li>
7501 </ul>
7502
7503 </td> <!-- entry_type -->
7504
7505 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007506 <p>Direction the camera faces relative to
7507device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508 </td>
7509
7510 <td class="entry_units">
7511 </td>
7512
7513 <td class="entry_range">
7514 </td>
7515
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007516 <td class="entry_tags">
7517 </td>
7518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007519 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007520
7521
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007522 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7523 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007524
7525
7526 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007527 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007528 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007529 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007530 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007531 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007532 <span class="entry_type_container">x</span>
7533
7534 <span class="entry_type_array">
7535 2
7536 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007537 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007538 <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 -08007539
7540
7541 </td> <!-- entry_type -->
7542
7543 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007544 <p>Relative angle of camera optical axis to the
7545perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007546 </td>
7547
7548 <td class="entry_units">
7549 </td>
7550
7551 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007552 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007553 </td>
7554
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007555 <td class="entry_tags">
7556 <ul class="entry_tags">
7557 <li><a href="#tag_ADV">ADV</a></li>
7558 </ul>
7559 </td>
7560
7561 </tr>
7562 <tr class="entries_header">
7563 <th class="th_details" colspan="5">Details</th>
7564 </tr>
7565 <tr class="entry_cont">
7566 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007567 <p>Examples:</p>
7568<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007569is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007570<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007571device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007572<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7573the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007574<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007575direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007576 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007577 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007578
7579
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007580 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7581 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007582
7583
7584 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007585 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007586 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007587 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007589 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007590 <span class="entry_type_container">x</span>
7591
7592 <span class="entry_type_array">
7593 3, location in mm, in the sensor coordinate
7594 system
7595 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007596 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007597
7598
7599 </td> <!-- entry_type -->
7600
7601 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007602 <p>Coordinates of camera optical axis on
7603device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007604 </td>
7605
7606 <td class="entry_units">
7607 </td>
7608
7609 <td class="entry_range">
7610 </td>
7611
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007612 <td class="entry_tags">
7613 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007614 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007615 </ul>
7616 </td>
7617
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007618 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007619
7620
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007621 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7622 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007623
7624
7625
7626 <!-- end of kind -->
7627 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007628 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007630 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007631 <tr>
7632 <th class="th_name">Property Name</th>
7633 <th class="th_type">Type</th>
7634 <th class="th_description">Description</th>
7635 <th class="th_units">Units</th>
7636 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007637 <th class="th_tags">Tags</th>
7638 </tr>
7639 </thead>
7640
7641 <tbody>
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007653 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007654 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007655 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007656 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007657 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007658
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007659 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007660
7661
7662 </td> <!-- entry_type -->
7663
7664 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007665 <p>The ratio of lens focal length to the effective
7666aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007667 </td>
7668
7669 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007670 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007671 </td>
7672
7673 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007674 <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 -08007675 </td>
7676
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007677 <td class="entry_tags">
7678 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007679 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007680 </ul>
7681 </td>
7682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007683 </tr>
7684 <tr class="entries_header">
7685 <th class="th_details" colspan="5">Details</th>
7686 </tr>
7687 <tr class="entry_cont">
7688 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007689 <p>This will only be supported on the camera devices that
7690have variable aperture lens.<wbr/> The aperture value can only be
7691one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7692<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7693this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7694<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7695to achieve manual exposure control.<wbr/></p>
7696<p>The requested aperture value may take several frames to reach the
7697requested value; the camera device will report the current (intermediate)
7698aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7699<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7700the ON modes,<wbr/> this will be overridden by the camera device
7701auto-exposure algorithm,<wbr/> the overridden values are then provided
7702back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007703 </td>
7704 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007705
7706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007707 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7708 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007709
7710
7711 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007712 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007713 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007714 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007715 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007716 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007717
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007718 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007719
7720
7721 </td> <!-- entry_type -->
7722
7723 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007724 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007725 </td>
7726
7727 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007728 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007729 </td>
7730
7731 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007732 <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 -08007733 </td>
7734
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007735 <td class="entry_tags">
7736 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007737 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007738 </ul>
7739 </td>
7740
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007741 </tr>
7742 <tr class="entries_header">
7743 <th class="th_details" colspan="5">Details</th>
7744 </tr>
7745 <tr class="entry_cont">
7746 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007747 <p>This will not be supported on most camera devices.<wbr/> On devices
7748where this is supported,<wbr/> this may only be set to one of the
7749values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7750<p>Lens filters are typically used to lower the amount of light the
7751sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7752step is the standard logarithmic representation,<wbr/> which are
7753non-negative,<wbr/> and inversely proportional to the amount of light
7754hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7755in no reduction of the incoming light,<wbr/> and setting this to 2 would
7756mean that the filter is set to reduce incoming light by two stops
7757(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007758 </td>
7759 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007760
7761
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007762 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7763 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007764
7765
7766 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007767 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007768 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007769 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007770 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007771 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007772
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007773 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007774
7775
7776 </td> <!-- entry_type -->
7777
7778 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007779 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007780 </td>
7781
7782 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007783 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007784 </td>
7785
7786 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007787 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007788 </td>
7789
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007790 <td class="entry_tags">
7791 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007792 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007793 </ul>
7794 </td>
7795
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007796 </tr>
7797 <tr class="entries_header">
7798 <th class="th_details" colspan="5">Details</th>
7799 </tr>
7800 <tr class="entry_cont">
7801 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007802 <p>This setting controls the physical focal length of the camera
7803device's lens.<wbr/> Changing the focal length changes the field of
7804view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
7805<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
7806setting won't be applied instantaneously,<wbr/> and it may take several
7807frames before the lens can move to the requested focal length.<wbr/>
7808While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7809be set to MOVING.<wbr/></p>
7810<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007811 </td>
7812 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007813
7814
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007815 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7816 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007817
7818
7819 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007820 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007821 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007822 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007823 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007824 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007825
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007826 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007827
7828
7829 </td> <!-- entry_type -->
7830
7831 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007832 <p>Distance to plane of sharpest focus,<wbr/>
7833measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007834 </td>
7835
7836 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007837 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007838 </td>
7839
7840 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007841 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007842 </td>
7843
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007844 <td class="entry_tags">
7845 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007846 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007847 </ul>
7848 </td>
7849
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007850 </tr>
7851 <tr class="entries_header">
7852 <th class="th_details" colspan="5">Details</th>
7853 </tr>
7854 <tr class="entry_cont">
7855 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007856 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007857 </td>
7858 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007859
7860
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007861 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7862 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007863
7864
7865 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007866 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007867 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007868 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007869 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007870 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007871 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007872
Zhijun He50451ad2013-09-26 10:27:47 -07007873 <span class="entry_type_array">
7874 2
7875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007876 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007877 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007878
7879
7880 </td> <!-- entry_type -->
7881
7882 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007883 <p>The range of scene distances that are in
7884sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007885 </td>
7886
7887 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007888 pair of focus distances in diopters: (near,<wbr/>
7889 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007890 </td>
7891
7892 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007893 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007894 </td>
7895
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007896 <td class="entry_tags">
7897 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007898 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007899 </ul>
7900 </td>
7901
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007902 </tr>
7903 <tr class="entries_header">
7904 <th class="th_details" colspan="5">Details</th>
7905 </tr>
7906 <tr class="entry_cont">
7907 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007908 <p>If variable focus not supported,<wbr/> can still report
7909fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007910 </td>
7911 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007912
7913
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007914 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7915 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007916
7917
7918 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007919 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007920 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007921 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007922 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007923 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007924
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007925 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007926
7927 <ul class="entry_type_enum">
7928 <li>
7929 <span class="entry_type_enum_name">OFF</span>
7930 </li>
7931 <li>
7932 <span class="entry_type_enum_name">ON</span>
7933 <span class="entry_type_enum_optional">optional</span>
7934 </li>
7935 </ul>
7936
7937 </td> <!-- entry_type -->
7938
7939 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007940 <p>Whether optical image stabilization is
7941enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007942 </td>
7943
7944 <td class="entry_units">
7945 </td>
7946
7947 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007948 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007949 </td>
7950
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007951 <td class="entry_tags">
7952 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007953 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007954 </ul>
7955 </td>
7956
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007957 </tr>
7958 <tr class="entries_header">
7959 <th class="th_details" colspan="5">Details</th>
7960 </tr>
7961 <tr class="entry_cont">
7962 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007963 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007964 </td>
7965 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007966
7967
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007968 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7969 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007970
7971
7972 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007973 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007974 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007975 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007976 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007977 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007978
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007979 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007980
7981 <ul class="entry_type_enum">
7982 <li>
7983 <span class="entry_type_enum_name">STATIONARY</span>
7984 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07007985 <li>
7986 <span class="entry_type_enum_name">MOVING</span>
7987 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007988 </ul>
7989
7990 </td> <!-- entry_type -->
7991
7992 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007993 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007994 </td>
7995
7996 <td class="entry_units">
7997 </td>
7998
7999 <td class="entry_range">
8000 </td>
8001
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008002 <td class="entry_tags">
8003 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008004 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008005 </ul>
8006 </td>
8007
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008008 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008009
8010
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008011 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8012 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008013
8014
8015
8016 <!-- end of kind -->
8017 </tbody>
8018
8019 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008020 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021
8022
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008023 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008024
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008025 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008026 <tr>
8027 <th class="th_name">Property Name</th>
8028 <th class="th_type">Type</th>
8029 <th class="th_description">Description</th>
8030 <th class="th_units">Units</th>
8031 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008032 <th class="th_tags">Tags</th>
8033 </tr>
8034 </thead>
8035
8036 <tbody>
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008048 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008049 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008050 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008052 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008053
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008054 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008055
8056 <ul class="entry_type_enum">
8057 <li>
8058 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008059 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008060 </li>
8061 <li>
8062 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008063 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8064output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008065 </li>
8066 <li>
8067 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008068 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8069quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008070 </li>
8071 </ul>
8072
8073 </td> <!-- entry_type -->
8074
8075 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008076 <p>Mode of operation for the noise reduction
8077algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008078 </td>
8079
8080 <td class="entry_units">
8081 </td>
8082
8083 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008084 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008085 </td>
8086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008087 <td class="entry_tags">
8088 <ul class="entry_tags">
8089 <li><a href="#tag_V1">V1</a></li>
8090 </ul>
8091 </td>
8092
8093 </tr>
8094 <tr class="entries_header">
8095 <th class="th_details" colspan="5">Details</th>
8096 </tr>
8097 <tr class="entry_cont">
8098 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008099 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8100will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008101<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8102will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8103will use the highest-quality noise filtering algorithms,<wbr/>
8104even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008105slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008106 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008107 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008108
8109
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008110 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8111 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008112
8113
8114 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008115 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008116 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008117 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008118 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008119 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008120
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008121 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008122
8123
8124 </td> <!-- entry_type -->
8125
8126 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008127 <p>Control the amount of noise reduction
8128applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008129 </td>
8130
8131 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008132 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008133 </td>
8134
8135 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008136 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008137 </td>
8138
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008139 <td class="entry_tags">
8140 </td>
8141
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008142 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008143
8144
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008145 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8146 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008147
8148
8149
8150 <!-- end of kind -->
8151 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008152 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008154 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008155 <tr>
8156 <th class="th_name">Property Name</th>
8157 <th class="th_type">Type</th>
8158 <th class="th_description">Description</th>
8159 <th class="th_units">Units</th>
8160 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008161 <th class="th_tags">Tags</th>
8162 </tr>
8163 </thead>
8164
8165 <tbody>
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008177 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008178 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008179 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008181 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008182
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008183 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008184
8185 <ul class="entry_type_enum">
8186 <li>
8187 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008188 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008189 </li>
8190 <li>
8191 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008192 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8193output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008194 </li>
8195 <li>
8196 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008197 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8198quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008199 </li>
8200 </ul>
8201
8202 </td> <!-- entry_type -->
8203
8204 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008205 <p>Mode of operation for the noise reduction
8206algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008207 </td>
8208
8209 <td class="entry_units">
8210 </td>
8211
8212 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008213 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008214 </td>
8215
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008216 <td class="entry_tags">
8217 <ul class="entry_tags">
8218 <li><a href="#tag_V1">V1</a></li>
8219 </ul>
8220 </td>
8221
8222 </tr>
8223 <tr class="entries_header">
8224 <th class="th_details" colspan="5">Details</th>
8225 </tr>
8226 <tr class="entry_cont">
8227 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008228 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8229will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008230<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8231will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8232will use the highest-quality noise filtering algorithms,<wbr/>
8233even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008234slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008235 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008236 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008237
8238
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008239 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8240 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008241
8242
8243
8244 <!-- end of kind -->
8245 </tbody>
8246
8247 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008248 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008249
8250
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008251 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008252
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008253 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008254 <tr>
8255 <th class="th_name">Property Name</th>
8256 <th class="th_type">Type</th>
8257 <th class="th_description">Description</th>
8258 <th class="th_units">Units</th>
8259 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008260 <th class="th_tags">Tags</th>
8261 </tr>
8262 </thead>
8263
8264 <tbody>
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008276 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008277 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008278 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008279 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008280 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008281
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008282 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008283
8284
8285 </td> <!-- entry_type -->
8286
8287 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008288 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008289scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008290region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8291and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008292 </td>
8293
8294 <td class="entry_units">
8295 </td>
8296
8297 <td class="entry_range">
8298 </td>
8299
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008300 <td class="entry_tags">
8301 </td>
8302
8303 </tr>
8304 <tr class="entries_header">
8305 <th class="th_details" colspan="5">Details</th>
8306 </tr>
8307 <tr class="entry_cont">
8308 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008309 <p>Normalized coordinates refer to those in the
8310(-1000,<wbr/>1000) range mentioned in the
8311android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008312<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008313sensor array-relative coordinates for all region data.<wbr/> Does
8314not need to be listed in static metadata.<wbr/> Support will be
8315removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008316 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008317 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008318
8319
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008320 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8321 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008322
8323
8324 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008325 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008326 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008327 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008328 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008329 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008330
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008331 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008332
8333
8334 </td> <!-- entry_type -->
8335
8336 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008337 <p>If set to 1,<wbr/> then the camera service always
8338switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8339trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008340 </td>
8341
8342 <td class="entry_units">
8343 </td>
8344
8345 <td class="entry_range">
8346 </td>
8347
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008348 <td class="entry_tags">
8349 </td>
8350
8351 </tr>
8352 <tr class="entries_header">
8353 <th class="th_details" colspan="5">Details</th>
8354 </tr>
8355 <tr class="entry_cont">
8356 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008357 <p>HAL implementations should implement AF trigger
8358modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8359CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8360not need to be listed in static metadata.<wbr/> Support will be
8361removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008362 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008363 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008364
8365
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008366 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8367 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008368
8369
8370 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008371 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008372 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008373 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008374 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008375 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008376
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008377 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008378
8379
8380 </td> <!-- entry_type -->
8381
8382 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008383 <p>If set to 1,<wbr/> the camera service uses
8384CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8385HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8386shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008387 </td>
8388
8389 <td class="entry_units">
8390 </td>
8391
8392 <td class="entry_range">
8393 </td>
8394
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008395 <td class="entry_tags">
8396 </td>
8397
8398 </tr>
8399 <tr class="entries_header">
8400 <th class="th_details" colspan="5">Details</th>
8401 </tr>
8402 <tr class="entry_cont">
8403 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008404 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008405to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008406zero-shutter-lag,<wbr/> instead of relying on an explicit
8407format setting.<wbr/> Does not need to be listed in static
8408metadata.<wbr/> Support will be removed in future versions of
8409camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008410 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008411 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008412
8413
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008414 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8415 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008416
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008417
8418 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008419 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008420 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008421 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008422 <td class="entry_type">
8423 <span class="entry_type_name">byte</span>
8424
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008425 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008426
8427
8428 </td> <!-- entry_type -->
8429
8430 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008431 <p>If set to 1,<wbr/> the HAL will always split result
8432metadata for a single capture into multiple buffers,<wbr/>
8433returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008434 </td>
8435
8436 <td class="entry_units">
8437 </td>
8438
8439 <td class="entry_range">
8440 </td>
8441
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008442 <td class="entry_tags">
8443 </td>
8444
8445 </tr>
8446 <tr class="entries_header">
8447 <th class="th_details" colspan="5">Details</th>
8448 </tr>
8449 <tr class="entry_cont">
8450 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008451 <p>Does not need to be listed in static
8452metadata.<wbr/> Support for partial results will be reworked in
8453future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008454working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008455consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008456 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008457 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008458
8459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008460 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8461 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008462
8463
8464
8465 <!-- end of kind -->
8466 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008467 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008468
8469 <thead class="entries_header">
8470 <tr>
8471 <th class="th_name">Property Name</th>
8472 <th class="th_type">Type</th>
8473 <th class="th_description">Description</th>
8474 <th class="th_units">Units</th>
8475 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008476 <th class="th_tags">Tags</th>
8477 </tr>
8478 </thead>
8479
8480 <tbody>
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008492 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008493 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008494 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008495 <td class="entry_type">
8496 <span class="entry_type_name entry_type_name_enum">byte</span>
8497
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008498 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008499
8500 <ul class="entry_type_enum">
8501 <li>
8502 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008503 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8504for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008505 </li>
8506 <li>
8507 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008508 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8509capture.<wbr/> More result buffers for this capture will be sent
8510by the HAL,<wbr/> the last of which will be marked
8511FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008512 </li>
8513 </ul>
8514
8515 </td> <!-- entry_type -->
8516
8517 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008518 <p>Whether a result given to the framework is the
8519final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008520subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008521values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008522 </td>
8523
8524 <td class="entry_units">
8525 </td>
8526
8527 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008528 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008529 </td>
8530
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008531 <td class="entry_tags">
8532 </td>
8533
8534 </tr>
8535 <tr class="entries_header">
8536 <th class="th_details" colspan="5">Details</th>
8537 </tr>
8538 <tr class="entry_cont">
8539 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008540 <p>The entries in the result metadata buffers for a
8541single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008542FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008543requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8544always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8545before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8546in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8547capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8548only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008549 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008550 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008551
8552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008553 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8554 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008555
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008556
8557
8558 <!-- end of kind -->
8559 </tbody>
8560
8561 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008562 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008563
8564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008565 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008567 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008568 <tr>
8569 <th class="th_name">Property Name</th>
8570 <th class="th_type">Type</th>
8571 <th class="th_description">Description</th>
8572 <th class="th_units">Units</th>
8573 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008574 <th class="th_tags">Tags</th>
8575 </tr>
8576 </thead>
8577
8578 <tbody>
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008590 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008591 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008592 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008593 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008594 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008595
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008596 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008597
8598
8599 </td> <!-- entry_type -->
8600
8601 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008602 <p>A frame counter set by the framework.<wbr/> Must
8603be maintained unchanged in output frame.<wbr/> This value monotonically
8604increases with every new result (that is,<wbr/> each new result has a unique
8605frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008606 </td>
8607
8608 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008609 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008610 </td>
8611
8612 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008613 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008614 </td>
8615
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008616 <td class="entry_tags">
8617 </td>
8618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008619 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008620
8621
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008622 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8623 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008624
8625
8626 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008627 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008628 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008629 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008630 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008631 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008632
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008633 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008634
8635
8636 </td> <!-- entry_type -->
8637
8638 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008639 <p>An application-specified ID for the current
8640request.<wbr/> Must be maintained unchanged in output
8641frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008642 </td>
8643
8644 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008645 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008646 </td>
8647
8648 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008649 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008650 </td>
8651
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008652 <td class="entry_tags">
8653 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008654 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008655 </ul>
8656 </td>
8657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008658 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008659
8660
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008661 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8662 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008663
8664
8665 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008666 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008667 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008668 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008669 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008670 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008671 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008672
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008673 <span class="entry_type_array">
8674 n
8675 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008676 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008677
8678
8679 </td> <!-- entry_type -->
8680
8681 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008682 <p>List which camera reprocess stream is used
8683for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008684 </td>
8685
8686 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008687 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008688 </td>
8689
8690 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008691 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8692reprocess stream ID.<wbr/></p>
8693<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8694reprocess streams may be included in a single request; they
8695must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008696 </td>
8697
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008698 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008699 <ul class="entry_tags">
8700 <li><a href="#tag_HAL2">HAL2</a></li>
8701 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008702 </td>
8703
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008704 </tr>
8705 <tr class="entries_header">
8706 <th class="th_details" colspan="5">Details</th>
8707 </tr>
8708 <tr class="entry_cont">
8709 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008710 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008711REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008712 </td>
8713 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008714
8715
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008716 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8717 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008718
8719
8720 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008721 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008722 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008723 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008724 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008725 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008726
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008727 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008728
8729 <ul class="entry_type_enum">
8730 <li>
8731 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008732 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8733for application-bound buffer data.<wbr/> If no
8734application-bound streams exist,<wbr/> no frame should be
8735placed in the output frame queue.<wbr/> If such streams
8736exist,<wbr/> a frame should be placed on the output queue
8737with null metadata but with the necessary output buffer
8738information.<wbr/> Timestamp information should still be
8739included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008740 </li>
8741 <li>
8742 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008743 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8744only be produced if they are separately
8745enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008746 </li>
8747 </ul>
8748
8749 </td> <!-- entry_type -->
8750
8751 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008752 <p>How much metadata to produce on
8753output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008754 </td>
8755
8756 <td class="entry_units">
8757 </td>
8758
8759 <td class="entry_range">
8760 </td>
8761
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008762 <td class="entry_tags">
8763 </td>
8764
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008765 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008766
8767
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008768 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8769 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008770
8771
8772 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008773 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008774 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008775 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008776 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008777 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008778 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008779
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008780 <span class="entry_type_array">
8781 n
8782 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008783 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008784
8785
8786 </td> <!-- entry_type -->
8787
8788 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008789 <p>Lists which camera output streams image data
8790from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008791 </td>
8792
8793 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008794 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008795 </td>
8796
8797 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008798 <p>List must only include streams that have been
8799created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008800 </td>
8801
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008802 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008803 <ul class="entry_tags">
8804 <li><a href="#tag_HAL2">HAL2</a></li>
8805 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008806 </td>
8807
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008808 </tr>
8809 <tr class="entries_header">
8810 <th class="th_details" colspan="5">Details</th>
8811 </tr>
8812 <tr class="entry_cont">
8813 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008814 <p>If no output streams are listed,<wbr/> then the image
8815data should simply be discarded.<wbr/> The image data must
8816still be captured for metadata and statistics production,<wbr/>
8817and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008818 </td>
8819 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008820
8821
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008822 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8823 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008824
8825
8826 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008827 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008828 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008829 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008830 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008831 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008832
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008833 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008834
8835 <ul class="entry_type_enum">
8836 <li>
8837 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008838 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8839and process it according to the
8840settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008841 </li>
8842 <li>
8843 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008844 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8845android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8846source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8847needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008848 </li>
8849 </ul>
8850
8851 </td> <!-- entry_type -->
8852
8853 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008854 <p>The type of the request; either CAPTURE or
8855REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008856 </td>
8857
8858 <td class="entry_units">
8859 </td>
8860
8861 <td class="entry_range">
8862 </td>
8863
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008864 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008865 <ul class="entry_tags">
8866 <li><a href="#tag_HAL2">HAL2</a></li>
8867 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008868 </td>
8869
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008870 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008871
8872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008873 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8874 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008875
8876
8877
8878 <!-- end of kind -->
8879 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008880 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008881
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008882 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008883 <tr>
8884 <th class="th_name">Property Name</th>
8885 <th class="th_type">Type</th>
8886 <th class="th_description">Description</th>
8887 <th class="th_units">Units</th>
8888 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008889 <th class="th_tags">Tags</th>
8890 </tr>
8891 </thead>
8892
8893 <tbody>
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008905 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008906 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008907 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008908 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008909 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008910 <span class="entry_type_container">x</span>
8911
8912 <span class="entry_type_array">
8913 3
8914 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008916
8917
8918 </td> <!-- entry_type -->
8919
8920 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008921 <p>How many output streams can be allocated at
8922the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008923 </td>
8924
8925 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008926 The number of raw sensor streams; the number of
8927 processed,<wbr/> uncompressed streams; and the number of
8928 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008929 </td>
8930
8931 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008932 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008933for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008934 </td>
8935
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008936 <td class="entry_tags">
8937 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008938 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008939 </ul>
8940 </td>
8941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008942 </tr>
8943 <tr class="entries_header">
8944 <th class="th_details" colspan="5">Details</th>
8945 </tr>
8946 <tr class="entry_cont">
8947 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008948 <p>Video snapshot with preview callbacks requires 3
8949processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8950one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008951 </td>
8952 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008953
8954
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008955 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8956 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008957
8958
8959 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008960 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008961 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008962 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008963 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008964 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008965 <span class="entry_type_container">x</span>
8966
8967 <span class="entry_type_array">
8968 1
8969 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008970 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008971
8972
8973 </td> <!-- entry_type -->
8974
8975 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008976 <p>How many reprocessing streams of any type
8977can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008978 </td>
8979
8980 <td class="entry_units">
8981 </td>
8982
8983 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008984 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008985 </td>
8986
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008987 <td class="entry_tags">
8988 </td>
8989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008990 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008991
8992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008993 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8994 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008995
8996
8997
8998 <!-- end of kind -->
8999 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009000 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009001
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009002 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009003 <tr>
9004 <th class="th_name">Property Name</th>
9005 <th class="th_type">Type</th>
9006 <th class="th_description">Description</th>
9007 <th class="th_units">Units</th>
9008 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009009 <th class="th_tags">Tags</th>
9010 </tr>
9011 </thead>
9012
9013 <tbody>
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009025 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009026 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009027 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009029 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009030
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009031 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009032
9033
9034 </td> <!-- entry_type -->
9035
9036 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009037 <p>A frame counter set by the framework.<wbr/> This value monotonically
9038increases with every new result (that is,<wbr/> each new result has a unique
9039frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009040 </td>
9041
9042 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009043 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044 </td>
9045
9046 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009047 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009048 </td>
9049
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009050 <td class="entry_tags">
9051 </td>
9052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009053 </tr>
9054 <tr class="entries_header">
9055 <th class="th_details" colspan="5">Details</th>
9056 </tr>
9057 <tr class="entry_cont">
9058 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009059 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009060 </td>
9061 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009062
9063
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009064 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9065 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009066
9067
9068 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009069 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009070 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009071 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009072 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009073 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009074
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009075 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009076
9077
9078 </td> <!-- entry_type -->
9079
9080 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009081 <p>An application-specified ID for the current
9082request.<wbr/> Must be maintained unchanged in output
9083frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009084 </td>
9085
9086 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009087 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009088 </td>
9089
9090 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009091 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009092 </td>
9093
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009094 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009095 <ul class="entry_tags">
9096 <li><a href="#tag_V1">V1</a></li>
9097 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009098 </td>
9099
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009100 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009101
9102
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009103 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9104 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009105
9106
9107 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009108 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009109 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009110 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009112 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009113
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009114 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009115
9116 <ul class="entry_type_enum">
9117 <li>
9118 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009119 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9120for application-bound buffer data.<wbr/> If no
9121application-bound streams exist,<wbr/> no frame should be
9122placed in the output frame queue.<wbr/> If such streams
9123exist,<wbr/> a frame should be placed on the output queue
9124with null metadata but with the necessary output buffer
9125information.<wbr/> Timestamp information should still be
9126included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009127 </li>
9128 <li>
9129 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009130 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9131only be produced if they are separately
9132enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009133 </li>
9134 </ul>
9135
9136 </td> <!-- entry_type -->
9137
9138 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009139 <p>How much metadata to produce on
9140output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009141 </td>
9142
9143 <td class="entry_units">
9144 </td>
9145
9146 <td class="entry_range">
9147 </td>
9148
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009149 <td class="entry_tags">
9150 </td>
9151
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009152 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009153
9154
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009155 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9156 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009157
9158
9159 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009160 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009161 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009162 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009163 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009164 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009165 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009166
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009167 <span class="entry_type_array">
9168 n
9169 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009170 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009171
9172
9173 </td> <!-- entry_type -->
9174
9175 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009176 <p>Lists which camera output streams image data
9177from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009178 </td>
9179
9180 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009181 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009182 </td>
9183
9184 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009185 <p>List must only include streams that have been
9186created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009187 </td>
9188
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009189 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009190 <ul class="entry_tags">
9191 <li><a href="#tag_HAL2">HAL2</a></li>
9192 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009193 </td>
9194
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009195 </tr>
9196 <tr class="entries_header">
9197 <th class="th_details" colspan="5">Details</th>
9198 </tr>
9199 <tr class="entry_cont">
9200 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009201 <p>If no output streams are listed,<wbr/> then the image
9202data should simply be discarded.<wbr/> The image data must
9203still be captured for metadata and statistics production,<wbr/>
9204and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009205 </td>
9206 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009207
9208
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009209 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9210 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009211
9212
9213
9214 <!-- end of kind -->
9215 </tbody>
9216
9217 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009218 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009219
9220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009221 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009222
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009223 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009224 <tr>
9225 <th class="th_name">Property Name</th>
9226 <th class="th_type">Type</th>
9227 <th class="th_description">Description</th>
9228 <th class="th_units">Units</th>
9229 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009230 <th class="th_tags">Tags</th>
9231 </tr>
9232 </thead>
9233
9234 <tbody>
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009246 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009247 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009248 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009250 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009251 <span class="entry_type_container">x</span>
9252
9253 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009254 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009255 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009256 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009257
9258
9259 </td> <!-- entry_type -->
9260
9261 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009262 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9263<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9264(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9265output.<wbr/> Each stream must use this rectangle to produce its
9266output,<wbr/> cropping to a smaller region if necessary to
9267maintain the stream's aspect ratio.<wbr/></p>
9268<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009269 </td>
9270
9271 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009272 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9273 in pixels; (0,<wbr/>0) is top-left corner of
9274 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009275 </td>
9276
9277 <td class="entry_range">
9278 </td>
9279
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009280 <td class="entry_tags">
9281 <ul class="entry_tags">
9282 <li><a href="#tag_BC">BC</a></li>
9283 </ul>
9284 </td>
9285
9286 </tr>
9287 <tr class="entries_header">
9288 <th class="th_details" colspan="5">Details</th>
9289 </tr>
9290 <tr class="entry_cont">
9291 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009292 <p>Any additional per-stream cropping must be done to
9293maximize the final pixel area of the stream.<wbr/></p>
9294<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9295ratio,<wbr/> then 4:3 streams should use the exact crop
9296region.<wbr/> 16:9 streams should further crop vertically
9297(letterbox).<wbr/></p>
9298<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9299outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9300streams should match exactly.<wbr/> These additional crops must
9301be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009302<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009303times,<wbr/> no matter what the relative aspect ratios of the
9304crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009305corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009306larger than active pixel array.<wbr/> Width and height may be
9307rounded to nearest larger supportable width,<wbr/> especially
9308for raw output,<wbr/> where only a few fixed scales may be
9309possible.<wbr/> The width and height of the crop region cannot
9310be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9311android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9312activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9313respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009314 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009315 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009316
9317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009318 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9319 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009320
9321
9322
9323 <!-- end of kind -->
9324 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009325 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009326
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009327 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009328 <tr>
9329 <th class="th_name">Property Name</th>
9330 <th class="th_type">Type</th>
9331 <th class="th_description">Description</th>
9332 <th class="th_units">Units</th>
9333 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009334 <th class="th_tags">Tags</th>
9335 </tr>
9336 </thead>
9337
9338 <tbody>
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009350 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009351 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009352 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009353 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009354 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009355 <span class="entry_type_container">x</span>
9356
9357 <span class="entry_type_array">
9358 n
9359 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009360 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009361
9362 <ul class="entry_type_enum">
9363 <li>
9364 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009365 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009366 <span class="entry_type_enum_value">0x20</span>
9367 </li>
9368 <li>
9369 <span class="entry_type_enum_name">YV12</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">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009372 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009373 </li>
9374 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009375 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009376 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009377 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009378 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009379 </li>
9380 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009381 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9382 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009383 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009384 </li>
9385 <li>
9386 <span class="entry_type_enum_name">YCbCr_420_888</span>
9387 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009388 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009389 </li>
9390 <li>
9391 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009392 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009393 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009394 </li>
9395 </ul>
9396
9397 </td> <!-- entry_type -->
9398
9399 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009400 <p>The list of image formats that are supported by this
9401camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009402 </td>
9403
9404 <td class="entry_units">
9405 </td>
9406
9407 <td class="entry_range">
9408 </td>
9409
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009410 <td class="entry_tags">
9411 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009412 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009413 </ul>
9414 </td>
9415
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009416 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009417 <tr class="entries_header">
9418 <th class="th_details" colspan="5">Details</th>
9419 </tr>
9420 <tr class="entry_cont">
9421 <td class="entry_details" colspan="5">
9422 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9423<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9424 </td>
9425 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009426
Zhijun Heb8317e22014-01-16 09:47:07 -08009427 <tr class="entries_header">
9428 <th class="th_details" colspan="5">HAL Implementation Details</th>
9429 </tr>
9430 <tr class="entry_cont">
9431 <td class="entry_details" colspan="5">
9432 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9433system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9434<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9435gralloc module will select a format based on the usage flags provided
9436by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9437usually used by preview and recording streams,<wbr/> where the application doesn't
9438need access the image data.<wbr/></p>
9439<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9440needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9441<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9442 </td>
9443 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009444
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009445 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9446 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009447
9448
9449 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009450 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009451 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009452 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009453 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009454 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009455 <span class="entry_type_container">x</span>
9456
9457 <span class="entry_type_array">
9458 n
9459 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009460 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009461
9462
9463 </td> <!-- entry_type -->
9464
9465 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009466 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009467for 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 -08009468 </td>
9469
9470 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009471 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009472 </td>
9473
9474 <td class="entry_range">
9475 </td>
9476
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009477 <td class="entry_tags">
9478 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009479 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009480 </ul>
9481 </td>
9482
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009483 </tr>
9484 <tr class="entries_header">
9485 <th class="th_details" colspan="5">Details</th>
9486 </tr>
9487 <tr class="entry_cont">
9488 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009489 <p>This corresponds to the minimum steady-state frame duration when only
9490that JPEG stream is active and captured in a burst,<wbr/> with all
9491processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9492<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009493frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009494durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009495 </td>
9496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009497
9498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009501
9502
9503 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009504 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009505 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009508 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009509 <span class="entry_type_container">x</span>
9510
9511 <span class="entry_type_array">
9512 n x 2
9513 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009514 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009515
9516
9517 </td> <!-- entry_type -->
9518
9519 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009520 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009521 </td>
9522
9523 <td class="entry_units">
9524 </td>
9525
9526 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009527 </td>
9528
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009529 <td class="entry_tags">
9530 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009531 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009532 </ul>
9533 </td>
9534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009535 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009536 <tr class="entries_header">
9537 <th class="th_details" colspan="5">Details</th>
9538 </tr>
9539 <tr class="entry_cont">
9540 <td class="entry_details" colspan="5">
9541 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9542sensor 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>
9543 </td>
9544 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009545
Zhijun Heb8317e22014-01-16 09:47:07 -08009546 <tr class="entries_header">
9547 <th class="th_details" colspan="5">HAL Implementation Details</th>
9548 </tr>
9549 <tr class="entry_cont">
9550 <td class="entry_details" colspan="5">
9551 <p>The HAL must include sensor maximum resolution
9552(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9553and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9554 </td>
9555 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009556
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009557 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9558 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009559
9560
9561 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009562 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009563 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009564 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009565 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009566 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009567
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009568 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009569
9570
9571 </td> <!-- entry_type -->
9572
9573 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009574 <p>The maximum ratio between active area width
9575and crop region width,<wbr/> or between active area height and
9576crop region height,<wbr/> if the crop region height is larger
9577than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009578 </td>
9579
9580 <td class="entry_units">
9581 </td>
9582
9583 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009584 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009585 </td>
9586
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009587 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009588 <ul class="entry_tags">
9589 <li><a href="#tag_BC">BC</a></li>
9590 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009591 </td>
9592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009593 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009594
9595
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009596 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9597 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009598
9599
9600 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009601 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009602 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009603 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009604 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009605 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009606 <span class="entry_type_container">x</span>
9607
9608 <span class="entry_type_array">
9609 n
9610 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009611 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009612
9613
9614 </td> <!-- entry_type -->
9615
9616 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009617 <p>For each available processed output size (defined in
9618<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9619minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009620 </td>
9621
9622 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009623 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009624 </td>
9625
9626 <td class="entry_range">
9627 </td>
9628
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009629 <td class="entry_tags">
9630 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009631 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009632 </ul>
9633 </td>
9634
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009635 </tr>
9636 <tr class="entries_header">
9637 <th class="th_details" colspan="5">Details</th>
9638 </tr>
9639 <tr class="entry_cont">
9640 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009641 <p>This should correspond to the frame duration when only that processed
9642stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9643set to FAST.<wbr/></p>
9644<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9645be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009646 </td>
9647 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009648
9649
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009650 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9651 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009652
9653
9654 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009655 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009656 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009657 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009658 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009659 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009660 <span class="entry_type_container">x</span>
9661
9662 <span class="entry_type_array">
9663 n x 2
9664 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009665 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009666
9667
9668 </td> <!-- entry_type -->
9669
9670 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009671 <p>The resolutions available for use with
9672processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9673platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009674encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009675 </td>
9676
9677 <td class="entry_units">
9678 </td>
9679
9680 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009681 </td>
9682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009683 <td class="entry_tags">
9684 <ul class="entry_tags">
9685 <li><a href="#tag_BC">BC</a></li>
9686 </ul>
9687 </td>
9688
9689 </tr>
9690 <tr class="entries_header">
9691 <th class="th_details" colspan="5">Details</th>
9692 </tr>
9693 <tr class="entry_cont">
9694 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009695 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9696<p>For a given use case,<wbr/> the actual maximum supported resolution
9697may be lower than what is listed here,<wbr/> depending on the destination
9698Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9699the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9700smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9701can provide.<wbr/></p>
9702<p>Please reference the documentation for the image data destination to
9703check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009704 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009705 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009706
Zhijun Heb8317e22014-01-16 09:47:07 -08009707 <tr class="entries_header">
9708 <th class="th_details" colspan="5">HAL Implementation Details</th>
9709 </tr>
9710 <tr class="entry_cont">
9711 <td class="entry_details" colspan="5">
9712 <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/>
9713the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9714and each below resolution if it is smaller than or equal to the sensor
9715maximum resolution (if they are not listed in JPEG sizes already):</p>
9716<ul>
9717<li>240p (320 x 240)</li>
9718<li>480p (640 x 480)</li>
9719<li>720p (1280 x 720)</li>
9720<li>1080p (1920 x 1080)</li>
9721</ul>
9722<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/>
9723the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9724 </td>
9725 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009726
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009727 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9728 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009729
9730
9731 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009732 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009733 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009734 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009735 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009736 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009737 <span class="entry_type_container">x</span>
9738
9739 <span class="entry_type_array">
9740 n
9741 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009742 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009743
9744
9745 </td> <!-- entry_type -->
9746
9747 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009748 <p>For each available processed output size (defined in
9749<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9750supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009751 </td>
9752
9753 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009754 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009755 </td>
9756
9757 <td class="entry_range">
9758 </td>
9759
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009760 <td class="entry_tags">
9761 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009762 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009763 </ul>
9764 </td>
9765
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009766 </tr>
9767 <tr class="entries_header">
9768 <th class="th_details" colspan="5">Details</th>
9769 </tr>
9770 <tr class="entry_cont">
9771 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009772 <p>Should correspond to the frame duration when only the raw stream is
9773active.<wbr/></p>
9774<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009775frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009776durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009777 </td>
9778 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009779
9780
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009781 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9782 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009783
9784
9785 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009786 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009787 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009788 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009789 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009790 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009791 <span class="entry_type_container">x</span>
9792
9793 <span class="entry_type_array">
9794 n x 2
9795 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009796 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009797
9798
9799 </td> <!-- entry_type -->
9800
9801 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009802 <p>The resolutions available for use with raw
9803sensor output streams,<wbr/> listed as width,<wbr/>
9804height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009805 </td>
9806
9807 <td class="entry_units">
9808 </td>
9809
9810 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009811 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009812 </td>
9813
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009814 <td class="entry_tags">
9815 </td>
9816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009817 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009818
9819
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009820 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9821 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009822
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009823
9824
9825 <!-- end of kind -->
9826 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009827 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009828
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009829 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009830 <tr>
9831 <th class="th_name">Property Name</th>
9832 <th class="th_type">Type</th>
9833 <th class="th_description">Description</th>
9834 <th class="th_units">Units</th>
9835 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009836 <th class="th_tags">Tags</th>
9837 </tr>
9838 </thead>
9839
9840 <tbody>
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009852 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009853 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009854 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009855 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009856 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009857 <span class="entry_type_container">x</span>
9858
9859 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009860 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009861 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009862 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009863
9864
9865 </td> <!-- entry_type -->
9866
9867 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009868 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9869<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9870(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9871output.<wbr/> Each stream must use this rectangle to produce its
9872output,<wbr/> cropping to a smaller region if necessary to
9873maintain the stream's aspect ratio.<wbr/></p>
9874<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009875 </td>
9876
9877 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009878 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9879 in pixels; (0,<wbr/>0) is top-left corner of
9880 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009881 </td>
9882
9883 <td class="entry_range">
9884 </td>
9885
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009886 <td class="entry_tags">
9887 <ul class="entry_tags">
9888 <li><a href="#tag_BC">BC</a></li>
9889 </ul>
9890 </td>
9891
9892 </tr>
9893 <tr class="entries_header">
9894 <th class="th_details" colspan="5">Details</th>
9895 </tr>
9896 <tr class="entry_cont">
9897 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009898 <p>Any additional per-stream cropping must be done to
9899maximize the final pixel area of the stream.<wbr/></p>
9900<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9901ratio,<wbr/> then 4:3 streams should use the exact crop
9902region.<wbr/> 16:9 streams should further crop vertically
9903(letterbox).<wbr/></p>
9904<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9905outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9906streams should match exactly.<wbr/> These additional crops must
9907be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009908<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009909times,<wbr/> no matter what the relative aspect ratios of the
9910crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009911corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009912larger than active pixel array.<wbr/> Width and height may be
9913rounded to nearest larger supportable width,<wbr/> especially
9914for raw output,<wbr/> where only a few fixed scales may be
9915possible.<wbr/> The width and height of the crop region cannot
9916be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9917android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9918activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9919respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009920 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009921 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009922
9923
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009924 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9925 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009926
9927
9928
9929 <!-- end of kind -->
9930 </tbody>
9931
9932 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009933 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009934
9935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009936 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009937
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009938 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009939 <tr>
9940 <th class="th_name">Property Name</th>
9941 <th class="th_type">Type</th>
9942 <th class="th_description">Description</th>
9943 <th class="th_units">Units</th>
9944 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009945 <th class="th_tags">Tags</th>
9946 </tr>
9947 </thead>
9948
9949 <tbody>
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009961 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009962 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009963 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009964 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009965 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009966
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009967 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009968
9969
9970 </td> <!-- entry_type -->
9971
9972 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009973 <p>Duration each pixel is exposed to
9974light.<wbr/></p>
9975<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
9976duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009977 </td>
9978
9979 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009980 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009981 </td>
9982
9983 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009984 <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 -08009985 </td>
9986
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009987 <td class="entry_tags">
9988 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009989 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009990 </ul>
9991 </td>
9992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009993 </tr>
9994 <tr class="entries_header">
9995 <th class="th_details" colspan="5">Details</th>
9996 </tr>
9997 <tr class="entry_cont">
9998 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009999 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010000 </td>
10001 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010002
10003
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010004 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10005 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010006
10007
10008 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010009 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010010 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010011 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010012 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010013 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010014
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010015 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010016
10017
10018 </td> <!-- entry_type -->
10019
10020 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010021 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010022start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010023 </td>
10024
10025 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010026 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010027 </td>
10028
10029 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010030 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10031android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10032is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010033 </td>
10034
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010035 <td class="entry_tags">
10036 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010037 <li><a href="#tag_V1">V1</a></li>
10038 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010039 </ul>
10040 </td>
10041
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010042 </tr>
10043 <tr class="entries_header">
10044 <th class="th_details" colspan="5">Details</th>
10045 </tr>
10046 <tr class="entry_cont">
10047 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010048 <p>The maximum frame rate that can be supported by a camera subsystem is
10049a function of many factors:</p>
10050<ul>
10051<li>Requested resolutions of output image streams</li>
10052<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10053<li>The bandwidth of the imager interface</li>
10054<li>The bandwidth of the various ISP processing blocks</li>
10055</ul>
10056<p>Since these factors can vary greatly between different ISPs and
10057sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10058restrictions with as simple a model as possible.<wbr/></p>
10059<p>The model presented has the following characteristics:</p>
10060<ul>
10061<li>The image sensor is always configured to output the smallest
10062resolution possible given the application's requested output stream
10063sizes.<wbr/> The smallest resolution is defined as being at least as large
10064as the largest requested output stream size; the camera pipeline must
10065never digitally upsample sensor data when the crop region covers the
10066whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10067resolutions are configured,<wbr/> the sensor can provide a higher frame
10068rate.<wbr/></li>
10069<li>Since any request may use any or all the currently configured
10070output streams,<wbr/> the sensor and ISP must be configured to support
10071scaling a single capture to all the streams at the same time.<wbr/> This
10072means the camera pipeline must be ready to produce the largest
10073requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10074frame rate of a given configured stream set is governed only by the
10075largest requested stream resolution.<wbr/></li>
10076<li>Using more than one output stream in a request does not affect the
10077frame duration.<wbr/></li>
10078<li>JPEG streams act like processed YUV streams in requests for which
10079they are not included; in requests in which they are directly
10080referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10081JPEG stream requires the underlying YUV data to always be ready for
10082use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10083frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10084<li>The JPEG processor can run concurrently to the rest of the camera
10085pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10086</ul>
10087<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10088is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10089These are used to determine the maximum frame rate /<wbr/> minimum frame
10090duration that is possible for a given stream configuration.<wbr/></p>
10091<p>Specifically,<wbr/> the application can use the following rules to
10092determine the minimum frame duration it can request from the HAL
10093device:</p>
10094<ol>
10095<li>Given the application's currently configured set of output
10096streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10097<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10098<code>SP</code>.<wbr/></li>
10099<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10100count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10101<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10102<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
10103no exact match for <code>RP == RJ</code> (in particular there isn't an available
10104processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10105to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10106there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10107the processed resolution closest to <code>RJ</code>.<wbr/></li>
10108<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
10109no exact match for <code>RR == RP</code> (in particular there isn't an available
10110raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10111or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10112there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10113the raw resolution closest to <code>RP</code>.<wbr/></li>
10114<li>Look up the matching minimum frame durations in the property lists
10115<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10116<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10117<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10118minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10119<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10120supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10121<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10122supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10123<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10124the application,<wbr/> then the HAL will have to delay JPEG-using requests
10125whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10126This will happen whenever a JPEG-using request starts capture less
10127than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10128supported frame duration will vary between the values calculated in
10129#6 and #7.<wbr/></li>
10130</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010131 </td>
10132 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010133
10134
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010135 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10136 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010137
10138
10139 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010140 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010141 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010142 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010143 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010144 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010145
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010146 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010147
10148
10149 </td> <!-- entry_type -->
10150
10151 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010152 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010153implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010154below 'maximum analog sensitivity'.<wbr/></p>
10155<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10156gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010157 </td>
10158
10159 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010160 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010161 </td>
10162
10163 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010164 <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 -080010165 </td>
10166
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010167 <td class="entry_tags">
10168 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010169 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010170 </ul>
10171 </td>
10172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010173 </tr>
10174 <tr class="entries_header">
10175 <th class="th_details" colspan="5">Details</th>
10176 </tr>
10177 <tr class="entry_cont">
10178 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010179 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010180 </td>
10181 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010182
10183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010184 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10185 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010186
10187
10188
10189 <!-- end of kind -->
10190 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010191 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010192
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010193 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010194 <tr>
10195 <th class="th_name">Property Name</th>
10196 <th class="th_type">Type</th>
10197 <th class="th_description">Description</th>
10198 <th class="th_units">Units</th>
10199 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010200 <th class="th_tags">Tags</th>
10201 </tr>
10202 </thead>
10203
10204 <tbody>
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010218 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010219 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010222 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010223 <span class="entry_type_container">x</span>
10224
10225 <span class="entry_type_array">
10226 4
10227 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010228 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010229 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010230
10231
10232 </td> <!-- entry_type -->
10233
10234 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010235 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010236active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010237pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010238 </td>
10239
10240 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010241 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10242 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010243 </td>
10244
10245 <td class="entry_range">
10246 </td>
10247
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010248 <td class="entry_tags">
10249 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010250 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010251 </ul>
10252 </td>
10253
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010254 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010255
10256
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010257 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10258 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010259
10260
Zhijun He69fc0ea2013-07-17 09:42:58 -070010261 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010262 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010263 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010264 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010265 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010266 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010267 <span class="entry_type_container">x</span>
10268
10269 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010270 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010271 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010272 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010273 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010274
10275
10276 </td> <!-- entry_type -->
10277
10278 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010279 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010280 </td>
10281
10282 <td class="entry_units">
10283 </td>
10284
10285 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010286 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010287 </td>
10288
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010289 <td class="entry_tags">
10290 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010291 <li><a href="#tag_BC">BC</a></li>
10292 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010293 </ul>
10294 </td>
10295
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010296 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010297
10298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010299 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10300 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010301
10302
10303 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010304 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010305 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010306 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010307 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010308 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010309
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010310 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010311
10312 <ul class="entry_type_enum">
10313 <li>
10314 <span class="entry_type_enum_name">RGGB</span>
10315 </li>
10316 <li>
10317 <span class="entry_type_enum_name">GRBG</span>
10318 </li>
10319 <li>
10320 <span class="entry_type_enum_name">GBRG</span>
10321 </li>
10322 <li>
10323 <span class="entry_type_enum_name">BGGR</span>
10324 </li>
10325 <li>
10326 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010327 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10328values for each pixel,<wbr/> instead of just 1 16-bit value
10329per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010330 </li>
10331 </ul>
10332
10333 </td> <!-- entry_type -->
10334
10335 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010336 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010337represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010338the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010339 </td>
10340
10341 <td class="entry_units">
10342 </td>
10343
10344 <td class="entry_range">
10345 </td>
10346
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010347 <td class="entry_tags">
10348 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010349 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010350 </ul>
10351 </td>
10352
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010353 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010354
10355
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010356 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10357 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010358
10359
10360 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010361 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010362 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010363 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010364 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010365 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010366 <span class="entry_type_container">x</span>
10367
10368 <span class="entry_type_array">
10369 2
10370 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010371 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010372 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010373
10374
10375 </td> <!-- entry_type -->
10376
10377 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010378 <p>Range of valid exposure
10379times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010380 </td>
10381
10382 <td class="entry_units">
10383 </td>
10384
10385 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010386 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10387sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010388 </td>
10389
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010390 <td class="entry_tags">
10391 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010392 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010393 </ul>
10394 </td>
10395
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010396 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010397
10398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010399 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10400 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010401
10402
10403 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010404 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010405 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010406 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010407 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010408 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010409
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010410 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010411
10412
10413 </td> <!-- entry_type -->
10414
10415 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010416 <p>Maximum possible frame duration (minimum frame
10417rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010418 </td>
10419
10420 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010421 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010422 </td>
10423
10424 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010425 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010426 </td>
10427
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010428 <td class="entry_tags">
10429 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010430 <li><a href="#tag_BC">BC</a></li>
10431 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010432 </ul>
10433 </td>
10434
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010435 </tr>
10436 <tr class="entries_header">
10437 <th class="th_details" colspan="5">Details</th>
10438 </tr>
10439 <tr class="entry_cont">
10440 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010441 <p>Minimum duration is a function of resolution,<wbr/>
10442processing settings.<wbr/> See
10443android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10444android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010445<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 -080010446 </td>
10447 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010448
10449
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010450 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10451 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010452
10453
10454 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010455 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010456 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010457 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010459 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010460 <span class="entry_type_container">x</span>
10461
10462 <span class="entry_type_array">
10463 2
10464 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010465 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010466 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010467
10468
10469 </td> <!-- entry_type -->
10470
10471 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010472 <p>The physical dimensions of the full pixel
10473array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010474 </td>
10475
10476 <td class="entry_units">
10477 </td>
10478
10479 <td class="entry_range">
10480 </td>
10481
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010482 <td class="entry_tags">
10483 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010484 <li><a href="#tag_V1">V1</a></li>
10485 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010486 </ul>
10487 </td>
10488
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010489 </tr>
10490 <tr class="entries_header">
10491 <th class="th_details" colspan="5">Details</th>
10492 </tr>
10493 <tr class="entry_cont">
10494 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010495 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010496 </td>
10497 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010498
10499
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010500 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10501 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010502
10503
10504 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010505 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010506 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010507 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010508 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010509 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010510 <span class="entry_type_container">x</span>
10511
10512 <span class="entry_type_array">
10513 2
10514 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010515 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010516
10517
10518 </td> <!-- entry_type -->
10519
10520 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010521 <p>Dimensions of full pixel array,<wbr/> possibly
10522including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010523 </td>
10524
10525 <td class="entry_units">
10526 </td>
10527
10528 <td class="entry_range">
10529 </td>
10530
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010531 <td class="entry_tags">
10532 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010533 <li><a href="#tag_DNG">DNG</a></li>
10534 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010535 </ul>
10536 </td>
10537
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010538 </tr>
10539 <tr class="entries_header">
10540 <th class="th_details" colspan="5">Details</th>
10541 </tr>
10542 <tr class="entry_cont">
10543 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010544 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010545match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010546android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010547 </td>
10548 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010549
10550
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010551 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10552 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010553
10554
10555 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010556 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010557 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010558 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010559 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010560 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010561
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010562 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010563
10564
10565 </td> <!-- entry_type -->
10566
10567 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010568 <p>Maximum raw value output by
10569sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010570 </td>
10571
10572 <td class="entry_units">
10573 </td>
10574
10575 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010576 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010577 </td>
10578
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010579 <td class="entry_tags">
10580 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010581 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010582 </ul>
10583 </td>
10584
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010585 </tr>
10586 <tr class="entries_header">
10587 <th class="th_details" colspan="5">Details</th>
10588 </tr>
10589 <tr class="entry_cont">
10590 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010591 <p>Defines sensor bit depth (10-14 bits is
10592expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010593 </td>
10594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010595
10596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10598 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010599
10600
10601
10602
10603
10604 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010605 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010606 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010607 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010608 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010609 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010610
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010611 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010612
10613
10614 </td> <!-- entry_type -->
10615
10616 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010617 <p>Gain factor from electrons to raw units when
10618ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010619 </td>
10620
10621 <td class="entry_units">
10622 </td>
10623
10624 <td class="entry_range">
10625 </td>
10626
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010627 <td class="entry_tags">
10628 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010629 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010630 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010631 </ul>
10632 </td>
10633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010634 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010635
10636
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010637 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10638 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010639
10640
10641 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010642 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010643 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010644 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010645 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010646 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010647 <span class="entry_type_container">x</span>
10648
10649 <span class="entry_type_array">
10650 4
10651 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010652 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010653 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010654
10655
10656 </td> <!-- entry_type -->
10657
10658 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010659 <p>A fixed black level offset for each of the
10660Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010661 </td>
10662
10663 <td class="entry_units">
10664 </td>
10665
10666 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010667 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010668 </td>
10669
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010670 <td class="entry_tags">
10671 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010672 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010673 </ul>
10674 </td>
10675
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010676 </tr>
10677 <tr class="entries_header">
10678 <th class="th_details" colspan="5">Details</th>
10679 </tr>
10680 <tr class="entry_cont">
10681 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010682 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10683tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010684 </td>
10685 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010686
10687
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010688 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10689 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010690
10691
10692 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010693 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010694 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010695 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010696 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010697 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010698 <span class="entry_type_container">x</span>
10699
10700 <span class="entry_type_array">
10701 9
10702 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010703 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010704 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010705
10706
10707 </td> <!-- entry_type -->
10708
10709 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010710 <p>Per-device calibration on top of color space
10711transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010712 </td>
10713
10714 <td class="entry_units">
10715 </td>
10716
10717 <td class="entry_range">
10718 </td>
10719
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010720 <td class="entry_tags">
10721 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010722 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010723 </ul>
10724 </td>
10725
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010726 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010727
10728
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010729 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10730 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010731
10732
10733 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010734 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010735 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010736 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010737 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010738 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010739 <span class="entry_type_container">x</span>
10740
10741 <span class="entry_type_array">
10742 9
10743 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010744 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010745 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010746
10747
10748 </td> <!-- entry_type -->
10749
10750 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010751 <p>Per-device calibration on top of color space
10752transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010753 </td>
10754
10755 <td class="entry_units">
10756 </td>
10757
10758 <td class="entry_range">
10759 </td>
10760
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010761 <td class="entry_tags">
10762 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010763 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010764 </ul>
10765 </td>
10766
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010767 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010768
10769
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010770 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10771 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010772
10773
10774 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010775 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010776 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010777 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010778 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010779 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010780 <span class="entry_type_container">x</span>
10781
10782 <span class="entry_type_array">
10783 9
10784 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010785 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010786 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010787
10788
10789 </td> <!-- entry_type -->
10790
10791 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010792 <p>Linear mapping from XYZ (D50) color space to
10793reference linear sensor color,<wbr/> for first reference
10794illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010795 </td>
10796
10797 <td class="entry_units">
10798 </td>
10799
10800 <td class="entry_range">
10801 </td>
10802
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010803 <td class="entry_tags">
10804 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010805 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010806 </ul>
10807 </td>
10808
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010809 </tr>
10810 <tr class="entries_header">
10811 <th class="th_details" colspan="5">Details</th>
10812 </tr>
10813 <tr class="entry_cont">
10814 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010815 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10816black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10817At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010818 </td>
10819 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010820
10821
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010822 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10823 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010824
10825
10826 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010827 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010828 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010829 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010830 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010831 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010832 <span class="entry_type_container">x</span>
10833
10834 <span class="entry_type_array">
10835 9
10836 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010837 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010838 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010839
10840
10841 </td> <!-- entry_type -->
10842
10843 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010844 <p>Linear mapping from XYZ (D50) color space to
10845reference linear sensor color,<wbr/> for second reference
10846illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010847 </td>
10848
10849 <td class="entry_units">
10850 </td>
10851
10852 <td class="entry_range">
10853 </td>
10854
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010855 <td class="entry_tags">
10856 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010857 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010858 </ul>
10859 </td>
10860
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010861 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010862
10863
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010864 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10865 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010866
10867
10868 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010869 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010870 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010871 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010872 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010873 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010874 <span class="entry_type_container">x</span>
10875
10876 <span class="entry_type_array">
10877 9
10878 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010879 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010880 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010881
10882
10883 </td> <!-- entry_type -->
10884
10885 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010886 <p>Used by DNG for better WB
10887adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010888 </td>
10889
10890 <td class="entry_units">
10891 </td>
10892
10893 <td class="entry_range">
10894 </td>
10895
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010896 <td class="entry_tags">
10897 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010898 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010899 </ul>
10900 </td>
10901
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010902 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010903
10904
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010905 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10906 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010907
10908
10909 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010910 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010911 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010912 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010914 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010915 <span class="entry_type_container">x</span>
10916
10917 <span class="entry_type_array">
10918 9
10919 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010920 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010921 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010922
10923
10924 </td> <!-- entry_type -->
10925
10926 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010927 <p>Used by DNG for better WB
10928adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010929 </td>
10930
10931 <td class="entry_units">
10932 </td>
10933
10934 <td class="entry_range">
10935 </td>
10936
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010937 <td class="entry_tags">
10938 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010939 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010940 </ul>
10941 </td>
10942
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010943 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010944
10945
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010946 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10947 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010948
10949
10950 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010951 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010952 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010953 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010955 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010957 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010958
10959
10960 </td> <!-- entry_type -->
10961
10962 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010963 <p>Maximum sensitivity that is implemented
10964purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010965 </td>
10966
10967 <td class="entry_units">
10968 </td>
10969
10970 <td class="entry_range">
10971 </td>
10972
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010973 <td class="entry_tags">
10974 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010975 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010976 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010977 </ul>
10978 </td>
10979
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010980 </tr>
10981 <tr class="entries_header">
10982 <th class="th_details" colspan="5">Details</th>
10983 </tr>
10984 <tr class="entry_cont">
10985 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010986 <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 -080010987equal to this,<wbr/> all applied gain must be analog.<wbr/> For
10988values above this,<wbr/> it can be a mix of analog and
10989digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010990 </td>
10991 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010992
10993
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010994 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10995 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010996
10997
10998 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010999 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011000 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011001 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011002 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011003 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011004 <span class="entry_type_container">x</span>
11005
11006 <span class="entry_type_array">
11007 2
11008 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011009 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011010 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011011
11012
11013 </td> <!-- entry_type -->
11014
11015 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011016 <p>Estimation of sensor noise
11017characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011018 </td>
11019
11020 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011021 var(raw pixel value) = electrons * (baseGainFactor
11022 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
11023 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011024 </td>
11025
11026 <td class="entry_range">
11027 </td>
11028
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011029 <td class="entry_tags">
11030 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011031 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011032 </ul>
11033 </td>
11034
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011035 </tr>
11036 <tr class="entries_header">
11037 <th class="th_details" colspan="5">Details</th>
11038 </tr>
11039 <tr class="entry_cont">
11040 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011041 <p>A represents sensor read noise before analog
11042amplification; B represents noise from A/<wbr/>D conversion and
11043other circuits after amplification.<wbr/> Both noise sources
11044are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11045across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011046 </td>
11047 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011048
11049
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011050 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11051 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011052
11053
11054 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011055 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011056 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011057 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011058 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011059 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011060
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011061 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011062
11063
11064 </td> <!-- entry_type -->
11065
11066 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011067 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011068image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011069screen in its native orientation.<wbr/> Also defines the
11070direction of rolling shutter readout,<wbr/> which is from top
11071to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011072 </td>
11073
11074 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011075 degrees clockwise rotation,<wbr/> only multiples of
11076 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011077 </td>
11078
11079 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011080 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011081 </td>
11082
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011083 <td class="entry_tags">
11084 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011085 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011086 </ul>
11087 </td>
11088
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011089 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011090
11091
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011092 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11093 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011094
11095
11096 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011097 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011098 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011099 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011100 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011101 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011102
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011103 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011104
11105 <ul class="entry_type_enum">
11106 <li>
11107 <span class="entry_type_enum_name">DAYLIGHT</span>
11108 <span class="entry_type_enum_value">1</span>
11109 </li>
11110 <li>
11111 <span class="entry_type_enum_name">FLUORESCENT</span>
11112 <span class="entry_type_enum_value">2</span>
11113 </li>
11114 <li>
11115 <span class="entry_type_enum_name">TUNGSTEN</span>
11116 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011117 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011118 </li>
11119 <li>
11120 <span class="entry_type_enum_name">FLASH</span>
11121 <span class="entry_type_enum_value">4</span>
11122 </li>
11123 <li>
11124 <span class="entry_type_enum_name">FINE_WEATHER</span>
11125 <span class="entry_type_enum_value">9</span>
11126 </li>
11127 <li>
11128 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11129 <span class="entry_type_enum_value">10</span>
11130 </li>
11131 <li>
11132 <span class="entry_type_enum_name">SHADE</span>
11133 <span class="entry_type_enum_value">11</span>
11134 </li>
11135 <li>
11136 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11137 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011138 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011139 </li>
11140 <li>
11141 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11142 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011143 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011144 </li>
11145 <li>
11146 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11147 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011148 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011149 </li>
11150 <li>
11151 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11152 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011153 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011154 </li>
11155 <li>
11156 <span class="entry_type_enum_name">STANDARD_A</span>
11157 <span class="entry_type_enum_value">17</span>
11158 </li>
11159 <li>
11160 <span class="entry_type_enum_name">STANDARD_B</span>
11161 <span class="entry_type_enum_value">18</span>
11162 </li>
11163 <li>
11164 <span class="entry_type_enum_name">STANDARD_C</span>
11165 <span class="entry_type_enum_value">19</span>
11166 </li>
11167 <li>
11168 <span class="entry_type_enum_name">D55</span>
11169 <span class="entry_type_enum_value">20</span>
11170 </li>
11171 <li>
11172 <span class="entry_type_enum_name">D65</span>
11173 <span class="entry_type_enum_value">21</span>
11174 </li>
11175 <li>
11176 <span class="entry_type_enum_name">D75</span>
11177 <span class="entry_type_enum_value">22</span>
11178 </li>
11179 <li>
11180 <span class="entry_type_enum_name">D50</span>
11181 <span class="entry_type_enum_value">23</span>
11182 </li>
11183 <li>
11184 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11185 <span class="entry_type_enum_value">24</span>
11186 </li>
11187 </ul>
11188
11189 </td> <!-- entry_type -->
11190
11191 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011192 <p>Light source used to define transform
111931</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011194 </td>
11195
11196 <td class="entry_units">
11197 </td>
11198
11199 <td class="entry_range">
11200 </td>
11201
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011202 <td class="entry_tags">
11203 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011204 <li><a href="#tag_DNG">DNG</a></li>
11205 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011206 </ul>
11207 </td>
11208
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011209 </tr>
11210 <tr class="entries_header">
11211 <th class="th_details" colspan="5">Details</th>
11212 </tr>
11213 <tr class="entry_cont">
11214 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011215 <p>[EXIF LightSource tag] Must all these be
11216supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011217 </td>
11218 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011219
11220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011221 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11222 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011223
11224
11225 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011226 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011227 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011228 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011229 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011230 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011231
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011232 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011233
11234
11235 </td> <!-- entry_type -->
11236
11237 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011238 <p>Light source used to define transform
112392</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011240 </td>
11241
11242 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011243 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011244 </td>
11245
11246 <td class="entry_range">
11247 </td>
11248
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011249 <td class="entry_tags">
11250 </td>
11251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011252 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011253
11254
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011255 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11256 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011257
11258
11259
11260 <!-- end of kind -->
11261 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011262 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011263
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011264 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011265 <tr>
11266 <th class="th_name">Property Name</th>
11267 <th class="th_type">Type</th>
11268 <th class="th_description">Description</th>
11269 <th class="th_units">Units</th>
11270 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011271 <th class="th_tags">Tags</th>
11272 </tr>
11273 </thead>
11274
11275 <tbody>
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011287 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011288 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011289 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011290 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011291 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011292
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011293 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011294
11295
11296 </td> <!-- entry_type -->
11297
11298 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011299 <p>Duration each pixel is exposed to
11300light.<wbr/></p>
11301<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11302duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011303 </td>
11304
11305 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011306 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011307 </td>
11308
11309 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011310 <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 -080011311 </td>
11312
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011313 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011314 <ul class="entry_tags">
11315 <li><a href="#tag_V1">V1</a></li>
11316 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011317 </td>
11318
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011319 </tr>
11320 <tr class="entries_header">
11321 <th class="th_details" colspan="5">Details</th>
11322 </tr>
11323 <tr class="entry_cont">
11324 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011325 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011326 </td>
11327 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011328
11329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011330 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11331 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011332
11333
11334 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011335 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011336 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011337 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011338 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011339 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011340
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011341 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011342
11343
11344 </td> <!-- entry_type -->
11345
11346 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011347 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011348start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011349 </td>
11350
11351 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011352 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011353 </td>
11354
11355 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011356 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11357android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11358is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011359 </td>
11360
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011361 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011362 <ul class="entry_tags">
11363 <li><a href="#tag_V1">V1</a></li>
11364 <li><a href="#tag_BC">BC</a></li>
11365 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011366 </td>
11367
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011368 </tr>
11369 <tr class="entries_header">
11370 <th class="th_details" colspan="5">Details</th>
11371 </tr>
11372 <tr class="entry_cont">
11373 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011374 <p>The maximum frame rate that can be supported by a camera subsystem is
11375a function of many factors:</p>
11376<ul>
11377<li>Requested resolutions of output image streams</li>
11378<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11379<li>The bandwidth of the imager interface</li>
11380<li>The bandwidth of the various ISP processing blocks</li>
11381</ul>
11382<p>Since these factors can vary greatly between different ISPs and
11383sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11384restrictions with as simple a model as possible.<wbr/></p>
11385<p>The model presented has the following characteristics:</p>
11386<ul>
11387<li>The image sensor is always configured to output the smallest
11388resolution possible given the application's requested output stream
11389sizes.<wbr/> The smallest resolution is defined as being at least as large
11390as the largest requested output stream size; the camera pipeline must
11391never digitally upsample sensor data when the crop region covers the
11392whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11393resolutions are configured,<wbr/> the sensor can provide a higher frame
11394rate.<wbr/></li>
11395<li>Since any request may use any or all the currently configured
11396output streams,<wbr/> the sensor and ISP must be configured to support
11397scaling a single capture to all the streams at the same time.<wbr/> This
11398means the camera pipeline must be ready to produce the largest
11399requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11400frame rate of a given configured stream set is governed only by the
11401largest requested stream resolution.<wbr/></li>
11402<li>Using more than one output stream in a request does not affect the
11403frame duration.<wbr/></li>
11404<li>JPEG streams act like processed YUV streams in requests for which
11405they are not included; in requests in which they are directly
11406referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11407JPEG stream requires the underlying YUV data to always be ready for
11408use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11409frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11410<li>The JPEG processor can run concurrently to the rest of the camera
11411pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11412</ul>
11413<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11414is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11415These are used to determine the maximum frame rate /<wbr/> minimum frame
11416duration that is possible for a given stream configuration.<wbr/></p>
11417<p>Specifically,<wbr/> the application can use the following rules to
11418determine the minimum frame duration it can request from the HAL
11419device:</p>
11420<ol>
11421<li>Given the application's currently configured set of output
11422streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11423<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11424<code>SP</code>.<wbr/></li>
11425<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11426count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11427<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11428<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
11429no exact match for <code>RP == RJ</code> (in particular there isn't an available
11430processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11431to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11432there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11433the processed resolution closest to <code>RJ</code>.<wbr/></li>
11434<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
11435no exact match for <code>RR == RP</code> (in particular there isn't an available
11436raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11437or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11438there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11439the raw resolution closest to <code>RP</code>.<wbr/></li>
11440<li>Look up the matching minimum frame durations in the property lists
11441<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11442<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11443<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11444minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11445<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11446supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11447<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11448supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11449<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11450the application,<wbr/> then the HAL will have to delay JPEG-using requests
11451whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11452This will happen whenever a JPEG-using request starts capture less
11453than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11454supported frame duration will vary between the values calculated in
11455#6 and #7.<wbr/></li>
11456</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011457 </td>
11458 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011459
11460
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011461 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11462 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011463
11464
11465 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011466 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011467 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011468 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011469 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011470 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011471
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011472 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011473
11474
11475 </td> <!-- entry_type -->
11476
11477 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011478 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011479implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011480below 'maximum analog sensitivity'.<wbr/></p>
11481<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11482gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011483 </td>
11484
11485 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011486 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011487 </td>
11488
11489 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011490 <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 -080011491 </td>
11492
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011493 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011494 <ul class="entry_tags">
11495 <li><a href="#tag_V1">V1</a></li>
11496 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011497 </td>
11498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011499 </tr>
11500 <tr class="entries_header">
11501 <th class="th_details" colspan="5">Details</th>
11502 </tr>
11503 <tr class="entry_cont">
11504 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011505 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011506 </td>
11507 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011508
11509
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011510 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11511 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011512
11513
11514 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011515 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011516 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011517 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011518 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011519 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011520
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011521 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011522
11523
11524 </td> <!-- entry_type -->
11525
11526 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011527 <p>Time at start of exposure of first
11528row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011529 </td>
11530
11531 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011532 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011533 </td>
11534
11535 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011536 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011537 </td>
11538
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011539 <td class="entry_tags">
11540 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011541 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011542 </ul>
11543 </td>
11544
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011545 </tr>
11546 <tr class="entries_header">
11547 <th class="th_details" colspan="5">Details</th>
11548 </tr>
11549 <tr class="entry_cont">
11550 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011551 <p>Monotonic,<wbr/> should be synced to other timestamps in
11552system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011553 </td>
11554 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011555
11556
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011557 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11558 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011559
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011560
11561 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011562 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011563 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011564 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011565 <td class="entry_type">
11566 <span class="entry_type_name">float</span>
11567
11568 <span class="entry_type_visibility"> [public]</span>
11569
11570
11571 </td> <!-- entry_type -->
11572
11573 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011574 <p>The temperature of the sensor,<wbr/> sampled at the time
11575exposure began for this frame.<wbr/></p>
11576<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11577somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011578 </td>
11579
11580 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011581 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011582 </td>
11583
11584 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011585 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011586 </td>
11587
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011588 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011589 <ul class="entry_tags">
11590 <li><a href="#tag_FULL">FULL</a></li>
11591 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011592 </td>
11593
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011595
11596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11598 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011599
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011600
11601
11602 <!-- end of kind -->
11603 </tbody>
11604
11605 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011606 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011607
11608
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011609 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011610
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011611 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011612 <tr>
11613 <th class="th_name">Property Name</th>
11614 <th class="th_type">Type</th>
11615 <th class="th_description">Description</th>
11616 <th class="th_units">Units</th>
11617 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011618 <th class="th_tags">Tags</th>
11619 </tr>
11620 </thead>
11621
11622 <tbody>
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633 <tr class="entry" id="controls_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011634 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011635 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011636 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011637 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011638 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011639
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011640 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011641
11642 <ul class="entry_type_enum">
11643 <li>
11644 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011645 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011646 </li>
11647 <li>
11648 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011649 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11650bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011651 </li>
11652 <li>
11653 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011654 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11655quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011656 </li>
11657 </ul>
11658
11659 </td> <!-- entry_type -->
11660
11661 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011662 <p>Quality of lens shading correction applied
11663to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011664 </td>
11665
11666 <td class="entry_units">
11667 </td>
11668
11669 <td class="entry_range">
11670 </td>
11671
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011672 <td class="entry_tags">
11673 </td>
11674
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011675 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011676
11677
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011678 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11679 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011680
11681
11682 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011683 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011684 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011685 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011686 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011687 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011688
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011689 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011690
11691
11692 </td> <!-- entry_type -->
11693
11694 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011695 <p>Control the amount of shading correction
11696applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011697 </td>
11698
11699 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011700 unitless: 1-10; 10 is full shading
11701 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011702 </td>
11703
11704 <td class="entry_range">
11705 </td>
11706
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011707 <td class="entry_tags">
11708 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011709 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011710 </ul>
11711 </td>
11712
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011713 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011714
11715
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011716 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11717 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011718
11719
11720
11721 <!-- end of kind -->
11722 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011723 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011725 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011726 <tr>
11727 <th class="th_name">Property Name</th>
11728 <th class="th_type">Type</th>
11729 <th class="th_description">Description</th>
11730 <th class="th_units">Units</th>
11731 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011732 <th class="th_tags">Tags</th>
11733 </tr>
11734 </thead>
11735
11736 <tbody>
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747 <tr class="entry" id="dynamic_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011748 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011749 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011750 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011752 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011753
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011754 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011755
11756 <ul class="entry_type_enum">
11757 <li>
11758 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011759 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011760 </li>
11761 <li>
11762 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011763 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11764bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011765 </li>
11766 <li>
11767 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011768 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11769quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011770 </li>
11771 </ul>
11772
11773 </td> <!-- entry_type -->
11774
11775 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011776 <p>Quality of lens shading correction applied
11777to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011778 </td>
11779
11780 <td class="entry_units">
11781 </td>
11782
11783 <td class="entry_range">
11784 </td>
11785
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011786 <td class="entry_tags">
11787 </td>
11788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011789 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011790
11791
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011792 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11793 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011794
11795
11796
11797 <!-- end of kind -->
11798 </tbody>
11799
11800 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011801 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011802
11803
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011804 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011805
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011806 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011807 <tr>
11808 <th class="th_name">Property Name</th>
11809 <th class="th_type">Type</th>
11810 <th class="th_description">Description</th>
11811 <th class="th_units">Units</th>
11812 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011813 <th class="th_tags">Tags</th>
11814 </tr>
11815 </thead>
11816
11817 <tbody>
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011829 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011830 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011831 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011832 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011833 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011834
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011835 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011836
11837 <ul class="entry_type_enum">
11838 <li>
11839 <span class="entry_type_enum_name">OFF</span>
11840 </li>
11841 <li>
11842 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011843 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11844only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011845 </li>
11846 <li>
11847 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011848 <span class="entry_type_enum_notes"><p>Optional Return all face
11849metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011850 </li>
11851 </ul>
11852
11853 </td> <!-- entry_type -->
11854
11855 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011856 <p>State of the face detector
11857unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011858 </td>
11859
11860 <td class="entry_units">
11861 </td>
11862
11863 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011864 <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 -080011865 </td>
11866
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011867 <td class="entry_tags">
11868 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011869 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011870 </ul>
11871 </td>
11872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011873 </tr>
11874 <tr class="entries_header">
11875 <th class="th_details" colspan="5">Details</th>
11876 </tr>
11877 <tr class="entry_cont">
11878 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011879 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011880should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011881fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011882<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 -080011883 </td>
11884 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011885
11886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011887 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11888 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011889
11890
11891 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011892 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011893 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011894 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011895 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011896 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011897
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011898 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011899
11900 <ul class="entry_type_enum">
11901 <li>
11902 <span class="entry_type_enum_name">OFF</span>
11903 </li>
11904 <li>
11905 <span class="entry_type_enum_name">ON</span>
11906 </li>
11907 </ul>
11908
11909 </td> <!-- entry_type -->
11910
11911 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011912 <p>Operating mode for histogram
11913generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011914 </td>
11915
11916 <td class="entry_units">
11917 </td>
11918
11919 <td class="entry_range">
11920 </td>
11921
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011922 <td class="entry_tags">
11923 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011924 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011925 </ul>
11926 </td>
11927
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011928 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011929
11930
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011931 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11932 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011933
11934
11935 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011936 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011937 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011938 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011939 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011940 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011941
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011942 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011943
11944 <ul class="entry_type_enum">
11945 <li>
11946 <span class="entry_type_enum_name">OFF</span>
11947 </li>
11948 <li>
11949 <span class="entry_type_enum_name">ON</span>
11950 </li>
11951 </ul>
11952
11953 </td> <!-- entry_type -->
11954
11955 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011956 <p>Operating mode for sharpness map
11957generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011958 </td>
11959
11960 <td class="entry_units">
11961 </td>
11962
11963 <td class="entry_range">
11964 </td>
11965
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011966 <td class="entry_tags">
11967 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011968 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011969 </ul>
11970 </td>
11971
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011972 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011973
11974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011975 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11976 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011977
Zhijun He69fc0ea2013-07-17 09:42:58 -070011978
11979 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011980 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011981 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011982 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011983 <td class="entry_type">
11984 <span class="entry_type_name entry_type_name_enum">byte</span>
11985
11986 <span class="entry_type_visibility"> [public]</span>
11987
11988 <ul class="entry_type_enum">
11989 <li>
11990 <span class="entry_type_enum_name">OFF</span>
11991 </li>
11992 <li>
11993 <span class="entry_type_enum_name">ON</span>
11994 </li>
11995 </ul>
11996
11997 </td> <!-- entry_type -->
11998
11999 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012000 <p>Whether the HAL needs to output the lens
12001shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012002 </td>
12003
12004 <td class="entry_units">
12005 </td>
12006
12007 <td class="entry_range">
12008 </td>
12009
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012010 <td class="entry_tags">
12011 </td>
12012
12013 </tr>
12014 <tr class="entries_header">
12015 <th class="th_details" colspan="5">Details</th>
12016 </tr>
12017 <tr class="entry_cont">
12018 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012019 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012020<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 -080012021the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012022 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012023 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012024
12025
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012026 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12027 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012028
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012029
12030
12031 <!-- end of kind -->
12032 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012033 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012034
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012035 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012036 <tr>
12037 <th class="th_name">Property Name</th>
12038 <th class="th_type">Type</th>
12039 <th class="th_description">Description</th>
12040 <th class="th_units">Units</th>
12041 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012042 <th class="th_tags">Tags</th>
12043 </tr>
12044 </thead>
12045
12046 <tbody>
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012060 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012061 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012062 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012064 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012065 <span class="entry_type_container">x</span>
12066
12067 <span class="entry_type_array">
12068 n
12069 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012070 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012071 <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 -080012072
12073
12074 </td> <!-- entry_type -->
12075
12076 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012077 <p>Which face detection modes are available,<wbr/>
12078if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012079 </td>
12080
12081 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012082 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012083 OFF
12084 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012085 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012086 </td>
12087
12088 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012089 </td>
12090
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012091 <td class="entry_tags">
12092 </td>
12093
12094 </tr>
12095 <tr class="entries_header">
12096 <th class="th_details" colspan="5">Details</th>
12097 </tr>
12098 <tr class="entry_cont">
12099 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012100 <p>OFF means face detection is disabled,<wbr/> it must
12101be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012102<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012103<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12104<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012105<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012106<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12107<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012108 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012109 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012110
12111
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012112 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12113 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012114
12115
12116 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012117 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012118 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012119 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012120 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012121 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012122
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012123 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012124
12125
12126 </td> <!-- entry_type -->
12127
12128 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012129 <p>Number of histogram buckets
12130supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012131 </td>
12132
12133 <td class="entry_units">
12134 </td>
12135
12136 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012137 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012138 </td>
12139
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012140 <td class="entry_tags">
12141 </td>
12142
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012143 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012144
12145
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012146 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12147 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012148
12149
12150 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012151 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012152 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012153 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012154 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012155 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012156
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012157 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012158
12159
12160 </td> <!-- entry_type -->
12161
12162 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012163 <p>Maximum number of simultaneously detectable
12164faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012165 </td>
12166
12167 <td class="entry_units">
12168 </td>
12169
12170 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012171 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012172modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012173 </td>
12174
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012175 <td class="entry_tags">
12176 </td>
12177
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012178 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012179
12180
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012181 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12182 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012183
12184
12185 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012186 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012187 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012188 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012189 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012190 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012191
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012192 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012193
12194
12195 </td> <!-- entry_type -->
12196
12197 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012198 <p>Maximum value possible for a histogram
12199bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012200 </td>
12201
12202 <td class="entry_units">
12203 </td>
12204
12205 <td class="entry_range">
12206 </td>
12207
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012208 <td class="entry_tags">
12209 </td>
12210
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012211 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012212
12213
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012214 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12215 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012216
12217
12218 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012219 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012220 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012221 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012222 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012223 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012224
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012225 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012226
12227
12228 </td> <!-- entry_type -->
12229
12230 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012231 <p>Maximum value possible for a sharpness map
12232region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012233 </td>
12234
12235 <td class="entry_units">
12236 </td>
12237
12238 <td class="entry_range">
12239 </td>
12240
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012241 <td class="entry_tags">
12242 </td>
12243
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012244 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012245
12246
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012247 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12248 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012249
12250
12251 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012252 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012253 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012254 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012255 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012256 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012257 <span class="entry_type_container">x</span>
12258
12259 <span class="entry_type_array">
12260 2
12261 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012262 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012263 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012264
12265
12266 </td> <!-- entry_type -->
12267
12268 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012269 <p>Dimensions of the sharpness
12270map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012271 </td>
12272
12273 <td class="entry_units">
12274 </td>
12275
12276 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012277 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012278 </td>
12279
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012280 <td class="entry_tags">
12281 </td>
12282
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012283 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012284
12285
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012286 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12287 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012288
12289
12290
12291
12292
12293
12294 <!-- end of kind -->
12295 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012296 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012297
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012298 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012299 <tr>
12300 <th class="th_name">Property Name</th>
12301 <th class="th_type">Type</th>
12302 <th class="th_description">Description</th>
12303 <th class="th_units">Units</th>
12304 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012305 <th class="th_tags">Tags</th>
12306 </tr>
12307 </thead>
12308
12309 <tbody>
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012321 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012322 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012323 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012324 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012325 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012326
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012327 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012328
12329 <ul class="entry_type_enum">
12330 <li>
12331 <span class="entry_type_enum_name">OFF</span>
12332 </li>
12333 <li>
12334 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012335 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12336only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012337 </li>
12338 <li>
12339 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012340 <span class="entry_type_enum_notes"><p>Optional Return all face
12341metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012342 </li>
12343 </ul>
12344
12345 </td> <!-- entry_type -->
12346
12347 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012348 <p>State of the face detector
12349unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012350 </td>
12351
12352 <td class="entry_units">
12353 </td>
12354
12355 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012356 <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 -080012357 </td>
12358
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012359 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012360 <ul class="entry_tags">
12361 <li><a href="#tag_BC">BC</a></li>
12362 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012363 </td>
12364
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012365 </tr>
12366 <tr class="entries_header">
12367 <th class="th_details" colspan="5">Details</th>
12368 </tr>
12369 <tr class="entry_cont">
12370 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012371 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012372should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012373fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012374<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 -080012375 </td>
12376 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012377
12378
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012379 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12380 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012381
12382
12383 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012384 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012385 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012386 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012388 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012389 <span class="entry_type_container">x</span>
12390
12391 <span class="entry_type_array">
12392 n
12393 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012394 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012395
12396
12397 </td> <!-- entry_type -->
12398
12399 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012400 <p>List of unique IDs for detected
12401faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012402 </td>
12403
12404 <td class="entry_units">
12405 </td>
12406
12407 <td class="entry_range">
12408 </td>
12409
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012410 <td class="entry_tags">
12411 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012412 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012413 </ul>
12414 </td>
12415
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012416 </tr>
12417 <tr class="entries_header">
12418 <th class="th_details" colspan="5">Details</th>
12419 </tr>
12420 <tr class="entry_cont">
12421 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012422 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012423 </td>
12424 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012425
12426
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012427 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12428 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012429
12430
12431 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012432 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012433 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012434 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012435 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012436 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012437 <span class="entry_type_container">x</span>
12438
12439 <span class="entry_type_array">
12440 n x 6
12441 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012442 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012443 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012444
12445
12446 </td> <!-- entry_type -->
12447
12448 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012449 <p>List of landmarks for detected
12450faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012451 </td>
12452
12453 <td class="entry_units">
12454 </td>
12455
12456 <td class="entry_range">
12457 </td>
12458
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012459 <td class="entry_tags">
12460 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012461 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012462 </ul>
12463 </td>
12464
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012465 </tr>
12466 <tr class="entries_header">
12467 <th class="th_details" colspan="5">Details</th>
12468 </tr>
12469 <tr class="entry_cont">
12470 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012471 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012472 </td>
12473 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012474
12475
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012476 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12477 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012478
12479
12480 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012481 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012482 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012483 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012484 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012485 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012486 <span class="entry_type_container">x</span>
12487
12488 <span class="entry_type_array">
12489 n x 4
12490 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012491 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012492 <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 -080012493
12494
12495 </td> <!-- entry_type -->
12496
12497 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012498 <p>List of the bounding rectangles for detected
12499faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012500 </td>
12501
12502 <td class="entry_units">
12503 </td>
12504
12505 <td class="entry_range">
12506 </td>
12507
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012508 <td class="entry_tags">
12509 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012510 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012511 </ul>
12512 </td>
12513
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012514 </tr>
12515 <tr class="entries_header">
12516 <th class="th_details" colspan="5">Details</th>
12517 </tr>
12518 <tr class="entry_cont">
12519 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012520 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012521 </td>
12522 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012523
12524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012527
12528
12529 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012530 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012531 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012532 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012534 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012535 <span class="entry_type_container">x</span>
12536
12537 <span class="entry_type_array">
12538 n
12539 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012540 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012541
12542
12543 </td> <!-- entry_type -->
12544
12545 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012546 <p>List of the face confidence scores for
12547detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012548 </td>
12549
12550 <td class="entry_units">
12551 </td>
12552
12553 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012554 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012555 </td>
12556
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012557 <td class="entry_tags">
12558 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012559 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012560 </ul>
12561 </td>
12562
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012563 </tr>
12564 <tr class="entries_header">
12565 <th class="th_details" colspan="5">Details</th>
12566 </tr>
12567 <tr class="entry_cont">
12568 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012569 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12570meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012571 </td>
12572 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012573
12574
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012575 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12576 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012577
12578
12579 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012580 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012581 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012582 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012583 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012584 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012585 <span class="entry_type_container">x</span>
12586
12587 <span class="entry_type_array">
12588 n x 3
12589 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012590 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012591 <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 -080012592
12593
12594 </td> <!-- entry_type -->
12595
12596 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012597 <p>A 3-channel histogram based on the raw
12598sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012599 </td>
12600
12601 <td class="entry_units">
12602 </td>
12603
12604 <td class="entry_range">
12605 </td>
12606
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012607 <td class="entry_tags">
12608 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012609 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012610 </ul>
12611 </td>
12612
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012613 </tr>
12614 <tr class="entries_header">
12615 <th class="th_details" colspan="5">Details</th>
12616 </tr>
12617 <tr class="entry_cont">
12618 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012619 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012620(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 -080012621(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12622supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012623 </td>
12624 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012625
12626
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012627 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12628 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012629
12630
12631 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012632 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012633 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012634 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012635 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012636 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012637
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012638 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012639
12640 <ul class="entry_type_enum">
12641 <li>
12642 <span class="entry_type_enum_name">OFF</span>
12643 </li>
12644 <li>
12645 <span class="entry_type_enum_name">ON</span>
12646 </li>
12647 </ul>
12648
12649 </td> <!-- entry_type -->
12650
12651 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012652 <p>Operating mode for histogram
12653generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012654 </td>
12655
12656 <td class="entry_units">
12657 </td>
12658
12659 <td class="entry_range">
12660 </td>
12661
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012662 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012663 <ul class="entry_tags">
12664 <li><a href="#tag_V1">V1</a></li>
12665 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012666 </td>
12667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012668 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012669
12670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012671 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12672 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012673
12674
12675 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012676 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012677 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012678 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012679 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012680 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012681 <span class="entry_type_container">x</span>
12682
12683 <span class="entry_type_array">
12684 n x m x 3
12685 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012686 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012687 <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 -080012688
12689
12690 </td> <!-- entry_type -->
12691
12692 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012693 <p>A 3-channel sharpness map,<wbr/> based on the raw
12694sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012695 </td>
12696
12697 <td class="entry_units">
12698 </td>
12699
12700 <td class="entry_range">
12701 </td>
12702
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012703 <td class="entry_tags">
12704 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012705 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012706 </ul>
12707 </td>
12708
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012709 </tr>
12710 <tr class="entries_header">
12711 <th class="th_details" colspan="5">Details</th>
12712 </tr>
12713 <tr class="entry_cont">
12714 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012715 <p>If only a monochrome sharpness map is supported,<wbr/>
12716all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012717 </td>
12718 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012719
12720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12722 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012723
12724
12725 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012726 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012727 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012728 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012729 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012730 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012731
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012732 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012733
12734 <ul class="entry_type_enum">
12735 <li>
12736 <span class="entry_type_enum_name">OFF</span>
12737 </li>
12738 <li>
12739 <span class="entry_type_enum_name">ON</span>
12740 </li>
12741 </ul>
12742
12743 </td> <!-- entry_type -->
12744
12745 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012746 <p>Operating mode for sharpness map
12747generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012748 </td>
12749
12750 <td class="entry_units">
12751 </td>
12752
12753 <td class="entry_range">
12754 </td>
12755
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012756 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012757 <ul class="entry_tags">
12758 <li><a href="#tag_V1">V1</a></li>
12759 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012760 </td>
12761
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012762 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012763
12764
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012765 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12766 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012767
Zhijun He69fc0ea2013-07-17 09:42:58 -070012768
12769 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012770 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012771 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012772 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012773 <td class="entry_type">
12774 <span class="entry_type_name">float</span>
12775 <span class="entry_type_container">x</span>
12776
12777 <span class="entry_type_array">
12778 4 x n x m
12779 </span>
12780 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012781 <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 -070012782
12783
12784 </td> <!-- entry_type -->
12785
12786 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012787 <p>The shading map is a low-resolution floating-point map
12788that lists the coefficients used to correct for vignetting,<wbr/> for each
12789Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012790 </td>
12791
12792 <td class="entry_units">
12793 </td>
12794
12795 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012796 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012797 </td>
12798
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012799 <td class="entry_tags">
12800 </td>
12801
12802 </tr>
12803 <tr class="entries_header">
12804 <th class="th_details" colspan="5">Details</th>
12805 </tr>
12806 <tr class="entry_cont">
12807 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012808 <p>The least shaded section of the image should have a gain factor
12809of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012810<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 -080012811must take into account the colorCorrection settings.<wbr/></p>
12812<p>The shading map is for the entire active pixel array,<wbr/> and is not
12813affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012814entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012815pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12816map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12817(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12818pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12819The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12820<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12821channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12822The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012823is 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 -080012824<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12825and must be smaller than 64x64.<wbr/></p>
12826<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012827<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12828<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012829[ 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/>
12830 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/>
12831 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/>
12832 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/>
12833 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/>
12834 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 -080012835</code></pre>
12836<p>The low-resolution scaling map images for each channel are
12837(displayed using nearest-neighbor interpolation):</p>
12838<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12839<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12840<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12841<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012842<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012843image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012844<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 -070012845 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012846 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012847
12848
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012849 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12850 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012851
12852
12853 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012854 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012855 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012856 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012857 <td class="entry_type">
12858 <span class="entry_type_name">float</span>
12859 <span class="entry_type_container">x</span>
12860
12861 <span class="entry_type_array">
12862 4
12863 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012864 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012865 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012866
12867
12868 </td> <!-- entry_type -->
12869
12870 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012871 <p>The best-fit color channel gains calculated
12872by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012873 </td>
12874
12875 <td class="entry_units">
12876 </td>
12877
12878 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012879 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012880 </td>
12881
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012882 <td class="entry_tags">
12883 </td>
12884
12885 </tr>
12886 <tr class="entries_header">
12887 <th class="th_details" colspan="5">Details</th>
12888 </tr>
12889 <tr class="entry_cont">
12890 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012891 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012892since statistics processing on data from a new frame
12893typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012894applied to that frame.<wbr/></p>
12895<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012896see <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 -080012897<p>This value should always be calculated by the AWB block,<wbr/>
12898regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012899 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012900 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012901
12902
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012903 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12904 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012905
12906
12907 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012908 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012909 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012910 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012911 <td class="entry_type">
12912 <span class="entry_type_name">rational</span>
12913 <span class="entry_type_container">x</span>
12914
12915 <span class="entry_type_array">
12916 3 x 3
12917 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012918 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012919 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012920
12921
12922 </td> <!-- entry_type -->
12923
12924 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012925 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012926calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080012927output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012928 </td>
12929
12930 <td class="entry_units">
12931 </td>
12932
12933 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012934 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012935 </td>
12936
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012937 <td class="entry_tags">
12938 </td>
12939
12940 </tr>
12941 <tr class="entries_header">
12942 <th class="th_details" colspan="5">Details</th>
12943 </tr>
12944 <tr class="entry_cont">
12945 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012946 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012947statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080012948for the next frame.<wbr/> These are the values the HAL believes
12949are the best fit for the current output frame.<wbr/> This may
12950be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012951statistics processing on data from a new frame typically
12952completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080012953that frame.<wbr/></p>
12954<p>These estimates must be provided for all frames,<wbr/> even if
12955capture settings and color transforms are set by the application.<wbr/></p>
12956<p>This value should always be calculated by the AWB block,<wbr/>
12957regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012958 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012959 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012960
12961
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012962 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12963 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012964
12965
12966 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012967 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012968 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012969 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012970 <td class="entry_type">
12971 <span class="entry_type_name entry_type_name_enum">byte</span>
12972
12973 <span class="entry_type_visibility"> [public]</span>
12974
12975 <ul class="entry_type_enum">
12976 <li>
12977 <span class="entry_type_enum_name">NONE</span>
12978 </li>
12979 <li>
12980 <span class="entry_type_enum_name">50HZ</span>
12981 </li>
12982 <li>
12983 <span class="entry_type_enum_name">60HZ</span>
12984 </li>
12985 </ul>
12986
12987 </td> <!-- entry_type -->
12988
12989 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012990 <p>The HAL estimated scene illumination lighting
12991frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012992 </td>
12993
12994 <td class="entry_units">
12995 </td>
12996
12997 <td class="entry_range">
12998 </td>
12999
Zhijun He69fc0ea2013-07-17 09:42:58 -070013000 <td class="entry_tags">
13001 </td>
13002
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013003 </tr>
13004 <tr class="entries_header">
13005 <th class="th_details" colspan="5">Details</th>
13006 </tr>
13007 <tr class="entry_cont">
13008 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013009 <p>Report NONE if there doesn't appear to be flickering
13010illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013011 </td>
13012 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013013
13014
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013015 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13016 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013017
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013018
13019
13020 <!-- end of kind -->
13021 </tbody>
13022
13023 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013024 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013025
13026
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013027 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013028
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013029 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013030 <tr>
13031 <th class="th_name">Property Name</th>
13032 <th class="th_type">Type</th>
13033 <th class="th_description">Description</th>
13034 <th class="th_units">Units</th>
13035 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013036 <th class="th_tags">Tags</th>
13037 </tr>
13038 </thead>
13039
13040 <tbody>
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013052 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013053 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013054 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013055 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013056 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013057 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013058
Zhijun He704d1282013-08-19 15:26:33 -070013059 <span class="entry_type_array">
13060 n x 2
13061 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013062 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013063 <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 -080013064
13065
13066 </td> <!-- entry_type -->
13067
13068 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013069 <p>Table mapping blue input values to output
13070values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013071 </td>
13072
13073 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013074 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013075 </td>
13076
13077 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013078 <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 -080013079 </td>
13080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013081 <td class="entry_tags">
13082 </td>
13083
13084 </tr>
13085 <tr class="entries_header">
13086 <th class="th_details" colspan="5">Details</th>
13087 </tr>
13088 <tr class="entry_cont">
13089 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013090 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013091channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13092<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 -080013093 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013094 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013095
13096
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013097 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13098 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013099
13100
13101 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013102 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013103 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013104 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013105 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013106 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013107 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013108
Zhijun He704d1282013-08-19 15:26:33 -070013109 <span class="entry_type_array">
13110 n x 2
13111 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013112 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013113 <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 -080013114
13115
13116 </td> <!-- entry_type -->
13117
13118 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013119 <p>Table mapping green input values to output
13120values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013121 </td>
13122
13123 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013124 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013125 </td>
13126
13127 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013128 <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 -080013129 </td>
13130
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013131 <td class="entry_tags">
13132 </td>
13133
13134 </tr>
13135 <tr class="entries_header">
13136 <th class="th_details" colspan="5">Details</th>
13137 </tr>
13138 <tr class="entry_cont">
13139 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013140 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013141channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13142<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 -080013143 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013144 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013145
13146
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013147 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13148 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013149
13150
13151 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013152 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013153 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013154 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013155 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013156 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013157 <span class="entry_type_container">x</span>
13158
13159 <span class="entry_type_array">
13160 n x 2
13161 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013162 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013163 <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 -080013164
13165
13166 </td> <!-- entry_type -->
13167
13168 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013169 <p>Table mapping red input values to output
13170values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013171 </td>
13172
13173 <td class="entry_units">
13174 </td>
13175
13176 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013177 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013178 </td>
13179
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013180 <td class="entry_tags">
13181 <ul class="entry_tags">
13182 <li><a href="#tag_DNG">DNG</a></li>
13183 </ul>
13184 </td>
13185
13186 </tr>
13187 <tr class="entries_header">
13188 <th class="th_details" colspan="5">Details</th>
13189 </tr>
13190 <tr class="entry_cont">
13191 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013192 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013193channel,<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 -080013194<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013195the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013196are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013197between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013198<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013199defined points.<wbr/> The points will be listed in increasing
13200order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
132010.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13202for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
132030.<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 -080013204 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013205 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013206
13207
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013208 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13209 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013210
13211
13212 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013213 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013214 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013215 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013216 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013217 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013218
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013219 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013220
13221 <ul class="entry_type_enum">
13222 <li>
13223 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013224 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13225android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013226 </li>
13227 <li>
13228 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013229 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13230bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013231 </li>
13232 <li>
13233 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013234 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13235quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013236 </li>
13237 </ul>
13238
13239 </td> <!-- entry_type -->
13240
13241 <td class="entry_description">
13242 </td>
13243
13244 <td class="entry_units">
13245 </td>
13246
13247 <td class="entry_range">
13248 </td>
13249
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013250 <td class="entry_tags">
13251 </td>
13252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013253 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013254
13255
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013256 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13257 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013258
13259
13260
13261 <!-- end of kind -->
13262 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013263 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013264
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013265 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013266 <tr>
13267 <th class="th_name">Property Name</th>
13268 <th class="th_type">Type</th>
13269 <th class="th_description">Description</th>
13270 <th class="th_units">Units</th>
13271 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013272 <th class="th_tags">Tags</th>
13273 </tr>
13274 </thead>
13275
13276 <tbody>
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013288 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013289 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013290 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013291 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013292 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013293
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013294 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013295
13296
13297 </td> <!-- entry_type -->
13298
13299 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013300 <p>Maximum number of supported points in the
13301tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013302 </td>
13303
13304 <td class="entry_units">
13305 </td>
13306
13307 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013308 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013309 </td>
13310
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013311 <td class="entry_tags">
13312 </td>
13313
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013314 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013315
13316
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013317 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13318 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013319
13320
13321
13322 <!-- end of kind -->
13323 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013324 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013325
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013326 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013327 <tr>
13328 <th class="th_name">Property Name</th>
13329 <th class="th_type">Type</th>
13330 <th class="th_description">Description</th>
13331 <th class="th_units">Units</th>
13332 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013333 <th class="th_tags">Tags</th>
13334 </tr>
13335 </thead>
13336
13337 <tbody>
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013349 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013350 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013351 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013352 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013353 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013354 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013355
Zhijun He704d1282013-08-19 15:26:33 -070013356 <span class="entry_type_array">
13357 n x 2
13358 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013359 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013360 <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 -080013361
13362
13363 </td> <!-- entry_type -->
13364
13365 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013366 <p>Table mapping blue input values to output
13367values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013368 </td>
13369
13370 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013371 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013372 </td>
13373
13374 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013375 <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 -080013376 </td>
13377
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013378 <td class="entry_tags">
13379 </td>
13380
13381 </tr>
13382 <tr class="entries_header">
13383 <th class="th_details" colspan="5">Details</th>
13384 </tr>
13385 <tr class="entry_cont">
13386 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013387 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013388channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13389<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 -080013390 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013391 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013392
13393
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013394 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13395 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013396
13397
13398 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013399 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013400 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013401 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013402 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013403 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013404 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013405
Zhijun He704d1282013-08-19 15:26:33 -070013406 <span class="entry_type_array">
13407 n x 2
13408 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013409 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013410 <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 -080013411
13412
13413 </td> <!-- entry_type -->
13414
13415 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013416 <p>Table mapping green input values to output
13417values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013418 </td>
13419
13420 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013421 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013422 </td>
13423
13424 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013425 <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 -080013426 </td>
13427
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013428 <td class="entry_tags">
13429 </td>
13430
13431 </tr>
13432 <tr class="entries_header">
13433 <th class="th_details" colspan="5">Details</th>
13434 </tr>
13435 <tr class="entry_cont">
13436 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013437 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013438channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13439<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 -080013440 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013441 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013442
13443
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013444 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13445 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013446
13447
13448 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013449 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013450 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013451 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013452 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013453 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013454 <span class="entry_type_container">x</span>
13455
13456 <span class="entry_type_array">
13457 n x 2
13458 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013459 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013460 <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 -080013461
13462
13463 </td> <!-- entry_type -->
13464
13465 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013466 <p>Table mapping red input values to output
13467values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013468 </td>
13469
13470 <td class="entry_units">
13471 </td>
13472
13473 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013474 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013475 </td>
13476
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013477 <td class="entry_tags">
13478 <ul class="entry_tags">
13479 <li><a href="#tag_DNG">DNG</a></li>
13480 </ul>
13481 </td>
13482
13483 </tr>
13484 <tr class="entries_header">
13485 <th class="th_details" colspan="5">Details</th>
13486 </tr>
13487 <tr class="entry_cont">
13488 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013489 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013490channel,<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 -080013491<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013492the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013493are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013494between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013495<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013496defined points.<wbr/> The points will be listed in increasing
13497order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
134980.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13499for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
135000.<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 -080013501 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013502 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013503
13504
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013505 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13506 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013507
13508
13509 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013510 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013511 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013512 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013513 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013514 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013515
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013516 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013517
13518 <ul class="entry_type_enum">
13519 <li>
13520 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013521 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13522android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013523 </li>
13524 <li>
13525 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013526 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13527bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013528 </li>
13529 <li>
13530 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013531 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13532quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013533 </li>
13534 </ul>
13535
13536 </td> <!-- entry_type -->
13537
13538 <td class="entry_description">
13539 </td>
13540
13541 <td class="entry_units">
13542 </td>
13543
13544 <td class="entry_range">
13545 </td>
13546
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013547 <td class="entry_tags">
13548 </td>
13549
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013550 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013551
13552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013553 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13554 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013555
13556
13557
13558 <!-- end of kind -->
13559 </tbody>
13560
13561 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013562 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013563
13564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013565 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013567 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013568 <tr>
13569 <th class="th_name">Property Name</th>
13570 <th class="th_type">Type</th>
13571 <th class="th_description">Description</th>
13572 <th class="th_units">Units</th>
13573 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013574 <th class="th_tags">Tags</th>
13575 </tr>
13576 </thead>
13577
13578 <tbody>
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013590 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013591 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013592 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013593 <td class="entry_type">
13594 <span class="entry_type_name entry_type_name_enum">byte</span>
13595
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013596 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013597
13598 <ul class="entry_type_enum">
13599 <li>
13600 <span class="entry_type_enum_name">OFF</span>
13601 </li>
13602 <li>
13603 <span class="entry_type_enum_name">ON</span>
13604 </li>
13605 </ul>
13606
13607 </td> <!-- entry_type -->
13608
13609 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013610 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013611that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013612Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013613disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013614any untrusted applications.<wbr/></p>
13615<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13616transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13617data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013618<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013619doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013620 </td>
13621
13622 <td class="entry_units">
13623 </td>
13624
13625 <td class="entry_range">
13626 </td>
13627
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013628 <td class="entry_tags">
13629 </td>
13630
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013631 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013632
13633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013634 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13635 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013636
13637
13638
13639 <!-- end of kind -->
13640 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013641 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013642
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013643 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013644 <tr>
13645 <th class="th_name">Property Name</th>
13646 <th class="th_type">Type</th>
13647 <th class="th_description">Description</th>
13648 <th class="th_units">Units</th>
13649 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013650 <th class="th_tags">Tags</th>
13651 </tr>
13652 </thead>
13653
13654 <tbody>
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013666 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013667 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013668 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013669 <td class="entry_type">
13670 <span class="entry_type_name entry_type_name_enum">byte</span>
13671
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013672 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013673
13674 <ul class="entry_type_enum">
13675 <li>
13676 <span class="entry_type_enum_name">OFF</span>
13677 </li>
13678 <li>
13679 <span class="entry_type_enum_name">ON</span>
13680 </li>
13681 </ul>
13682
13683 </td> <!-- entry_type -->
13684
13685 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013686 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013687that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013688Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013689disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013690any untrusted applications.<wbr/></p>
13691<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13692transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13693data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013694<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013695doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013696 </td>
13697
13698 <td class="entry_units">
13699 </td>
13700
13701 <td class="entry_range">
13702 </td>
13703
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013704 <td class="entry_tags">
13705 </td>
13706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013707 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013708
13709
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013710 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13711 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013712
13713
13714
13715 <!-- end of kind -->
13716 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013717 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013718
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013719 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013720 <tr>
13721 <th class="th_name">Property Name</th>
13722 <th class="th_type">Type</th>
13723 <th class="th_description">Description</th>
13724 <th class="th_units">Units</th>
13725 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013726 <th class="th_tags">Tags</th>
13727 </tr>
13728 </thead>
13729
13730 <tbody>
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013742 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013743 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013744 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013745 <td class="entry_type">
13746 <span class="entry_type_name entry_type_name_enum">byte</span>
13747 <span class="entry_type_container">x</span>
13748
13749 <span class="entry_type_array">
13750 n
13751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013752 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013753
13754 <ul class="entry_type_enum">
13755 <li>
13756 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013757 <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 -070013758 </li>
13759 </ul>
13760
13761 </td> <!-- entry_type -->
13762
13763 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013764 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013765 </td>
13766
13767 <td class="entry_units">
13768 </td>
13769
13770 <td class="entry_range">
13771 </td>
13772
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013773 <td class="entry_tags">
13774 </td>
13775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013776 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013777
13778
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013779 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13780 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013781
13782
13783
13784 <!-- end of kind -->
13785 </tbody>
13786
13787 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013788 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013789
13790
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013791 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013792
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013793 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013794 <tr>
13795 <th class="th_name">Property Name</th>
13796 <th class="th_type">Type</th>
13797 <th class="th_description">Description</th>
13798 <th class="th_units">Units</th>
13799 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013800 <th class="th_tags">Tags</th>
13801 </tr>
13802 </thead>
13803
13804 <tbody>
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013816 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013817 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013818 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013819 <td class="entry_type">
13820 <span class="entry_type_name entry_type_name_enum">byte</span>
13821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013822 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013823
13824 <ul class="entry_type_enum">
13825 <li>
13826 <span class="entry_type_enum_name">LIMITED</span>
13827 </li>
13828 <li>
13829 <span class="entry_type_enum_name">FULL</span>
13830 </li>
13831 </ul>
13832
13833 </td> <!-- entry_type -->
13834
13835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013836 <p>The camera 3 HAL device can implement one of two possible
13837operational modes; limited and full.<wbr/> Full support is
13838expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013839hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013840camera HAL device v1 implementation,<wbr/> and is expected from
13841older or inexpensive devices.<wbr/> Full is a strict superset of
13842limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13843<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013844 </td>
13845
13846 <td class="entry_units">
13847 </td>
13848
13849 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013850 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013851 </td>
13852
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013853 <td class="entry_tags">
13854 </td>
13855
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013856 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013857
13858
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013859 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13860 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013861
13862
13863
13864 <!-- end of kind -->
13865 </tbody>
13866
13867 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013868 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013869
13870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013871 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013872
13873 <thead class="entries_header">
13874 <tr>
13875 <th class="th_name">Property Name</th>
13876 <th class="th_type">Type</th>
13877 <th class="th_description">Description</th>
13878 <th class="th_units">Units</th>
13879 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013880 <th class="th_tags">Tags</th>
13881 </tr>
13882 </thead>
13883
13884 <tbody>
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013896 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013897 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013898 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013899 <td class="entry_type">
13900 <span class="entry_type_name entry_type_name_enum">byte</span>
13901
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013902 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013903
13904 <ul class="entry_type_enum">
13905 <li>
13906 <span class="entry_type_enum_name">OFF</span>
13907 </li>
13908 <li>
13909 <span class="entry_type_enum_name">ON</span>
13910 </li>
13911 </ul>
13912
13913 </td> <!-- entry_type -->
13914
13915 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013916 <p>Whether black-level compensation is locked
13917to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013918 </td>
13919
13920 <td class="entry_units">
13921 </td>
13922
13923 <td class="entry_range">
13924 </td>
13925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013926 <td class="entry_tags">
13927 <ul class="entry_tags">
13928 <li><a href="#tag_HAL2">HAL2</a></li>
13929 </ul>
13930 </td>
13931
13932 </tr>
13933 <tr class="entries_header">
13934 <th class="th_details" colspan="5">Details</th>
13935 </tr>
13936 <tr class="entry_cont">
13937 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013938 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013939compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080013940OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013941<p>Since changes to certain capture parameters (such as
13942exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080013943compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013944the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080013945metadata.<wbr/></p>
13946<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013947<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013948<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13949<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13950<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13951<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13952<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13953<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013954</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013955<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080013956device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013957result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013958<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013959<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13960<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13961<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13962<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
13963<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13964<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013965</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013966<p>This indicates to the application that on frame 4,<wbr/> black
13967levels were reset due to exposure value changes,<wbr/> and pixel
13968values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013969<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080013970possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013971other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080013972or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013973 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013974 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013975
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013976 <tr class="entries_header">
13977 <th class="th_details" colspan="5">HAL Implementation Details</th>
13978 </tr>
13979 <tr class="entry_cont">
13980 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013981 <p>If for some reason black level locking is no longer possible
13982(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13983black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013984override this request (and it must report 'OFF' when this
13985does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013986possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013987 </td>
13988 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013990 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13991 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013992
13993
13994
13995 <!-- end of kind -->
13996 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013997 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013998
13999 <thead class="entries_header">
14000 <tr>
14001 <th class="th_name">Property Name</th>
14002 <th class="th_type">Type</th>
14003 <th class="th_description">Description</th>
14004 <th class="th_units">Units</th>
14005 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014006 <th class="th_tags">Tags</th>
14007 </tr>
14008 </thead>
14009
14010 <tbody>
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014022 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014023 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014024 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014025 <td class="entry_type">
14026 <span class="entry_type_name entry_type_name_enum">byte</span>
14027
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014028 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014029
14030 <ul class="entry_type_enum">
14031 <li>
14032 <span class="entry_type_enum_name">OFF</span>
14033 </li>
14034 <li>
14035 <span class="entry_type_enum_name">ON</span>
14036 </li>
14037 </ul>
14038
14039 </td> <!-- entry_type -->
14040
14041 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014042 <p>Whether black-level compensation is locked
14043to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014044 </td>
14045
14046 <td class="entry_units">
14047 </td>
14048
14049 <td class="entry_range">
14050 </td>
14051
Zhijun He69fc0ea2013-07-17 09:42:58 -070014052 <td class="entry_tags">
14053 <ul class="entry_tags">
14054 <li><a href="#tag_HAL2">HAL2</a></li>
14055 </ul>
14056 </td>
14057
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014058 </tr>
14059 <tr class="entries_header">
14060 <th class="th_details" colspan="5">Details</th>
14061 </tr>
14062 <tr class="entry_cont">
14063 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014064 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014065ON 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 -080014066a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014067perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014068 </td>
14069 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014070
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014071 <tr class="entries_header">
14072 <th class="th_details" colspan="5">HAL Implementation Details</th>
14073 </tr>
14074 <tr class="entry_cont">
14075 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014076 <p>If for some reason black level locking is no longer possible
14077(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14078black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014079override this request (and it must report 'OFF' when this
14080does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014081possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014082 </td>
14083 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014084
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014085 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14086 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014087
14088
14089
14090 <!-- end of kind -->
14091 </tbody>
14092
14093 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014094<!-- </namespace> -->
14095 </table>
14096
14097 <div class="tags" id="tag_index">
14098 <h2>Tags</h2>
14099 <ul>
14100 <li id="tag_AWB">AWB -
14101 Needed for auto white balance
14102
14103 <ul class="tags_entries">
14104 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14105 </ul>
14106 </li> <!-- tag_AWB -->
14107 <li id="tag_BC">BC -
14108 Needed for backwards compatibility with old Java API
14109
14110 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014111 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014112 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14113 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14114 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14115 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14116 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014117 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014118 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14119 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014120 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014121 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14122 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14123 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14124 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14125 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14126 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14127 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14128 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014129 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014130 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14131 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14132 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14133 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14134 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14135 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14136 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14137 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14138 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14139 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14140 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14141 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14142 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14143 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14144 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14145 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14146 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14147 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14148 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14149 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14150 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14151 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14152 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14153 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14154 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14155 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14156 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14157 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014158 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014159 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14160 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14161 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014162 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014163 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014164 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14165 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14166 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14167 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14168 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14169 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14170 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14171 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14172 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14173 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14174 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14175 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14176 </ul>
14177 </li> <!-- tag_BC -->
14178 <li id="tag_V1">V1 -
14179 New features for first camera 2 release (API1)
14180
14181 <ul class="tags_entries">
14182 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14183 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14184 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14185 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14186 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14187 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14188 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14189 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14190 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14191 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14192 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14193 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14194 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14195 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14196 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14197 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14198 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14199 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14200 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14201 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14202 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14203 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14204 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14205 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014206 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014207 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14208 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14209 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14210 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14211 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14212 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14213 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14214 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14215 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14216 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14217 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14218 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14219 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14220 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14221 </ul>
14222 </li> <!-- tag_V1 -->
14223 <li id="tag_ADV">ADV - None
14224 <ul class="tags_entries">
14225 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14226 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14227 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14228 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14229 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14230 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14231 </ul>
14232 </li> <!-- tag_ADV -->
14233 <li id="tag_DNG">DNG -
14234 Needed for DNG file support
14235
14236 <ul class="tags_entries">
14237 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014238 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14239 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14240 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14241 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14242 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14243 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14244 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14245 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14246 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14247 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14248 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14249 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14250 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14251 </ul>
14252 </li> <!-- tag_DNG -->
14253 <li id="tag_EXIF">EXIF - None
14254 <ul class="tags_entries">
14255 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14256 </ul>
14257 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014258 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014259 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014260
14261 <ul class="tags_entries">
14262 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14263 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14264 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014265 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014266 </ul>
14267 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014268 <li id="tag_FULL">FULL -
14269 Entry is required for full hardware level devices, and optional for other hardware levels
14270
14271 <ul class="tags_entries">
14272 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14273 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14274 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14275 </ul>
14276 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014277 </ul>
14278 </div>
14279
14280 [ <a href="#">top</a> ]
14281
14282</body>
14283</html>