blob: 334bcaac3c63df112052d1275f974d4f726f5245 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080031 .entry_cont { background-color: #f0f0f0 }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070032 .entries_header { background-color: #dddddd; text-align: center}
33
34 /* toc style */
35 .toc_section_header { font-size:1.3em; }
36 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080037
38 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070039 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
40 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080041 .th_name { width: 20% }
42 .th_units { width: 10% }
43 .th_tags { width: 5% }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080044 .th_details { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080045 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070046 .th_description { width: 20% }
47 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080048 td { font-size: 0.9em; }
49
50 /* hide the first thead, we need it there only to enforce column sizes */
51 .thead_dummy { visibility: hidden; }
52
53 /* Entry flair */
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080054 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; vertical-align:top; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080055
56 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070057 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
58 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
59 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080060 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
61 .entry_type_enum_notes:before { content:" - " }
Igor Murashkina10351a2014-01-15 17:05:22 -080062 .entry_type_enum_notes>p:first-child { display:inline; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080063 .entry_type_enum_value:before { content:" = " }
64 .entry_type_enum_value { font-family: monospace; }
65 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
66 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
67
68 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080071 /* Entry details (full docs) flair */
72 .entry_details_header { font-weight: bold; background-color: #dddddd;
73 text-align: center; font-size: 1.1em; margin-left: 0em; margin-right: 0em; }
74
75 /* Entry spacer flair */
76 .entry_spacer { background-color: transparent; border-style: none; height: 0.5em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080077
78 /* TODO: generate abbr element for each tag link? */
79 /* TODO for each x.y.z try to link it to the entry */
80
81 </style>
82
83 <style>
84
85 {
86 /* broken...
87 supposedly there is a bug in chrome that it lays out tables before
88 it knows its being printed, so the page-break-* styles are ignored
89 */
90 tr { page-break-after: always; page-break-inside: avoid; }
91 }
92
93 </style>
94</head>
95
96
97
Igor Murashkin08b8aad2012-11-29 15:23:03 -080098<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070099 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700101
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800102 <h2>Table of Contents</h2>
103 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700104 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
105 <li>
106 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
107 <ul class="toc_section">
108 <li>
109 <span class="toc_kind_header">controls</span>
110 <ul class="toc_section">
111 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
112 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700114 </ul>
115 </li>
116 <li>
117 <span class="toc_kind_header">dynamic</span>
118 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700119 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
120 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700121 </ul>
122 </li>
123 </ul> <!-- toc_section -->
124 </li>
125 <li>
126 <span class="toc_section_header"><a href="#section_control">control</a></span>
127 <ul class="toc_section">
128 <li>
129 <span class="toc_kind_header">controls</span>
130 <ul class="toc_section">
131 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
132 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
133 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
134 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
135 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
136 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
137 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
138 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
139 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
140 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
141 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
142 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
143 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
144 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
145 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
146 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
147 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
148 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
149 </ul>
150 </li>
151 <li>
152 <span class="toc_kind_header">static</span>
153 <ul class="toc_section">
154 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
155 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
156 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
157 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
158 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
159 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
160 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
161 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
162 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
163 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
164 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
165 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
166 </ul>
167 </li>
168 <li>
169 <span class="toc_kind_header">dynamic</span>
170 <ul class="toc_section">
171 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -0800172 <li><a href="#dynamic_android.control.aeMode">android.control.aeMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700173 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
174 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
175 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
176 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
177 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
178 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
179 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
180 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
181 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
182 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
183 </ul>
184 </li>
185 </ul> <!-- toc_section -->
186 </li>
187 <li>
188 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
189 <ul class="toc_section">
190 <li>
191 <span class="toc_kind_header">controls</span>
192 <ul class="toc_section">
193 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
194 </ul>
195 </li>
196 </ul> <!-- toc_section -->
197 </li>
198 <li>
199 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
200 <ul class="toc_section">
201 <li>
202 <span class="toc_kind_header">controls</span>
203 <ul class="toc_section">
204 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
205 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
206 </ul>
207 </li>
208 <li>
209 <span class="toc_kind_header">dynamic</span>
210 <ul class="toc_section">
211 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
212 </ul>
213 </li>
214 </ul> <!-- toc_section -->
215 </li>
216 <li>
217 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
218 <ul class="toc_section">
219 <li>
220 <span class="toc_kind_header">controls</span>
221 <ul class="toc_section">
222 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
223 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
224 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
225 </ul>
226 </li>
227 <li>
228 <span class="toc_kind_header">static</span>
229 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700231 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
232 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700234 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
235 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
236 </ul>
237 </li>
238 <li>
239 <span class="toc_kind_header">dynamic</span>
240 <ul class="toc_section">
241 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
242 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
243 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
244 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
245 </ul>
246 </li>
247 </ul> <!-- toc_section -->
248 </li>
249 <li>
250 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
251 <ul class="toc_section">
252 <li>
253 <span class="toc_kind_header">controls</span>
254 <ul class="toc_section">
255 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
256 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
257 </ul>
258 </li>
259 </ul> <!-- toc_section -->
260 </li>
261 <li>
262 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
263 <ul class="toc_section">
264 <li>
265 <span class="toc_kind_header">controls</span>
266 <ul class="toc_section">
267 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
268 </ul>
269 </li>
270 <li>
271 <span class="toc_kind_header">static</span>
272 <ul class="toc_section">
273
274 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
275
276 </ul>
277 </li>
278 <li>
279 <span class="toc_kind_header">dynamic</span>
280 <ul class="toc_section">
281 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
282 </ul>
283 </li>
284 </ul> <!-- toc_section -->
285 </li>
286 <li>
287 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
288 <ul class="toc_section">
289 <li>
290 <span class="toc_kind_header">controls</span>
291 <ul class="toc_section">
292 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
293 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
294 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
295 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
296 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
297 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
298 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">static</span>
303 <ul class="toc_section">
304 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
305 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
306 </ul>
307 </li>
308 <li>
309 <span class="toc_kind_header">dynamic</span>
310 <ul class="toc_section">
311 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
312 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
313 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
314 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
315 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
316 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
317 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
318 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
319 </ul>
320 </li>
321 </ul> <!-- toc_section -->
322 </li>
323 <li>
324 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
325 <ul class="toc_section">
326 <li>
327 <span class="toc_kind_header">controls</span>
328 <ul class="toc_section">
329 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
330 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
331 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
332 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
333 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
334 </ul>
335 </li>
336 <li>
337 <span class="toc_kind_header">static</span>
338 <ul class="toc_section">
339
340 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
341 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
342 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
343 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
344 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
345 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
346 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
347 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700348 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
349
350 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
351 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
352 <li><a href="#static_android.lens.position">android.lens.position</a></li>
353 </ul>
354 </li>
355 <li>
356 <span class="toc_kind_header">dynamic</span>
357 <ul class="toc_section">
358 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
359 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
360 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
361 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
362 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
363 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
364 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
365 </ul>
366 </li>
367 </ul> <!-- toc_section -->
368 </li>
369 <li>
370 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
371 <ul class="toc_section">
372 <li>
373 <span class="toc_kind_header">controls</span>
374 <ul class="toc_section">
375 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
377 </ul>
378 </li>
379 <li>
380 <span class="toc_kind_header">dynamic</span>
381 <ul class="toc_section">
382 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
383 </ul>
384 </li>
385 </ul> <!-- toc_section -->
386 </li>
387 <li>
388 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
389 <ul class="toc_section">
390 <li>
391 <span class="toc_kind_header">static</span>
392 <ul class="toc_section">
393 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
394 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
395 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700396 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
397 </ul>
398 </li>
399 <li>
400 <span class="toc_kind_header">dynamic</span>
401 <ul class="toc_section">
402 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700403 </ul>
404 </li>
405 </ul> <!-- toc_section -->
406 </li>
407 <li>
408 <span class="toc_section_header"><a href="#section_request">request</a></span>
409 <ul class="toc_section">
410 <li>
411 <span class="toc_kind_header">controls</span>
412 <ul class="toc_section">
413 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
414 <li><a href="#controls_android.request.id">android.request.id</a></li>
415 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
416 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
417 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
418 <li><a href="#controls_android.request.type">android.request.type</a></li>
419 </ul>
420 </li>
421 <li>
422 <span class="toc_kind_header">static</span>
423 <ul class="toc_section">
424 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
425 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
426 </ul>
427 </li>
428 <li>
429 <span class="toc_kind_header">dynamic</span>
430 <ul class="toc_section">
431 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
432 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
433 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
434 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
435 </ul>
436 </li>
437 </ul> <!-- toc_section -->
438 </li>
439 <li>
440 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
441 <ul class="toc_section">
442 <li>
443 <span class="toc_kind_header">controls</span>
444 <ul class="toc_section">
445 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
446 </ul>
447 </li>
448 <li>
449 <span class="toc_kind_header">static</span>
450 <ul class="toc_section">
451 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
452 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
453 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
454 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
455 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
456 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
457 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
458 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
459 </ul>
460 </li>
461 <li>
462 <span class="toc_kind_header">dynamic</span>
463 <ul class="toc_section">
464 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
465 </ul>
466 </li>
467 </ul> <!-- toc_section -->
468 </li>
469 <li>
470 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
471 <ul class="toc_section">
472 <li>
473 <span class="toc_kind_header">controls</span>
474 <ul class="toc_section">
475 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
476 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
477 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
478 </ul>
479 </li>
480 <li>
481 <span class="toc_kind_header">static</span>
482 <ul class="toc_section">
483
484 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700485 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700486 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
487 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
488 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
489 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
490 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
491 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
492
493 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
494 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
495 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
496 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
497 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
498 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
499 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
500 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
501 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
502 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
503 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
504 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
505 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
506 </ul>
507 </li>
508 <li>
509 <span class="toc_kind_header">dynamic</span>
510 <ul class="toc_section">
511 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
512 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
513 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
514 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700515 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700516 </ul>
517 </li>
518 </ul> <!-- toc_section -->
519 </li>
520 <li>
521 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
522 <ul class="toc_section">
523 <li>
524 <span class="toc_kind_header">controls</span>
525 <ul class="toc_section">
526 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
527 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
528 </ul>
529 </li>
530 <li>
531 <span class="toc_kind_header">dynamic</span>
532 <ul class="toc_section">
533 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
534 </ul>
535 </li>
536 </ul> <!-- toc_section -->
537 </li>
538 <li>
539 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
540 <ul class="toc_section">
541 <li>
542 <span class="toc_kind_header">controls</span>
543 <ul class="toc_section">
544 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
545 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
546 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700547 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700548 </ul>
549 </li>
550 <li>
551 <span class="toc_kind_header">static</span>
552 <ul class="toc_section">
553
554 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
555 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
556 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
557 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
558 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
559 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
560
561 </ul>
562 </li>
563 <li>
564 <span class="toc_kind_header">dynamic</span>
565 <ul class="toc_section">
566 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
567 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
568 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
569 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
570 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
571 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
572 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
573 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
574 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700575 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
576 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
577 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
578 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700579 </ul>
580 </li>
581 </ul> <!-- toc_section -->
582 </li>
583 <li>
584 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
585 <ul class="toc_section">
586 <li>
587 <span class="toc_kind_header">controls</span>
588 <ul class="toc_section">
589 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
590 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
591 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
592 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
593 </ul>
594 </li>
595 <li>
596 <span class="toc_kind_header">static</span>
597 <ul class="toc_section">
598 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
599 </ul>
600 </li>
601 <li>
602 <span class="toc_kind_header">dynamic</span>
603 <ul class="toc_section">
604 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
605 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
606 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
607 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
608 </ul>
609 </li>
610 </ul> <!-- toc_section -->
611 </li>
612 <li>
613 <span class="toc_section_header"><a href="#section_led">led</a></span>
614 <ul class="toc_section">
615 <li>
616 <span class="toc_kind_header">controls</span>
617 <ul class="toc_section">
618 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
619 </ul>
620 </li>
621 <li>
622 <span class="toc_kind_header">dynamic</span>
623 <ul class="toc_section">
624 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
625 </ul>
626 </li>
627 <li>
628 <span class="toc_kind_header">static</span>
629 <ul class="toc_section">
630 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
631 </ul>
632 </li>
633 </ul> <!-- toc_section -->
634 </li>
635 <li>
636 <span class="toc_section_header"><a href="#section_info">info</a></span>
637 <ul class="toc_section">
638 <li>
639 <span class="toc_kind_header">static</span>
640 <ul class="toc_section">
641 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
642 </ul>
643 </li>
644 </ul> <!-- toc_section -->
645 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700646 <li>
647 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
648 <ul class="toc_section">
649 <li>
650 <span class="toc_kind_header">controls</span>
651 <ul class="toc_section">
652 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
653 </ul>
654 </li>
655 <li>
656 <span class="toc_kind_header">dynamic</span>
657 <ul class="toc_section">
658 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
659 </ul>
660 </li>
661 </ul> <!-- toc_section -->
662 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800663 </ul>
664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700665
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800666 <h1>Properties</h1>
667 <table class="properties">
668
669 <thead class="thead_dummy">
670 <tr>
671 <th class="th_name">Property Name</th>
672 <th class="th_type">Type</th>
673 <th class="th_description">Description</th>
674 <th class="th_units">Units</th>
675 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800676 <th class="th_tags">Tags</th>
677 </tr>
678 </thead> <!-- so that the first occurrence of thead is not
679 above the first occurrence of tr -->
680<!-- <namespace name="android"> -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800681 <tr><td colspan="6" id="section_colorCorrection" class="section">colorCorrection</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800682
683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800684 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700686 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800687 <tr>
688 <th class="th_name">Property Name</th>
689 <th class="th_type">Type</th>
690 <th class="th_description">Description</th>
691 <th class="th_units">Units</th>
692 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800693 <th class="th_tags">Tags</th>
694 </tr>
695 </thead>
696
697 <tbody>
698
699
700
701
702
703
704
705
706
707
708 <tr class="entry" id="controls_android.colorCorrection.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800709 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800710 android.<wbr/>color<wbr/>Correction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800711 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800712 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800713 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800714
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700715 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800716
717 <ul class="entry_type_enum">
718 <li>
719 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800720 <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
Igor Murashkin43817ad2014-01-10 15:58:35 -0800721and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
722<p>All advanced white balance adjustments (not specified
723by our white balance pipeline) must be disabled.<wbr/></p>
724<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
725TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
726this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800727 </li>
728 <li>
729 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800730 <span class="entry_type_enum_notes"><p>Must not slow down capture rate relative to sensor raw
731output.<wbr/></p>
732<p>Advanced white balance adjustments above and beyond
733the specified white balance pipeline may be applied.<wbr/></p>
734<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
735the camera device uses the last frame's AWB values
736(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800737 </li>
738 <li>
739 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800740 <span class="entry_type_enum_notes"><p>Capture rate (relative to sensor raw output)
741may be reduced by high quality.<wbr/></p>
742<p>Advanced white balance adjustments above and beyond
743the specified white balance pipeline may be applied.<wbr/></p>
744<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
745the camera device uses the last frame's AWB values
746(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 </li>
748 </ul>
749
750 </td> <!-- entry_type -->
751
752 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800753 <p>The mode control selects how the image data is converted from the
754sensor's native color into linear sRGB color.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800755 </td>
756
757 <td class="entry_units">
758 </td>
759
760 <td class="entry_range">
761 </td>
762
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800763 <td class="entry_tags">
764 </td>
765
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800766 </tr>
767 <tr class="entries_header">
768 <th class="th_details" colspan="5">Details</th>
769 </tr>
770 <tr class="entry_cont">
771 <td class="entry_details" colspan="5">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800772 <p>When auto-white balance is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
773control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
774application controls how the color mapping is performed.<wbr/></p>
775<p>We define the expected processing pipeline below.<wbr/> For consistency
776across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
777<p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
778do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
779<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
780camera device (in the results) and be roughly correct.<wbr/></p>
781<p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
782FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
783as what was produced by the camera device in the earlier frame.<wbr/></p>
784<p>The expected processing pipeline is as follows:</p>
785<p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
786<p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
787gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
788matrix (applied after demosaic).<wbr/></p>
789<p>The 4-channel white-balance gains are defined as:</p>
790<pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
791</code></pre>
792<p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
793output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
794These may be identical for a given camera device implementation; if
795the camera device does not support a separate gain for even/<wbr/>odd green
796channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
797<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
798<p>The matrices for color transforms are defined as a 9-entry vector:</p>
799<pre><code><a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> = [ I0 I1 I2 I3 I4 I5 I6 I7 I8 ]
800</code></pre>
801<p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
802to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
803<p>with colors as follows:</p>
804<pre><code>r' = I0r + I1g + I2b
805g' = I3r + I4g + I5b
806b' = I6r + I7g + I8b
807</code></pre>
808<p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
809values are clipped to fit within the range.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800810 </td>
811 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800812
813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800814 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
815 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800816
817
818 <tr class="entry" id="controls_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800819 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800820 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800821 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800822 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700823 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800824 <span class="entry_type_container">x</span>
825
826 <span class="entry_type_array">
827 3 x 3
828 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700829 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800830 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831
832
833 </td> <!-- entry_type -->
834
835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800836 <p>A color transform matrix to use to transform
837from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800838 </td>
839
840 <td class="entry_units">
841 </td>
842
843 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800844 <p>Output values are expected to be in the range
845(0,<wbr/>1)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800846 </td>
847
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800848 <td class="entry_tags">
849 </td>
850
851 </tr>
852 <tr class="entries_header">
853 <th class="th_details" colspan="5">Details</th>
854 </tr>
855 <tr class="entry_cont">
856 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800857 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800858<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800859directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800860<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -0800861<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800862for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800863reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700864 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800865 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800866
867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800868 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
869 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870
871
872 <tr class="entry" id="controls_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800874 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800875 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700876 <td class="entry_type">
877 <span class="entry_type_name">float</span>
878 <span class="entry_type_container">x</span>
879
880 <span class="entry_type_array">
881 4
882 </span>
883 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800884 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700885
886
887 </td> <!-- entry_type -->
888
889 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800890 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -0800891white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700892 </td>
893
894 <td class="entry_units">
895 </td>
896
897 <td class="entry_range">
898 </td>
899
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800900 <td class="entry_tags">
901 </td>
902
903 </tr>
904 <tr class="entries_header">
905 <th class="th_details" colspan="5">Details</th>
906 </tr>
907 <tr class="entry_cont">
908 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800909 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -0800910the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
911for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
912is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -0800913does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800914it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
915<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800916<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800917<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800918directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800919<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800920<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -0800921the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800922 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800923 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800924
925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800926 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
927 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800928
929
930
931 <!-- end of kind -->
932 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800933 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700935 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800936 <tr>
937 <th class="th_name">Property Name</th>
938 <th class="th_type">Type</th>
939 <th class="th_description">Description</th>
940 <th class="th_units">Units</th>
941 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800942 <th class="th_tags">Tags</th>
943 </tr>
944 </thead>
945
946 <tbody>
947
948
949
950
951
952
953
954
955
956
Zhijun He69fc0ea2013-07-17 09:42:58 -0700957 <tr class="entry" id="dynamic_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800958 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800959 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800961 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700962 <span class="entry_type_name">rational</span>
963 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800964
Zhijun He69fc0ea2013-07-17 09:42:58 -0700965 <span class="entry_type_array">
966 3 x 3
967 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700968 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800969 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800970
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800971
972 </td> <!-- entry_type -->
973
974 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800975 <p>A color transform matrix to use to transform
976from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700977 </td>
978
979 <td class="entry_units">
980 </td>
981
982 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800983 <p>Output values are expected to be in the range
984(0,<wbr/>1)</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700985 </td>
986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800987 <td class="entry_tags">
988 </td>
989
990 </tr>
991 <tr class="entries_header">
992 <th class="th_details" colspan="5">Details</th>
993 </tr>
994 <tr class="entry_cont">
995 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800996 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800997<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800998directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800999<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08001000<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001001for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -08001002reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001003 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001004 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001005
1006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001007 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1008 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -07001009
1010
1011 <tr class="entry" id="dynamic_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001012 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001013 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001014 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001015 <td class="entry_type">
1016 <span class="entry_type_name">float</span>
1017 <span class="entry_type_container">x</span>
1018
1019 <span class="entry_type_array">
1020 4
1021 </span>
1022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08001023 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001024
1025
1026 </td> <!-- entry_type -->
1027
1028 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -08001029 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -08001030white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001031 </td>
1032
1033 <td class="entry_units">
1034 </td>
1035
1036 <td class="entry_range">
1037 </td>
1038
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001039 <td class="entry_tags">
1040 </td>
1041
1042 </tr>
1043 <tr class="entries_header">
1044 <th class="th_details" colspan="5">Details</th>
1045 </tr>
1046 <tr class="entry_cont">
1047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001048 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -08001049the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
1050for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
1051is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -08001052does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001053it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
1054<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001055<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001056<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001057directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001058<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001059<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -08001060the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001061 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001062 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001063
1064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001065 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1066 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067
1068
1069
1070 <!-- end of kind -->
1071 </tbody>
1072
1073 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001074 <tr><td colspan="6" id="section_control" class="section">control</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001075
1076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001077 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001079 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001080 <tr>
1081 <th class="th_name">Property Name</th>
1082 <th class="th_type">Type</th>
1083 <th class="th_description">Description</th>
1084 <th class="th_units">Units</th>
1085 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001086 <th class="th_tags">Tags</th>
1087 </tr>
1088 </thead>
1089
1090 <tbody>
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101 <tr class="entry" id="controls_android.control.aeAntibandingMode">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001102 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001103 android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001104 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001105 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001106 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001108 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001109
1110 <ul class="entry_type_enum">
1111 <li>
1112 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001113 <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
1114avoid banding problems.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001115 </li>
1116 <li>
1117 <span class="entry_type_enum_name">50HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001118 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1119avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001120 </li>
1121 <li>
1122 <span class="entry_type_enum_name">60HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001123 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1124avoid banding problems with 60Hz illumination
1125sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001126 </li>
1127 <li>
1128 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001129 <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
1130antibanding routine to the current illumination
1131conditions.<wbr/> This is the default.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132 </li>
1133 </ul>
1134
1135 </td> <!-- entry_type -->
1136
1137 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001138 <p>The desired setting for the camera device's auto-exposure
1139algorithm's antibanding compensation.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </td>
1141
1142 <td class="entry_units">
1143 </td>
1144
1145 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001146 <p><a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001147 </td>
1148
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001149 <td class="entry_tags">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001150 <ul class="entry_tags">
1151 <li><a href="#tag_BC">BC</a></li>
1152 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001153 </td>
1154
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001155 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001156 <tr class="entries_header">
1157 <th class="th_details" colspan="5">Details</th>
1158 </tr>
1159 <tr class="entry_cont">
1160 <td class="entry_details" colspan="5">
1161 <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
1162lights,<wbr/> flicker at the rate of the power supply frequency
1163(60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
1164typically not noticeable to a person,<wbr/> it can be visible to
1165a camera device.<wbr/> If a camera sets its exposure time to the
1166wrong value,<wbr/> the flicker may become visible in the
1167viewfinder as flicker or in a final captured image,<wbr/> as a
1168set of variable-brightness bands across the image.<wbr/></p>
1169<p>Therefore,<wbr/> the auto-exposure routines of camera devices
1170include antibanding routines that ensure that the chosen
1171exposure value will not cause such banding.<wbr/> The choice of
1172exposure time depends on the rate of flicker,<wbr/> which the
1173camera device can detect automatically,<wbr/> or the expected
1174rate can be selected by the application using this
1175control.<wbr/></p>
1176<p>A given camera device may not support all of the possible
1177options for the antibanding mode.<wbr/> The
1178<a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
1179the available modes for a given camera device.<wbr/></p>
1180<p>The default mode is AUTO,<wbr/> which must be supported by all
1181camera devices.<wbr/></p>
1182<p>If manual exposure control is enabled (by setting
1183<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1184then this setting has no effect,<wbr/> and the application must
1185ensure it selects exposure times that do not cause banding
1186issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
1187the application in this.<wbr/></p>
1188 </td>
1189 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001190
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001191 <tr class="entries_header">
1192 <th class="th_details" colspan="5">HAL Implementation Details</th>
1193 </tr>
1194 <tr class="entry_cont">
1195 <td class="entry_details" colspan="5">
1196 <p>For all capture request templates,<wbr/> this field must be set
1197to AUTO.<wbr/> AUTO is the only mode that must supported;
1198OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
1199<p>If manual exposure control is enabled (by setting
1200<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1201then the exposure values provided by the application must not be
1202adjusted for antibanding.<wbr/></p>
1203 </td>
1204 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001205
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001206 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1207 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001208
1209
1210 <tr class="entry" id="controls_android.control.aeExposureCompensation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001211 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001212 android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001213 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001214 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001215 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001216
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001217 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001218
1219
1220 </td> <!-- entry_type -->
1221
1222 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001223 <p>Adjustment to AE target image
1224brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001225 </td>
1226
1227 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08001228 count of positive/<wbr/>negative EV steps
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001229 </td>
1230
1231 <td class="entry_range">
1232 </td>
1233
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001234 <td class="entry_tags">
1235 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001236 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001237 </ul>
1238 </td>
1239
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001240 </tr>
1241 <tr class="entries_header">
1242 <th class="th_details" colspan="5">Details</th>
1243 </tr>
1244 <tr class="entry_cont">
1245 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001246 <p>For example,<wbr/> if EV step is 0.<wbr/>333,<wbr/> '6' will mean an
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001247exposure compensation of +2 EV; -3 will mean an exposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001248compensation of -1</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001249 </td>
1250 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001251
1252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001253 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1254 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001255
1256
1257 <tr class="entry" id="controls_android.control.aeLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001258 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001259 android.<wbr/>control.<wbr/>ae<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001260 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001262 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001263
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001264 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001265
1266 <ul class="entry_type_enum">
1267 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001268 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001269 <span class="entry_type_enum_notes"><p>Autoexposure lock is disabled; the AE algorithm
1270is free to update its parameters.<wbr/></p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001271 </li>
1272 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001273 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001274 <span class="entry_type_enum_notes"><p>Autoexposure lock is enabled; the AE algorithm
1275must not update the exposure and sensitivity parameters
1276while the lock is active</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001277 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001278 </ul>
1279
1280 </td> <!-- entry_type -->
1281
1282 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001283 <p>Whether AE is currently locked to its latest
1284calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001285 </td>
1286
1287 <td class="entry_units">
1288 </td>
1289
1290 <td class="entry_range">
1291 </td>
1292
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001293 <td class="entry_tags">
1294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001295 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001296 </ul>
1297 </td>
1298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001299 </tr>
1300 <tr class="entries_header">
1301 <th class="th_details" colspan="5">Details</th>
1302 </tr>
1303 <tr class="entry_cont">
1304 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001305 <p>Note that even when AE is locked,<wbr/> the flash may be
1306fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
1307ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001308 </td>
1309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001310
1311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001314
1315
1316 <tr class="entry" id="controls_android.control.aeMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001317 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001318 android.<wbr/>control.<wbr/>ae<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001324
1325 <ul class="entry_type_enum">
1326 <li>
1327 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001328 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
1329the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1330<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
1331<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
1332device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
1333a flash unit for this camera device.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001334 </li>
1335 <li>
1336 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001337 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
1338with no flash control.<wbr/> The application's values for
1339<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1340<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1341<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
1342application has control over the various
1343android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 </li>
1345 <li>
1346 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001347 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1348the camera's flash unit,<wbr/> firing it in low-light
1349conditions.<wbr/> The flash may be fired during a
1350precapture sequence (triggered by
1351<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
1352for captures for which the
1353<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1354STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001355 </li>
1356 <li>
1357 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001358 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1359the camera's flash unit,<wbr/> always firing it for still
1360captures.<wbr/> The flash may be fired during a precapture
1361sequence (triggered by
1362<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
1363be fired for captures for which the
1364<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1365STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001366 </li>
1367 <li>
1368 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001369 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
1370reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
1371a red eye reduction flash will fire during the
1372precapture sequence.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001373 </li>
1374 </ul>
1375
1376 </td> <!-- entry_type -->
1377
1378 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001379 <p>The desired mode for the camera device's
1380auto-exposure routine.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 </td>
1382
1383 <td class="entry_units">
1384 </td>
1385
1386 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001387 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001388 </td>
1389
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001390 <td class="entry_tags">
1391 <ul class="entry_tags">
1392 <li><a href="#tag_BC">BC</a></li>
1393 </ul>
1394 </td>
1395
1396 </tr>
1397 <tr class="entries_header">
1398 <th class="th_details" colspan="5">Details</th>
1399 </tr>
1400 <tr class="entry_cont">
1401 <td class="entry_details" colspan="5">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001402 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
1403AUTO.<wbr/></p>
1404<p>When set to any of the ON modes,<wbr/> the camera device's
1405auto-exposure routine is enabled,<wbr/> overriding the
1406application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
1407and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1408<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1409<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
1410is selected,<wbr/> the camera device's flash unit controls are
1411also overridden.<wbr/></p>
1412<p>The FLASH modes are only available if the camera device
1413has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
1414<p>If flash TORCH mode is desired,<wbr/> this field must be set to
1415ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
1416<p>When set to any of the ON modes,<wbr/> the values chosen by the
1417camera device auto-exposure routine for the overridden
1418fields for a given capture will be available in its
1419CaptureResult.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001420 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001421 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001422
1423
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001424 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1425 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001426
1427
1428 <tr class="entry" id="controls_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001429 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001430 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001431 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001432 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001433 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001434 <span class="entry_type_container">x</span>
1435
1436 <span class="entry_type_array">
1437 5 x area_count
1438 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001439 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001440
1441
1442 </td> <!-- entry_type -->
1443
1444 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001445 <p>List of areas to use for
1446metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001447 </td>
1448
1449 <td class="entry_units">
1450 </td>
1451
1452 <td class="entry_range">
1453 </td>
1454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001455 <td class="entry_tags">
1456 <ul class="entry_tags">
1457 <li><a href="#tag_BC">BC</a></li>
1458 </ul>
1459 </td>
1460
1461 </tr>
1462 <tr class="entries_header">
1463 <th class="th_details" colspan="5">Details</th>
1464 </tr>
1465 <tr class="entry_cont">
1466 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001467 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1468xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1469specified coordinates.<wbr/></p>
1470<p>The coordinate system is based on the active pixel array,<wbr/>
1471with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001472(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1473<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001474bottom-right pixel in the active pixel array.<wbr/> The weight
1475should be nonnegative.<wbr/></p>
1476<p>If all regions have 0 weight,<wbr/> then no specific metering area
1477needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001478outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001479should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001480used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001481 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001482 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001483
1484
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001485 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1486 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001487
1488
1489 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001490 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001491 android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001492 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001493 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001494 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001495 <span class="entry_type_container">x</span>
1496
1497 <span class="entry_type_array">
1498 2
1499 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001500 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501
1502
1503 </td> <!-- entry_type -->
1504
1505 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001506 <p>Range over which fps can be adjusted to
1507maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001508 </td>
1509
1510 <td class="entry_units">
1511 </td>
1512
1513 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001514 <p><a href="#static_android.control.aeAvailableTargetFpsRanges">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001515 </td>
1516
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001517 <td class="entry_tags">
1518 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001519 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001520 </ul>
1521 </td>
1522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001523 </tr>
1524 <tr class="entries_header">
1525 <th class="th_details" colspan="5">Details</th>
1526 </tr>
1527 <tr class="entry_cont">
1528 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001529 <p>Only constrains AE algorithm,<wbr/> not manual control
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001530of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001531 </td>
1532 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001533
1534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001535 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1536 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001537
1538
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001539 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001540 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001541 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001542 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001543 <td class="entry_type">
1544 <span class="entry_type_name entry_type_name_enum">byte</span>
1545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001546 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001547
1548 <ul class="entry_type_enum">
1549 <li>
1550 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001551 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001552 </li>
1553 <li>
1554 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001555 <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
1556by the camera device.<wbr/> The exact effect of the precapture
1557trigger depends on the current AE mode and state.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001558 </li>
1559 </ul>
1560
1561 </td> <!-- entry_type -->
1562
1563 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001564 <p>Whether the camera device will trigger a precapture
1565metering sequence when it processes this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001566 </td>
1567
1568 <td class="entry_units">
1569 </td>
1570
1571 <td class="entry_range">
1572 </td>
1573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001574 <td class="entry_tags">
1575 <ul class="entry_tags">
1576 <li><a href="#tag_BC">BC</a></li>
1577 </ul>
1578 </td>
1579
1580 </tr>
1581 <tr class="entries_header">
1582 <th class="th_details" colspan="5">Details</th>
1583 </tr>
1584 <tr class="entry_cont">
1585 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001586 <p>This entry is normally set to IDLE,<wbr/> or is not
1587included at all in the request settings.<wbr/> When included and
Zhijun He92e698d2014-01-13 16:24:31 -08001588set to START,<wbr/> the camera device will trigger the autoexposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001589precapture metering sequence.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001590<p>The effect of AE precapture trigger depends on the current
Zhijun He92e698d2014-01-13 16:24:31 -08001591AE mode and state; see <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture
1592state transition details.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001593 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001595
1596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1598 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001599
1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001601 <tr class="entry" id="controls_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001602 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001603 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001604 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001605 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001606 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001608 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001609
1610 <ul class="entry_type_enum">
1611 <li>
1612 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001613 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
1614<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
1615application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001616 </li>
1617 <li>
1618 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001619 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
1620<p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
1621is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
1622the autofocus trigger action is called.<wbr/> When that trigger
1623is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
1624the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
1625<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
1626and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001630 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
1631autofocus trigger action is called.<wbr/></p>
1632<p>When that trigger is activated,<wbr/> AF must transition to
1633ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
1634NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
1635position to default,<wbr/> and sets the AF state to
1636INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001640 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1641position continually to attempt to provide a
1642constantly-in-focus image stream.<wbr/></p>
1643<p>The focusing behavior should be suitable for good quality
1644video recording; typically this means slower focus
1645movement and no overshoots.<wbr/> When the AF trigger is not
1646involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
1647and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
1648states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
1649the algorithm should immediately transition into
1650AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1651lens position until a cancel AF trigger is received.<wbr/></p>
1652<p>Once cancel is received,<wbr/> the algorithm should transition
1653back to INACTIVE and resume passive scan.<wbr/> Note that this
1654behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
1655ongoing PASSIVE_<wbr/>SCAN must immediately be
1656canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001657 </li>
1658 <li>
1659 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001660 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1661position continually to attempt to provide a
1662constantly-in-focus image stream.<wbr/></p>
1663<p>The focusing behavior should be suitable for still image
1664capture; typically this means focusing as fast as
1665possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
1666algorithm should start in INACTIVE state,<wbr/> and then
1667transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
1668appropriate as it attempts to maintain focus.<wbr/> When the AF
1669trigger is activated,<wbr/> the algorithm should finish its
1670PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
1671AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1672lens position until a cancel AF trigger is received.<wbr/></p>
1673<p>When the AF cancel trigger is activated,<wbr/> the algorithm
1674should transition back to INACTIVE and then act as if it
1675has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </li>
1677 <li>
1678 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001679 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
1680trigger is ignored,<wbr/> AF state should always be
1681INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682 </li>
1683 </ul>
1684
1685 </td> <!-- entry_type -->
1686
1687 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001688 <p>Whether AF is currently enabled,<wbr/> and what
1689mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001690 </td>
1691
1692 <td class="entry_units">
1693 </td>
1694
1695 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001696 <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001697 </td>
1698
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001699 <td class="entry_tags">
1700 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001701 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001702 </ul>
1703 </td>
1704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001705 </tr>
1706 <tr class="entries_header">
1707 <th class="th_details" colspan="5">Details</th>
1708 </tr>
1709 <tr class="entry_cont">
1710 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001711 <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
Zhijun Hef163fa92014-01-14 09:59:04 -08001712<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
1713the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
1714in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001715 </td>
1716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001717
1718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001719 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1720 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001721
1722
1723 <tr class="entry" id="controls_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001724 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001725 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001726 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001728 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001729 <span class="entry_type_container">x</span>
1730
1731 <span class="entry_type_array">
1732 5 x area_count
1733 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001735
1736
1737 </td> <!-- entry_type -->
1738
1739 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001740 <p>List of areas to use for focus
1741estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001742 </td>
1743
1744 <td class="entry_units">
1745 </td>
1746
1747 <td class="entry_range">
1748 </td>
1749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001750 <td class="entry_tags">
1751 <ul class="entry_tags">
1752 <li><a href="#tag_BC">BC</a></li>
1753 </ul>
1754 </td>
1755
1756 </tr>
1757 <tr class="entries_header">
1758 <th class="th_details" colspan="5">Details</th>
1759 </tr>
1760 <tr class="entry_cont">
1761 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001762 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1763xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1764specified coordinates.<wbr/></p>
1765<p>The coordinate system is based on the active pixel array,<wbr/>
1766with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001767(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1768<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001769bottom-right pixel in the active pixel array.<wbr/> The weight
1770should be nonnegative.<wbr/></p>
1771<p>If all regions have 0 weight,<wbr/> then no specific focus area
1772needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001773outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001774should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001775used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001776 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001778
1779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001782
1783
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001784 <tr class="entry" id="controls_android.control.afTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001786 android.<wbr/>control.<wbr/>af<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001787 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001788 <td class="entry_type">
1789 <span class="entry_type_name entry_type_name_enum">byte</span>
1790
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001791 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001792
1793 <ul class="entry_type_enum">
1794 <li>
1795 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001796 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001797 </li>
1798 <li>
1799 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001800 <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001801 </li>
1802 <li>
1803 <span class="entry_type_enum_name">CANCEL</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001804 <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
1805state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001806 </li>
1807 </ul>
1808
1809 </td> <!-- entry_type -->
1810
1811 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001812 <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001813 </td>
1814
1815 <td class="entry_units">
1816 </td>
1817
1818 <td class="entry_range">
1819 </td>
1820
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001821 <td class="entry_tags">
1822 <ul class="entry_tags">
1823 <li><a href="#tag_BC">BC</a></li>
1824 </ul>
1825 </td>
1826
1827 </tr>
1828 <tr class="entries_header">
1829 <th class="th_details" colspan="5">Details</th>
1830 </tr>
1831 <tr class="entry_cont">
1832 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001833 <p>This entry is normally set to IDLE,<wbr/> or is not
1834included at all in the request settings.<wbr/></p>
Zhijun He92e698d2014-01-13 16:24:31 -08001835<p>When included and set to START,<wbr/> the camera device will trigger the
1836autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
1837<p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
1838and return to its initial AF state.<wbr/></p>
1839<p>See <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for what that means for each AF mode.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001840 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001841 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001842
1843
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001844 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1845 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001846
1847
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001848 <tr class="entry" id="controls_android.control.awbLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001849 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001850 android.<wbr/>control.<wbr/>awb<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001851 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001853 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001854
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001855 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001856
1857 <ul class="entry_type_enum">
1858 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001859 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001860 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is disabled; the AWB
1861algorithm is free to update its parameters if in AUTO
1862mode.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001863 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001864 <li>
1865 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001866 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is enabled; the AWB
1867algorithm must not update the exposure and sensitivity
1868parameters while the lock is active</p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001869 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001870 </ul>
1871
1872 </td> <!-- entry_type -->
1873
1874 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001875 <p>Whether AWB is currently locked to its
1876latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001877 </td>
1878
1879 <td class="entry_units">
1880 </td>
1881
1882 <td class="entry_range">
1883 </td>
1884
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001885 <td class="entry_tags">
1886 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001887 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001888 </ul>
1889 </td>
1890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001891 </tr>
1892 <tr class="entries_header">
1893 <th class="th_details" colspan="5">Details</th>
1894 </tr>
1895 <tr class="entry_cont">
1896 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001897 <p>Note that AWB lock is only meaningful for AUTO
1898mode; in other modes,<wbr/> AWB is already fixed to a specific
1899setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001900 </td>
1901 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001902
1903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001904 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1905 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001906
1907
1908 <tr class="entry" id="controls_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001909 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001910 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001911 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001912 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001913 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001914
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001916
1917 <ul class="entry_type_enum">
1918 <li>
1919 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001920 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1921the application-selected color transform matrix
1922(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
1923(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
1924device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001925 </li>
1926 <li>
1927 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001928 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
1929the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
1930and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001931 </li>
1932 <li>
1933 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001934 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1935the camera device uses incandescent light as the assumed scene
1936illumination for white balance.<wbr/> While the exact white balance
1937transforms are up to the camera device,<wbr/> they will approximately
1938match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001939 </li>
1940 <li>
1941 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001942 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1943the camera device uses fluorescent light as the assumed scene
1944illumination for white balance.<wbr/> While the exact white balance
1945transforms are up to the camera device,<wbr/> they will approximately
1946match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001947 </li>
1948 <li>
1949 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001950 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1951the camera device uses warm fluorescent light as the assumed scene
1952illumination for white balance.<wbr/> While the exact white balance
1953transforms are up to the camera device,<wbr/> they will approximately
1954match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001955 </li>
1956 <li>
1957 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001958 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1959the camera device uses daylight light as the assumed scene
1960illumination for white balance.<wbr/> While the exact white balance
1961transforms are up to the camera device,<wbr/> they will approximately
1962match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001966 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1967the camera device uses cloudy daylight light as the assumed scene
1968illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001969 </li>
1970 <li>
1971 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001972 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1973the camera device uses twilight light as the assumed scene
1974illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001978 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1979the camera device uses shade light as the assumed scene
1980illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001981 </li>
1982 </ul>
1983
1984 </td> <!-- entry_type -->
1985
1986 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001987 <p>Whether AWB is currently setting the color
1988transform fields,<wbr/> and what its illumination target
1989is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001990 </td>
1991
1992 <td class="entry_units">
1993 </td>
1994
1995 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001996 <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001997 </td>
1998
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001999 <td class="entry_tags">
2000 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002001 <li><a href="#tag_BC">BC</a></li>
2002 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002003 </ul>
2004 </td>
2005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002006 </tr>
2007 <tr class="entries_header">
2008 <th class="th_details" colspan="5">Details</th>
2009 </tr>
2010 <tr class="entry_cont">
2011 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08002012 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
2013<p>When set to the ON mode,<wbr/> the camera device's auto white balance
2014routine is enabled,<wbr/> overriding the application's selected
2015<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
2016<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2017<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
2018routine is disabled.<wbr/> The applicantion manually controls the white
2019balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
2020and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2021<p>When set to any other modes,<wbr/> the camera device's auto white balance
2022routine is disabled.<wbr/> The camera device uses each particular illumination
2023target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002024 </td>
2025 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002026
2027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002028 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2029 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002030
2031
2032 <tr class="entry" id="controls_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002033 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002034 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002035 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002037 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002038 <span class="entry_type_container">x</span>
2039
2040 <span class="entry_type_array">
2041 5 x area_count
2042 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002043 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002044
2045
2046 </td> <!-- entry_type -->
2047
2048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002049 <p>List of areas to use for illuminant
2050estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002051 </td>
2052
2053 <td class="entry_units">
2054 </td>
2055
2056 <td class="entry_range">
2057 </td>
2058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002059 <td class="entry_tags">
2060 <ul class="entry_tags">
2061 <li><a href="#tag_BC">BC</a></li>
2062 </ul>
2063 </td>
2064
2065 </tr>
2066 <tr class="entries_header">
2067 <th class="th_details" colspan="5">Details</th>
2068 </tr>
2069 <tr class="entry_cont">
2070 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002071 <p>Only used in AUTO mode.<wbr/></p>
2072<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
2073xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
2074specified coordinates.<wbr/></p>
2075<p>The coordinate system is based on the active pixel array,<wbr/>
2076with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002077(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
2078<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08002079bottom-right pixel in the active pixel array.<wbr/> The weight
2080should be nonnegative.<wbr/></p>
2081<p>If all regions have 0 weight,<wbr/> then no specific metering area
2082needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002083outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002084should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08002085used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002086 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002088
2089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002092
2093
2094 <tr class="entry" id="controls_android.control.captureIntent">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002095 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002096 android.<wbr/>control.<wbr/>capture<wbr/>Intent
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002097 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002099 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102
2103 <ul class="entry_type_enum">
2104 <li>
2105 <span class="entry_type_enum_name">CUSTOM</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002106 <span class="entry_type_enum_notes"><p>This request doesn't fall into the other
2107categories.<wbr/> Default to preview-like
2108behavior.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002109 </li>
2110 <li>
2111 <span class="entry_type_enum_name">PREVIEW</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002112 <span class="entry_type_enum_notes"><p>This request is for a preview-like usecase.<wbr/> The
2113precapture trigger may be used to start off a metering
2114w/<wbr/>flash sequence</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002115 </li>
2116 <li>
2117 <span class="entry_type_enum_name">STILL_CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002118 <span class="entry_type_enum_notes"><p>This request is for a still capture-type
2119usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002120 </li>
2121 <li>
2122 <span class="entry_type_enum_name">VIDEO_RECORD</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002123 <span class="entry_type_enum_notes"><p>This request is for a video recording
2124usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002125 </li>
2126 <li>
2127 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002128 <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
2129image while recording video) usecase</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002130 </li>
2131 <li>
2132 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002133 <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
2134application will stream full-resolution images and
2135reprocess one or several later for a final
2136capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002137 </li>
2138 </ul>
2139
2140 </td> <!-- entry_type -->
2141
2142 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08002143 <p>Information to the camera device 3A (auto-exposure,<wbr/>
2144auto-focus,<wbr/> auto-white balance) routines about the purpose
2145of this capture,<wbr/> to help the camera device to decide optimal 3A
2146strategy.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002147 </td>
2148
2149 <td class="entry_units">
2150 </td>
2151
2152 <td class="entry_range">
Zhijun Heea27bc32014-01-15 13:47:59 -08002153 <p>All must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002154 </td>
2155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002156 <td class="entry_tags">
2157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002159 </ul>
2160 </td>
2161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002162 </tr>
2163 <tr class="entries_header">
2164 <th class="th_details" colspan="5">Details</th>
2165 </tr>
2166 <tr class="entry_cont">
2167 <td class="entry_details" colspan="5">
Zhijun Heea27bc32014-01-15 13:47:59 -08002168 <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
2169and any 3A routine is active.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002170 </td>
2171 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002172
2173
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002174 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2175 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002176
2177
2178 <tr class="entry" id="controls_android.control.effectMode">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002179 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002180 android.<wbr/>control.<wbr/>effect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002183 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002184
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002185 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002186
2187 <ul class="entry_type_enum">
2188 <li>
2189 <span class="entry_type_enum_name">OFF</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002190 <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002191 </li>
2192 <li>
2193 <span class="entry_type_enum_name">MONO</span>
2194 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002195 <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
2196a single color.<wbr/> This will typically be grayscale.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002197 </li>
2198 <li>
2199 <span class="entry_type_enum_name">NEGATIVE</span>
2200 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002201 <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
2202are inverted.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002203 </li>
2204 <li>
2205 <span class="entry_type_enum_name">SOLARIZE</span>
2206 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002207 <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
2208image is wholly or partially reversed in
2209tone.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002210 </li>
2211 <li>
2212 <span class="entry_type_enum_name">SEPIA</span>
2213 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002214 <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
2215gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002216 </li>
2217 <li>
2218 <span class="entry_type_enum_name">POSTERIZE</span>
2219 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002220 <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
2221discrete regions of tone rather than a continuous
2222gradient of tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002223 </li>
2224 <li>
2225 <span class="entry_type_enum_name">WHITEBOARD</span>
2226 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002227 <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
2228as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002229 </li>
2230 <li>
2231 <span class="entry_type_enum_name">BLACKBOARD</span>
2232 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002233 <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
2234as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002235 </li>
2236 <li>
2237 <span class="entry_type_enum_name">AQUA</span>
2238 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002239 <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002240 </li>
2241 </ul>
2242
2243 </td> <!-- entry_type -->
2244
2245 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002246 <p>A special color effect to apply.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002247 </td>
2248
2249 <td class="entry_units">
2250 </td>
2251
2252 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002253 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002254 </td>
2255
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002256 <td class="entry_tags">
2257 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002258 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002259 </ul>
2260 </td>
2261
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002262 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002263 <tr class="entries_header">
2264 <th class="th_details" colspan="5">Details</th>
2265 </tr>
2266 <tr class="entry_cont">
2267 <td class="entry_details" colspan="5">
2268 <p>When this mode is set,<wbr/> a color effect will be applied
2269to images produced by the camera device.<wbr/> The interpretation
2270and implementation of these color effects is left to the
2271implementor of the camera device,<wbr/> and should not be
2272depended on to be consistent (or present) across all
2273devices.<wbr/></p>
2274<p>A color effect will only be applied if
2275<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2276 </td>
2277 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002278
2279
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002280 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2281 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002282
2283
2284 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002285 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002286 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002287 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002288 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002289 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002290
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002291 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002292
2293 <ul class="entry_type_enum">
2294 <li>
2295 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002296 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2297routines are disabled,<wbr/> no other settings in
2298android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002299 </li>
2300 <li>
2301 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002302 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2303Manual control of capture parameters is disabled.<wbr/> All
2304controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2305effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002306 </li>
2307 <li>
2308 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002309 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2310control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2311controls; the HAL must ignore those settings while
2312USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2313scene mode).<wbr/> Other control entries are still active.<wbr/>
2314This setting can only be used if availableSceneModes !=
2315UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 </li>
2317 </ul>
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002322 <p>Overall mode of 3A control
2323routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002330 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002331 </td>
2332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002333 <td class="entry_tags">
2334 <ul class="entry_tags">
2335 <li><a href="#tag_BC">BC</a></li>
2336 </ul>
2337 </td>
2338
2339 </tr>
2340 <tr class="entries_header">
2341 <th class="th_details" colspan="5">Details</th>
2342 </tr>
2343 <tr class="entry_cont">
2344 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002345 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002346by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002347capture parameters itself.<wbr/></p>
2348<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002349android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08002350<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002351android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002352one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002353as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002354<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002355 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002356 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002357
2358
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002359 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2360 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002361
2362
2363 <tr class="entry" id="controls_android.control.sceneMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002364 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002365 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002366 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002367 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002368 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002369
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002370 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002371
2372 <ul class="entry_type_enum">
2373 <li>
2374 <span class="entry_type_enum_name">UNSUPPORTED</span>
2375 <span class="entry_type_enum_value">0</span>
2376 </li>
2377 <li>
2378 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002379 <span class="entry_type_enum_notes"><p>if face detection support exists Use face
2380detection data to drive 3A routines.<wbr/> If face detection
2381statistics are disabled,<wbr/> should still operate correctly
2382(but not return face detection statistics to the
2383framework).<wbr/></p>
2384<p>Unlike the other scene modes,<wbr/> aeMode,<wbr/> awbMode,<wbr/> and afMode
2385remain active when FACE_<wbr/>PRIORITY is set.<wbr/> This is due to
2386compatibility concerns with the old camera
2387API</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002388 </li>
2389 <li>
2390 <span class="entry_type_enum_name">ACTION</span>
2391 <span class="entry_type_enum_optional">optional</span>
2392 </li>
2393 <li>
2394 <span class="entry_type_enum_name">PORTRAIT</span>
2395 <span class="entry_type_enum_optional">optional</span>
2396 </li>
2397 <li>
2398 <span class="entry_type_enum_name">LANDSCAPE</span>
2399 <span class="entry_type_enum_optional">optional</span>
2400 </li>
2401 <li>
2402 <span class="entry_type_enum_name">NIGHT</span>
2403 <span class="entry_type_enum_optional">optional</span>
2404 </li>
2405 <li>
2406 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
2407 <span class="entry_type_enum_optional">optional</span>
2408 </li>
2409 <li>
2410 <span class="entry_type_enum_name">THEATRE</span>
2411 <span class="entry_type_enum_optional">optional</span>
2412 </li>
2413 <li>
2414 <span class="entry_type_enum_name">BEACH</span>
2415 <span class="entry_type_enum_optional">optional</span>
2416 </li>
2417 <li>
2418 <span class="entry_type_enum_name">SNOW</span>
2419 <span class="entry_type_enum_optional">optional</span>
2420 </li>
2421 <li>
2422 <span class="entry_type_enum_name">SUNSET</span>
2423 <span class="entry_type_enum_optional">optional</span>
2424 </li>
2425 <li>
2426 <span class="entry_type_enum_name">STEADYPHOTO</span>
2427 <span class="entry_type_enum_optional">optional</span>
2428 </li>
2429 <li>
2430 <span class="entry_type_enum_name">FIREWORKS</span>
2431 <span class="entry_type_enum_optional">optional</span>
2432 </li>
2433 <li>
2434 <span class="entry_type_enum_name">SPORTS</span>
2435 <span class="entry_type_enum_optional">optional</span>
2436 </li>
2437 <li>
2438 <span class="entry_type_enum_name">PARTY</span>
2439 <span class="entry_type_enum_optional">optional</span>
2440 </li>
2441 <li>
2442 <span class="entry_type_enum_name">CANDLELIGHT</span>
2443 <span class="entry_type_enum_optional">optional</span>
2444 </li>
2445 <li>
2446 <span class="entry_type_enum_name">BARCODE</span>
2447 <span class="entry_type_enum_optional">optional</span>
2448 </li>
2449 </ul>
2450
2451 </td> <!-- entry_type -->
2452
2453 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002454 <p>Which scene mode is active when
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002455<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = SCENE_<wbr/>MODE</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002456 </td>
2457
2458 <td class="entry_units">
2459 </td>
2460
2461 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002462 <p><a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002463 </td>
2464
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002465 <td class="entry_tags">
2466 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002467 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002468 </ul>
2469 </td>
2470
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002471 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002472
2473
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002474 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2475 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002476
2477
2478 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002479 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002480 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002481 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002482 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002483 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002484
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002485 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002486
2487 <ul class="entry_type_enum">
2488 <li>
2489 <span class="entry_type_enum_name">OFF</span>
2490 </li>
2491 <li>
2492 <span class="entry_type_enum_name">ON</span>
2493 </li>
2494 </ul>
2495
2496 </td> <!-- entry_type -->
2497
2498 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002499 <p>Whether video stabilization is
2500active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002501 </td>
2502
2503 <td class="entry_units">
2504 </td>
2505
2506 <td class="entry_range">
2507 </td>
2508
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002509 <td class="entry_tags">
2510 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002511 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002512 </ul>
2513 </td>
2514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002515 </tr>
2516 <tr class="entries_header">
2517 <th class="th_details" colspan="5">Details</th>
2518 </tr>
2519 <tr class="entry_cont">
2520 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002521 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002522<a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> to keep the video stream
Igor Murashkin0b080452013-12-27 15:30:25 -08002523stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002524 </td>
2525 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002526
2527
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002528 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2529 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002530
2531
2532
2533 <!-- end of kind -->
2534 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002535 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002536
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002537 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002538 <tr>
2539 <th class="th_name">Property Name</th>
2540 <th class="th_type">Type</th>
2541 <th class="th_description">Description</th>
2542 <th class="th_units">Units</th>
2543 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002544 <th class="th_tags">Tags</th>
2545 </tr>
2546 </thead>
2547
2548 <tbody>
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002560 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002561 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002562 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002564 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002565 <span class="entry_type_container">x</span>
2566
2567 <span class="entry_type_array">
2568 n
2569 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002570 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002571 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002572
2573
2574 </td> <!-- entry_type -->
2575
2576 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002577 <p>The set of auto-exposure antibanding modes that are
2578supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002579 </td>
2580
2581 <td class="entry_units">
2582 </td>
2583
2584 <td class="entry_range">
2585 </td>
2586
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002587 <td class="entry_tags">
2588 </td>
2589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002590 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002591 <tr class="entries_header">
2592 <th class="th_details" colspan="5">Details</th>
2593 </tr>
2594 <tr class="entry_cont">
2595 <td class="entry_details" colspan="5">
2596 <p>Not all of the auto-exposure anti-banding modes may be
2597supported by a given camera device.<wbr/> This field lists the
2598valid anti-banding modes that the application may request
2599for this camera device; they must include AUTO.<wbr/></p>
2600 </td>
2601 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002602
2603
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002604 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2605 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002606
2607
2608 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002609 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002610 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002611 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002612 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002613 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002614 <span class="entry_type_container">x</span>
2615
2616 <span class="entry_type_array">
2617 n
2618 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002619 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002620 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002621
2622
2623 </td> <!-- entry_type -->
2624
2625 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002626 <p>The set of auto-exposure modes that are supported by this
2627camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002628 </td>
2629
2630 <td class="entry_units">
2631 </td>
2632
2633 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002634 </td>
2635
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002636 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002637 <ul class="entry_tags">
2638 <li><a href="#tag_BC">BC</a></li>
2639 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002640 </td>
2641
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002642 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002643 <tr class="entries_header">
2644 <th class="th_details" colspan="5">Details</th>
2645 </tr>
2646 <tr class="entry_cont">
2647 <td class="entry_details" colspan="5">
2648 <p>Not all the auto-exposure modes may be supported by a
2649given camera device,<wbr/> especially if no flash unit is
2650available.<wbr/> This entry lists the valid modes for
2651<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2652<p>All camera devices support ON,<wbr/> and all camera devices with
2653flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2654ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2655<p>Full-capability camera devices always support OFF mode,<wbr/>
2656which enables application control of camera exposure time,<wbr/>
2657sensitivity,<wbr/> and frame duration.<wbr/></p>
2658 </td>
2659 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002660
2661
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002662 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2663 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002664
2665
2666 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002667 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002668 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002669 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002671 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002672 <span class="entry_type_container">x</span>
2673
2674 <span class="entry_type_array">
2675 2 x n
2676 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002677 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002678 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002679
2680
2681 </td> <!-- entry_type -->
2682
2683 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002684 <p>List of frame rate ranges supported by the
2685AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002686 </td>
2687
2688 <td class="entry_units">
2689 </td>
2690
2691 <td class="entry_range">
2692 </td>
2693
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002694 <td class="entry_tags">
2695 </td>
2696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002697 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002698
2699
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002700 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2701 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002702
2703
2704 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002705 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002706 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002707 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002708 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002709 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002710 <span class="entry_type_container">x</span>
2711
2712 <span class="entry_type_array">
2713 2
2714 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002715 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
2717
2718 </td> <!-- entry_type -->
2719
2720 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002721 <p>Maximum and minimum exposure compensation
2722setting,<wbr/> in counts of
2723android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </td>
2725
2726 <td class="entry_units">
2727 </td>
2728
2729 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002730 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2731size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002732 </td>
2733
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002734 <td class="entry_tags">
2735 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002736 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002737 </ul>
2738 </td>
2739
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002740 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002741
2742
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002743 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2744 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002745
2746
2747 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002748 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002749 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002750 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002752 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002753
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002754 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002755
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002760 <p>Smallest step by which exposure compensation
2761can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002762 </td>
2763
2764 <td class="entry_units">
2765 </td>
2766
2767 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002768 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002769 </td>
2770
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002771 <td class="entry_tags">
2772 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002773 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002774 </ul>
2775 </td>
2776
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002778
2779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002782
2783
2784 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002786 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002787 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002788 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002789 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002790 <span class="entry_type_container">x</span>
2791
2792 <span class="entry_type_array">
2793 n
2794 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002795 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002796 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002797
2798
2799 </td> <!-- entry_type -->
2800
2801 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002802 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002803selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002804 </td>
2805
2806 <td class="entry_units">
2807 </td>
2808
2809 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002810 </td>
2811
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002812 <td class="entry_tags">
2813 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002814 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002815 </ul>
2816 </td>
2817
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002818 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002819 <tr class="entries_header">
2820 <th class="th_details" colspan="5">Details</th>
2821 </tr>
2822 <tr class="entry_cont">
2823 <td class="entry_details" colspan="5">
2824 <p>Not all the auto-focus modes may be supported by a
2825given camera device.<wbr/> This entry lists the valid modes for
2826<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2827<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2828adjustable focuser units (<code><a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> &gt; 0</code>)
2829will support AUTO mode.<wbr/></p>
2830 </td>
2831 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002832
2833
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002834 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2835 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002836
2837
2838 <tr class="entry" id="static_android.control.availableEffects">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002839 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002840 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002841 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002842 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002843 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002844 <span class="entry_type_container">x</span>
2845
2846 <span class="entry_type_array">
2847 n
2848 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002849 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002850 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>effect<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002851
2852
2853 </td> <!-- entry_type -->
2854
2855 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002856 <p>List containing the subset of color effects
2857specified in <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a> that is supported by
2858this device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002859 </td>
2860
2861 <td class="entry_units">
2862 </td>
2863
2864 <td class="entry_range">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002865 <p>Any subset of enums from those specified in
2866<a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a>.<wbr/> OFF must be included in any subset.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002867 </td>
2868
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002869 <td class="entry_tags">
2870 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002871 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002872 </ul>
2873 </td>
2874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002875 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002876 <tr class="entries_header">
2877 <th class="th_details" colspan="5">Details</th>
2878 </tr>
2879 <tr class="entry_cont">
2880 <td class="entry_details" colspan="5">
2881 <p>This list contains the color effect modes that can be applied to
2882images produced by the camera device.<wbr/> Only modes that have
2883been fully implemented for the current device may be included here.<wbr/>
2884Implementations are not expected to be consistent across all devices.<wbr/>
2885If no color effect modes are available for a device,<wbr/> this should
2886simply be set to OFF.<wbr/></p>
2887<p>A color effect will only be applied if
2888<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2889 </td>
2890 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002891
2892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2894 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002895
2896
2897 <tr class="entry" id="static_android.control.availableSceneModes">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002898 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002899 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002900 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002901 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002902 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002903 <span class="entry_type_container">x</span>
2904
2905 <span class="entry_type_array">
2906 n
2907 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002908 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002909 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002910
2911
2912 </td> <!-- entry_type -->
2913
2914 <td class="entry_description">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002915 <p>List containing a subset of scene modes
2916specified in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002917 </td>
2918
2919 <td class="entry_units">
2920 </td>
2921
2922 <td class="entry_range">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002923 <p>Any subset of the enums specified in android.<wbr/>control.<wbr/>scene<wbr/>Mode
2924not including DISABLED,<wbr/> or solely DISABLED if no
2925scene modes are available.<wbr/> FACE_<wbr/>PRIORITY must be included
2926if face detection is supported (i.<wbr/>e.<wbr/><code><a href="#static_android.statistics.info.maxFaceCount">android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count</a> &gt; 0</code>).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002927 </td>
2928
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002929 <td class="entry_tags">
2930 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002931 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002932 </ul>
2933 </td>
2934
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002935 </tr>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002936 <tr class="entries_header">
2937 <th class="th_details" colspan="5">Details</th>
2938 </tr>
2939 <tr class="entry_cont">
2940 <td class="entry_details" colspan="5">
2941 <p>This list contains scene modes that can be set for the camera device.<wbr/>
2942Only scene modes that have been fully implemented for the
2943camera device may be included here.<wbr/> Implementations are not expected
2944to be consistent across all devices.<wbr/> If no scene modes are supported
2945by the camera device,<wbr/> this will be set to <code>[DISABLED]</code>.<wbr/></p>
2946 </td>
2947 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002948
2949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002950 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2951 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952
2953
2954 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002955 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002956 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002957 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002958 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002959 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960 <span class="entry_type_container">x</span>
2961
2962 <span class="entry_type_array">
2963 n
2964 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002965 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002966 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002967
2968
2969 </td> <!-- entry_type -->
2970
2971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002972 <p>List of video stabilization modes that can
2973be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002974 </td>
2975
2976 <td class="entry_units">
2977 </td>
2978
2979 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002980 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002981 </td>
2982
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002983 <td class="entry_tags">
2984 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002985 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002986 </ul>
2987 </td>
2988
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002989 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002990
2991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002992 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2993 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002994
2995
2996 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002997 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002998 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002999 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003000 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003001 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07003002 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003003
Alex Raya4251d92013-04-30 16:43:44 -07003004 <span class="entry_type_array">
3005 n
3006 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003007 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08003008 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003009
3010
3011 </td> <!-- entry_type -->
3012
3013 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08003014 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
3015that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003016 </td>
3017
3018 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003019 </td>
3020
3021 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003022 </td>
3023
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003024 <td class="entry_tags">
3025 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003026 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003027 </ul>
3028 </td>
3029
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003030 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08003031 <tr class="entries_header">
3032 <th class="th_details" colspan="5">Details</th>
3033 </tr>
3034 <tr class="entry_cont">
3035 <td class="entry_details" colspan="5">
3036 <p>Not all the auto-white-balance modes may be supported by a
3037given camera device.<wbr/> This entry lists the valid modes for
3038<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
3039<p>All camera devices will support ON mode.<wbr/></p>
3040<p>Full-capability camera devices will always support OFF mode,<wbr/>
3041which enables application control of white balance,<wbr/> by using
3042<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>(<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> must be set to TRANSFORM_<wbr/>MATRIX).<wbr/></p>
3043 </td>
3044 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003045
3046
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003047 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3048 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003049
3050
3051 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003052 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003053 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003054 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003055 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003056 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003057
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003058 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003059
3060
3061 </td> <!-- entry_type -->
3062
3063 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003064 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3065regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003066 </td>
3067
3068 <td class="entry_units">
3069 </td>
3070
3071 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003072 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003073 </td>
3074
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003075 <td class="entry_tags">
3076 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003077 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003078 </ul>
3079 </td>
3080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003081 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003082
3083
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003084 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3085 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003086
3087
3088 <tr class="entry" id="static_android.control.sceneModeOverrides">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003089 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003090 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003091 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003092 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003093 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003094 <span class="entry_type_container">x</span>
3095
3096 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003097 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003098 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003099 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003100
3101
3102 </td> <!-- entry_type -->
3103
3104 <td class="entry_description">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003105 <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
3106settings to use with each available scene mode.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003107 </td>
3108
3109 <td class="entry_units">
3110 </td>
3111
3112 <td class="entry_range">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003113 <p>For each available scene mode,<wbr/> the list must contain three
3114entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3115<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values used
3116by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
3117where aeMode has the lowest index position.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118 </td>
3119
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003120 <td class="entry_tags">
3121 <ul class="entry_tags">
3122 <li><a href="#tag_BC">BC</a></li>
3123 </ul>
3124 </td>
3125
3126 </tr>
3127 <tr class="entries_header">
3128 <th class="th_details" colspan="5">Details</th>
3129 </tr>
3130 <tr class="entry_cont">
3131 <td class="entry_details" colspan="5">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003132 <p>When a scene mode is enabled,<wbr/> the camera device is expected
3133to override <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/>
3134and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
3135that scene mode.<wbr/></p>
3136<p>The order of this list matches that of availableSceneModes,<wbr/>
3137with 3 entries for each mode.<wbr/> The overrides listed
3138for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3139mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3140<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values are
3141used instead,<wbr/> matching the behavior when android.<wbr/>control.<wbr/>mode
3142is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
3143overrides should be set to 0.<wbr/></p>
3144<p>For example,<wbr/> if availableSceneModes contains
3145<code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
3146expects sceneModeOverrides to have 9 entries formatted like:
3147<code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
3148ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003149 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003150 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003151
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003152 <tr class="entries_header">
3153 <th class="th_details" colspan="5">HAL Implementation Details</th>
3154 </tr>
3155 <tr class="entry_cont">
3156 <td class="entry_details" colspan="5">
3157 <p>To maintain backward compatibility,<wbr/> this list will be made available
3158in the static metadata of the camera service.<wbr/> The camera service will
3159use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3160<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> when using a scene
3161mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
3162 </td>
3163 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003164
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003165 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3166 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167
3168
3169
3170 <!-- end of kind -->
3171 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003172 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003174 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003175 <tr>
3176 <th class="th_name">Property Name</th>
3177 <th class="th_type">Type</th>
3178 <th class="th_description">Description</th>
3179 <th class="th_units">Units</th>
3180 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003181 <th class="th_tags">Tags</th>
3182 </tr>
3183 </thead>
3184
3185 <tbody>
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003197 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003198 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003199 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003200 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003201 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003202
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003203 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003204
3205
3206 </td> <!-- entry_type -->
3207
3208 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003209 <p>The ID sent with the latest
3210CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003211 </td>
3212
3213 <td class="entry_units">
3214 </td>
3215
3216 <td class="entry_range">
3217 </td>
3218
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003219 <td class="entry_tags">
3220 </td>
3221
3222 </tr>
3223 <tr class="entries_header">
3224 <th class="th_details" colspan="5">Details</th>
3225 </tr>
3226 <tr class="entry_cont">
3227 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003228 <p>Must be 0 if no
3229CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3230by HAL.<wbr/> Always updated even if AE algorithm ignores the
3231trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003232 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003233 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003234
3235
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003236 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3237 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003238
3239
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003240 <tr class="entry" id="dynamic_android.control.aeMode">
3241 <td class="entry_name" rowspan="3">
3242 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3243 </td>
3244 <td class="entry_type">
3245 <span class="entry_type_name entry_type_name_enum">byte</span>
3246
3247 <span class="entry_type_visibility"> [public]</span>
3248
3249 <ul class="entry_type_enum">
3250 <li>
3251 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003252 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3253the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3254<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3255<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3256device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3257a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003258 </li>
3259 <li>
3260 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003261 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3262with no flash control.<wbr/> The application's values for
3263<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3264<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3265<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3266application has control over the various
3267android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003268 </li>
3269 <li>
3270 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003271 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3272the camera's flash unit,<wbr/> firing it in low-light
3273conditions.<wbr/> The flash may be fired during a
3274precapture sequence (triggered by
3275<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3276for captures for which the
3277<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3278STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003279 </li>
3280 <li>
3281 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003282 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3283the camera's flash unit,<wbr/> always firing it for still
3284captures.<wbr/> The flash may be fired during a precapture
3285sequence (triggered by
3286<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3287be fired for captures for which the
3288<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3289STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003290 </li>
3291 <li>
3292 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003293 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3294reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3295a red eye reduction flash will fire during the
3296precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003297 </li>
3298 </ul>
3299
3300 </td> <!-- entry_type -->
3301
3302 <td class="entry_description">
3303 <p>The desired mode for the camera device's
3304auto-exposure routine.<wbr/></p>
3305 </td>
3306
3307 <td class="entry_units">
3308 </td>
3309
3310 <td class="entry_range">
3311 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3312 </td>
3313
3314 <td class="entry_tags">
3315 <ul class="entry_tags">
3316 <li><a href="#tag_BC">BC</a></li>
3317 </ul>
3318 </td>
3319
3320 </tr>
3321 <tr class="entries_header">
3322 <th class="th_details" colspan="5">Details</th>
3323 </tr>
3324 <tr class="entry_cont">
3325 <td class="entry_details" colspan="5">
3326 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3327AUTO.<wbr/></p>
3328<p>When set to any of the ON modes,<wbr/> the camera device's
3329auto-exposure routine is enabled,<wbr/> overriding the
3330application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3331and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3332<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3333<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3334is selected,<wbr/> the camera device's flash unit controls are
3335also overridden.<wbr/></p>
3336<p>The FLASH modes are only available if the camera device
3337has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3338<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3339ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3340<p>When set to any of the ON modes,<wbr/> the values chosen by the
3341camera device auto-exposure routine for the overridden
3342fields for a given capture will be available in its
3343CaptureResult.<wbr/></p>
3344 </td>
3345 </tr>
3346
3347
3348 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3349 <!-- end of entry -->
3350
3351
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003352 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003353 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003354 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003355 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003356 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003357 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003358 <span class="entry_type_container">x</span>
3359
3360 <span class="entry_type_array">
3361 5 x area_count
3362 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003363 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003364
3365
3366 </td> <!-- entry_type -->
3367
3368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003369 <p>List of areas to use for
3370metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003371 </td>
3372
3373 <td class="entry_units">
3374 </td>
3375
3376 <td class="entry_range">
3377 </td>
3378
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003379 <td class="entry_tags">
3380 <ul class="entry_tags">
3381 <li><a href="#tag_BC">BC</a></li>
3382 </ul>
3383 </td>
3384
3385 </tr>
3386 <tr class="entries_header">
3387 <th class="th_details" colspan="5">Details</th>
3388 </tr>
3389 <tr class="entry_cont">
3390 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003391 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3392xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3393specified coordinates.<wbr/></p>
3394<p>The coordinate system is based on the active pixel array,<wbr/>
3395with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003396(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3397<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08003398bottom-right pixel in the active pixel array.<wbr/> The weight
3399should be nonnegative.<wbr/></p>
3400<p>If all regions have 0 weight,<wbr/> then no specific metering area
3401needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003402outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003403should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003404used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003405 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003406 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003407
3408
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003409 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3410 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003411
3412
3413 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003414 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003415 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003416 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003418 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003419
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003420 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003421
3422 <ul class="entry_type_enum">
3423 <li>
3424 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003425 <span class="entry_type_enum_notes"><p>AE is off or recently reset.<wbr/> When a camera device is opened,<wbr/> it starts in
Igor Murashkina10351a2014-01-15 17:05:22 -08003426this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003427 </li>
3428 <li>
3429 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003430 <span class="entry_type_enum_notes"><p>AE doesn't yet have a good set of control values
Zhijun He92e698d2014-01-13 16:24:31 -08003431for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003432 </li>
3433 <li>
3434 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003435 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003436current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003437 </li>
3438 <li>
3439 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003440 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003441 </li>
3442 <li>
3443 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003444 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3445needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003446capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003447 </li>
3448 <li>
3449 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003450 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003451(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3452and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003453completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003454FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003455 </li>
3456 </ul>
3457
3458 </td> <!-- entry_type -->
3459
3460 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003461 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003462 </td>
3463
3464 <td class="entry_units">
3465 </td>
3466
3467 <td class="entry_range">
3468 </td>
3469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003470 <td class="entry_tags">
3471 </td>
3472
3473 </tr>
3474 <tr class="entries_header">
3475 <th class="th_details" colspan="5">Details</th>
3476 </tr>
3477 <tr class="entry_cont">
3478 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003479 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3480resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3481or <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code> resets all
3482the algorithm states to INACTIVE.<wbr/></p>
3483<p>The camera device can do several state transitions between two results,<wbr/> if it is
3484allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3485seen in a result.<wbr/></p>
3486<p>The state in the result is the state for this image (in sync with this image): if
3487AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3488be good to use.<wbr/></p>
3489<p>Below are state transition tables for different AE modes.<wbr/></p>
3490<table>
3491<thead>
3492<tr>
3493<th align="center">State</th>
3494<th align="center">Transition Cause</th>
3495<th align="center">New State</th>
3496<th align="center">Notes</th>
3497</tr>
3498</thead>
3499<tbody>
3500<tr>
3501<td align="center">INACTIVE</td>
3502<td align="center"></td>
3503<td align="center">INACTIVE</td>
3504<td align="center">Camera device auto exposure algorithm is disabled</td>
3505</tr>
3506</tbody>
3507</table>
3508<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3509<table>
3510<thead>
3511<tr>
3512<th align="center">State</th>
3513<th align="center">Transition Cause</th>
3514<th align="center">New State</th>
3515<th align="center">Notes</th>
3516</tr>
3517</thead>
3518<tbody>
3519<tr>
3520<td align="center">INACTIVE</td>
3521<td align="center">Camera device initiates AE scan</td>
3522<td align="center">SEARCHING</td>
3523<td align="center">Values changing</td>
3524</tr>
3525<tr>
3526<td align="center">INACTIVE</td>
3527<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3528<td align="center">LOCKED</td>
3529<td align="center">Values locked</td>
3530</tr>
3531<tr>
3532<td align="center">SEARCHING</td>
3533<td align="center">Camera device finishes AE scan</td>
3534<td align="center">CONVERGED</td>
3535<td align="center">Good values,<wbr/> not changing</td>
3536</tr>
3537<tr>
3538<td align="center">SEARCHING</td>
3539<td align="center">Camera device finishes AE scan</td>
3540<td align="center">FLASH_<wbr/>REQUIRED</td>
3541<td align="center">Converged but too dark w/<wbr/>o flash</td>
3542</tr>
3543<tr>
3544<td align="center">SEARCHING</td>
3545<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3546<td align="center">LOCKED</td>
3547<td align="center">Values locked</td>
3548</tr>
3549<tr>
3550<td align="center">CONVERGED</td>
3551<td align="center">Camera device initiates AE scan</td>
3552<td align="center">SEARCHING</td>
3553<td align="center">Values changing</td>
3554</tr>
3555<tr>
3556<td align="center">CONVERGED</td>
3557<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3558<td align="center">LOCKED</td>
3559<td align="center">Values locked</td>
3560</tr>
3561<tr>
3562<td align="center">FLASH_<wbr/>REQUIRED</td>
3563<td align="center">Camera device initiates AE scan</td>
3564<td align="center">SEARCHING</td>
3565<td align="center">Values changing</td>
3566</tr>
3567<tr>
3568<td align="center">FLASH_<wbr/>REQUIRED</td>
3569<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3570<td align="center">LOCKED</td>
3571<td align="center">Values locked</td>
3572</tr>
3573<tr>
3574<td align="center">LOCKED</td>
3575<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3576<td align="center">SEARCHING</td>
3577<td align="center">Values not good after unlock</td>
3578</tr>
3579<tr>
3580<td align="center">LOCKED</td>
3581<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3582<td align="center">CONVERGED</td>
3583<td align="center">Values good after unlock</td>
3584</tr>
3585<tr>
3586<td align="center">LOCKED</td>
3587<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3588<td align="center">FLASH_<wbr/>REQUIRED</td>
3589<td align="center">Exposure good,<wbr/> but too dark</td>
3590</tr>
3591<tr>
3592<td align="center">PRECAPTURE</td>
3593<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3594<td align="center">CONVERGED</td>
3595<td align="center">Ready for high-quality capture</td>
3596</tr>
3597<tr>
3598<td align="center">PRECAPTURE</td>
3599<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3600<td align="center">LOCKED</td>
3601<td align="center">Ready for high-quality capture</td>
3602</tr>
3603<tr>
3604<td align="center">Any state</td>
3605<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3606<td align="center">PRECAPTURE</td>
3607<td align="center">Start AE precapture metering sequence</td>
3608</tr>
3609</tbody>
3610</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003611 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003612 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003613
3614
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003615 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3616 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003617
3618
3619 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003620 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003621 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003622 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003623 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003624 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003625
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003626 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003627
3628 <ul class="entry_type_enum">
3629 <li>
3630 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003631 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3632<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3633application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003634 </li>
3635 <li>
3636 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003637 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3638<p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
3639is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3640the autofocus trigger action is called.<wbr/> When that trigger
3641is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3642the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3643<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3644and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003645 </li>
3646 <li>
3647 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003648 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3649autofocus trigger action is called.<wbr/></p>
3650<p>When that trigger is activated,<wbr/> AF must transition to
3651ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3652NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3653position to default,<wbr/> and sets the AF state to
3654INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003655 </li>
3656 <li>
3657 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003658 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3659position continually to attempt to provide a
3660constantly-in-focus image stream.<wbr/></p>
3661<p>The focusing behavior should be suitable for good quality
3662video recording; typically this means slower focus
3663movement and no overshoots.<wbr/> When the AF trigger is not
3664involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3665and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3666states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3667the algorithm should immediately transition into
3668AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3669lens position until a cancel AF trigger is received.<wbr/></p>
3670<p>Once cancel is received,<wbr/> the algorithm should transition
3671back to INACTIVE and resume passive scan.<wbr/> Note that this
3672behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3673ongoing PASSIVE_<wbr/>SCAN must immediately be
3674canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003675 </li>
3676 <li>
3677 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003678 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3679position continually to attempt to provide a
3680constantly-in-focus image stream.<wbr/></p>
3681<p>The focusing behavior should be suitable for still image
3682capture; typically this means focusing as fast as
3683possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3684algorithm should start in INACTIVE state,<wbr/> and then
3685transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3686appropriate as it attempts to maintain focus.<wbr/> When the AF
3687trigger is activated,<wbr/> the algorithm should finish its
3688PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3689AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3690lens position until a cancel AF trigger is received.<wbr/></p>
3691<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3692should transition back to INACTIVE and then act as if it
3693has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003694 </li>
3695 <li>
3696 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003697 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3698trigger is ignored,<wbr/> AF state should always be
3699INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003700 </li>
3701 </ul>
3702
3703 </td> <!-- entry_type -->
3704
3705 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003706 <p>Whether AF is currently enabled,<wbr/> and what
3707mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003708 </td>
3709
3710 <td class="entry_units">
3711 </td>
3712
3713 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003714 <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003715 </td>
3716
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003717 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003718 <ul class="entry_tags">
3719 <li><a href="#tag_BC">BC</a></li>
3720 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003721 </td>
3722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003723 </tr>
3724 <tr class="entries_header">
3725 <th class="th_details" colspan="5">Details</th>
3726 </tr>
3727 <tr class="entry_cont">
3728 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003729 <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
Zhijun Hef163fa92014-01-14 09:59:04 -08003730<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3731the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3732in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003733 </td>
3734 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003735
3736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003737 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3738 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003739
3740
3741 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003742 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003743 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003744 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003746 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747 <span class="entry_type_container">x</span>
3748
3749 <span class="entry_type_array">
3750 5 x area_count
3751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003752 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003753
3754
3755 </td> <!-- entry_type -->
3756
3757 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003758 <p>List of areas to use for focus
3759estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003760 </td>
3761
3762 <td class="entry_units">
3763 </td>
3764
3765 <td class="entry_range">
3766 </td>
3767
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003768 <td class="entry_tags">
3769 <ul class="entry_tags">
3770 <li><a href="#tag_BC">BC</a></li>
3771 </ul>
3772 </td>
3773
3774 </tr>
3775 <tr class="entries_header">
3776 <th class="th_details" colspan="5">Details</th>
3777 </tr>
3778 <tr class="entry_cont">
3779 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003780 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3781xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3782specified coordinates.<wbr/></p>
3783<p>The coordinate system is based on the active pixel array,<wbr/>
3784with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003785(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3786<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08003787bottom-right pixel in the active pixel array.<wbr/> The weight
3788should be nonnegative.<wbr/></p>
3789<p>If all regions have 0 weight,<wbr/> then no specific focus area
3790needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003791outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003792should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003793used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003794 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003795 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003796
3797
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003798 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3799 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003800
3801
3802 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003803 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003804 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003805 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003806 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003807 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003808
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003809 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003810
3811 <ul class="entry_type_enum">
3812 <li>
3813 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003814 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3815to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3816this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003817 </li>
3818 <li>
3819 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003820 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3821currently doing an AF scan initiated by a continuous
3822autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003823 </li>
3824 <li>
3825 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003826 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3827believes it is in focus,<wbr/> but may restart scanning at
3828any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003829 </li>
3830 <li>
3831 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003832 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3833an AF scan because it was triggered by AF
3834trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003835 </li>
3836 <li>
3837 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003838 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3839believes it is focused correctly and is
3840locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003841 </li>
3842 <li>
3843 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003844 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3845failed to focus successfully and is
3846locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003847 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003848 <li>
3849 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003850 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3851passive scan without finding focus,<wbr/> and may restart
3852scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003853 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003854 </ul>
3855
3856 </td> <!-- entry_type -->
3857
3858 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003859 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003860 </td>
3861
3862 <td class="entry_units">
3863 </td>
3864
3865 <td class="entry_range">
3866 </td>
3867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003868 <td class="entry_tags">
3869 </td>
3870
3871 </tr>
3872 <tr class="entries_header">
3873 <th class="th_details" colspan="5">Details</th>
3874 </tr>
3875 <tr class="entry_cont">
3876 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003877 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3878resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3879or <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code> resets all
3880the algorithm states to INACTIVE.<wbr/></p>
3881<p>The camera device can do several state transitions between two results,<wbr/> if it is
3882allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3883seen in a result.<wbr/></p>
3884<p>The state in the result is the state for this image (in sync with this image): if
3885AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3886be sharp.<wbr/></p>
3887<p>Below are state transition tables for different AF modes.<wbr/></p>
3888<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>OFF or AF_<wbr/>MODE_<wbr/>EDOF:</p>
3889<table>
3890<thead>
3891<tr>
3892<th align="center">State</th>
3893<th align="center">Transition Cause</th>
3894<th align="center">New State</th>
3895<th align="center">Notes</th>
3896</tr>
3897</thead>
3898<tbody>
3899<tr>
3900<td align="center">INACTIVE</td>
3901<td align="center"></td>
3902<td align="center">INACTIVE</td>
3903<td align="center">Never changes</td>
3904</tr>
3905</tbody>
3906</table>
3907<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>AUTO or AF_<wbr/>MODE_<wbr/>MACRO:</p>
3908<table>
3909<thead>
3910<tr>
3911<th align="center">State</th>
3912<th align="center">Transition Cause</th>
3913<th align="center">New State</th>
3914<th align="center">Notes</th>
3915</tr>
3916</thead>
3917<tbody>
3918<tr>
3919<td align="center">INACTIVE</td>
3920<td align="center">AF_<wbr/>TRIGGER</td>
3921<td align="center">ACTIVE_<wbr/>SCAN</td>
3922<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3923</tr>
3924<tr>
3925<td align="center">ACTIVE_<wbr/>SCAN</td>
3926<td align="center">AF sweep done</td>
3927<td align="center">FOCUSED_<wbr/>LOCKED</td>
3928<td align="center">Focused,<wbr/> Lens now locked</td>
3929</tr>
3930<tr>
3931<td align="center">ACTIVE_<wbr/>SCAN</td>
3932<td align="center">AF sweep done</td>
3933<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3934<td align="center">Not focused,<wbr/> Lens now locked</td>
3935</tr>
3936<tr>
3937<td align="center">ACTIVE_<wbr/>SCAN</td>
3938<td align="center">AF_<wbr/>CANCEL</td>
3939<td align="center">INACTIVE</td>
3940<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3941</tr>
3942<tr>
3943<td align="center">FOCUSED_<wbr/>LOCKED</td>
3944<td align="center">AF_<wbr/>CANCEL</td>
3945<td align="center">INACTIVE</td>
3946<td align="center">Cancel/<wbr/>reset AF</td>
3947</tr>
3948<tr>
3949<td align="center">FOCUSED_<wbr/>LOCKED</td>
3950<td align="center">AF_<wbr/>TRIGGER</td>
3951<td align="center">ACTIVE_<wbr/>SCAN</td>
3952<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3953</tr>
3954<tr>
3955<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3956<td align="center">AF_<wbr/>CANCEL</td>
3957<td align="center">INACTIVE</td>
3958<td align="center">Cancel/<wbr/>reset AF</td>
3959</tr>
3960<tr>
3961<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3962<td align="center">AF_<wbr/>TRIGGER</td>
3963<td align="center">ACTIVE_<wbr/>SCAN</td>
3964<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3965</tr>
3966<tr>
3967<td align="center">Any state</td>
3968<td align="center">Mode change</td>
3969<td align="center">INACTIVE</td>
3970<td align="center"></td>
3971</tr>
3972</tbody>
3973</table>
3974<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>CONTINUOUS_<wbr/>VIDEO:</p>
3975<table>
3976<thead>
3977<tr>
3978<th align="center">State</th>
3979<th align="center">Transition Cause</th>
3980<th align="center">New State</th>
3981<th align="center">Notes</th>
3982</tr>
3983</thead>
3984<tbody>
3985<tr>
3986<td align="center">INACTIVE</td>
3987<td align="center">Camera device initiates new scan</td>
3988<td align="center">PASSIVE_<wbr/>SCAN</td>
3989<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3990</tr>
3991<tr>
3992<td align="center">INACTIVE</td>
3993<td align="center">AF_<wbr/>TRIGGER</td>
3994<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3995<td align="center">AF state query,<wbr/> Lens now locked</td>
3996</tr>
3997<tr>
3998<td align="center">PASSIVE_<wbr/>SCAN</td>
3999<td align="center">Camera device completes current scan</td>
4000<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4001<td align="center">End AF scan,<wbr/> Lens now locked</td>
4002</tr>
4003<tr>
4004<td align="center">PASSIVE_<wbr/>SCAN</td>
4005<td align="center">Camera device fails current scan</td>
4006<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4007<td align="center">End AF scan,<wbr/> Lens now locked</td>
4008</tr>
4009<tr>
4010<td align="center">PASSIVE_<wbr/>SCAN</td>
4011<td align="center">AF_<wbr/>TRIGGER</td>
4012<td align="center">FOCUSED_<wbr/>LOCKED</td>
4013<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
4014</tr>
4015<tr>
4016<td align="center">PASSIVE_<wbr/>SCAN</td>
4017<td align="center">AF_<wbr/>TRIGGER</td>
4018<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4019<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
4020</tr>
4021<tr>
4022<td align="center">PASSIVE_<wbr/>SCAN</td>
4023<td align="center">AF_<wbr/>CANCEL</td>
4024<td align="center">INACTIVE</td>
4025<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4026</tr>
4027<tr>
4028<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4029<td align="center">Camera device initiates new scan</td>
4030<td align="center">PASSIVE_<wbr/>SCAN</td>
4031<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4032</tr>
4033<tr>
4034<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4035<td align="center">Camera device initiates new scan</td>
4036<td align="center">PASSIVE_<wbr/>SCAN</td>
4037<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4038</tr>
4039<tr>
4040<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4041<td align="center">AF_<wbr/>TRIGGER</td>
4042<td align="center">FOCUSED_<wbr/>LOCKED</td>
4043<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4044</tr>
4045<tr>
4046<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4047<td align="center">AF_<wbr/>TRIGGER</td>
4048<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4049<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4050</tr>
4051<tr>
4052<td align="center">FOCUSED_<wbr/>LOCKED</td>
4053<td align="center">AF_<wbr/>TRIGGER</td>
4054<td align="center">FOCUSED_<wbr/>LOCKED</td>
4055<td align="center">No effect</td>
4056</tr>
4057<tr>
4058<td align="center">FOCUSED_<wbr/>LOCKED</td>
4059<td align="center">AF_<wbr/>CANCEL</td>
4060<td align="center">INACTIVE</td>
4061<td align="center">Restart AF scan</td>
4062</tr>
4063<tr>
4064<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4065<td align="center">AF_<wbr/>TRIGGER</td>
4066<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4067<td align="center">No effect</td>
4068</tr>
4069<tr>
4070<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4071<td align="center">AF_<wbr/>CANCEL</td>
4072<td align="center">INACTIVE</td>
4073<td align="center">Restart AF scan</td>
4074</tr>
4075</tbody>
4076</table>
4077<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>CONTINUOUS_<wbr/>PICTURE:</p>
4078<table>
4079<thead>
4080<tr>
4081<th align="center">State</th>
4082<th align="center">Transition Cause</th>
4083<th align="center">New State</th>
4084<th align="center">Notes</th>
4085</tr>
4086</thead>
4087<tbody>
4088<tr>
4089<td align="center">INACTIVE</td>
4090<td align="center">Camera device initiates new scan</td>
4091<td align="center">PASSIVE_<wbr/>SCAN</td>
4092<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4093</tr>
4094<tr>
4095<td align="center">INACTIVE</td>
4096<td align="center">AF_<wbr/>TRIGGER</td>
4097<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4098<td align="center">AF state query,<wbr/> Lens now locked</td>
4099</tr>
4100<tr>
4101<td align="center">PASSIVE_<wbr/>SCAN</td>
4102<td align="center">Camera device completes current scan</td>
4103<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4104<td align="center">End AF scan,<wbr/> Lens now locked</td>
4105</tr>
4106<tr>
4107<td align="center">PASSIVE_<wbr/>SCAN</td>
4108<td align="center">Camera device fails current scan</td>
4109<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4110<td align="center">End AF scan,<wbr/> Lens now locked</td>
4111</tr>
4112<tr>
4113<td align="center">PASSIVE_<wbr/>SCAN</td>
4114<td align="center">AF_<wbr/>TRIGGER</td>
4115<td align="center">FOCUSED_<wbr/>LOCKED</td>
4116<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4117</tr>
4118<tr>
4119<td align="center">PASSIVE_<wbr/>SCAN</td>
4120<td align="center">AF_<wbr/>TRIGGER</td>
4121<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4122<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4123</tr>
4124<tr>
4125<td align="center">PASSIVE_<wbr/>SCAN</td>
4126<td align="center">AF_<wbr/>CANCEL</td>
4127<td align="center">INACTIVE</td>
4128<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4129</tr>
4130<tr>
4131<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4132<td align="center">Camera device initiates new scan</td>
4133<td align="center">PASSIVE_<wbr/>SCAN</td>
4134<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4135</tr>
4136<tr>
4137<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4138<td align="center">Camera device initiates new scan</td>
4139<td align="center">PASSIVE_<wbr/>SCAN</td>
4140<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4141</tr>
4142<tr>
4143<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4144<td align="center">AF_<wbr/>TRIGGER</td>
4145<td align="center">FOCUSED_<wbr/>LOCKED</td>
4146<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4147</tr>
4148<tr>
4149<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4150<td align="center">AF_<wbr/>TRIGGER</td>
4151<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4152<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4153</tr>
4154<tr>
4155<td align="center">FOCUSED_<wbr/>LOCKED</td>
4156<td align="center">AF_<wbr/>TRIGGER</td>
4157<td align="center">FOCUSED_<wbr/>LOCKED</td>
4158<td align="center">No effect</td>
4159</tr>
4160<tr>
4161<td align="center">FOCUSED_<wbr/>LOCKED</td>
4162<td align="center">AF_<wbr/>CANCEL</td>
4163<td align="center">INACTIVE</td>
4164<td align="center">Restart AF scan</td>
4165</tr>
4166<tr>
4167<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4168<td align="center">AF_<wbr/>TRIGGER</td>
4169<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4170<td align="center">No effect</td>
4171</tr>
4172<tr>
4173<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4174<td align="center">AF_<wbr/>CANCEL</td>
4175<td align="center">INACTIVE</td>
4176<td align="center">Restart AF scan</td>
4177</tr>
4178</tbody>
4179</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004180 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004181 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004182
4183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004184 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4185 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004186
4187
4188 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004189 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004190 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004191 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004193 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004194
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004195 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004196
4197
4198 </td> <!-- entry_type -->
4199
4200 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004201 <p>The ID sent with the latest
4202CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004203 </td>
4204
4205 <td class="entry_units">
4206 </td>
4207
4208 <td class="entry_range">
4209 </td>
4210
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004211 <td class="entry_tags">
4212 </td>
4213
4214 </tr>
4215 <tr class="entries_header">
4216 <th class="th_details" colspan="5">Details</th>
4217 </tr>
4218 <tr class="entry_cont">
4219 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004220 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4221received yet by HAL.<wbr/> Always updated even if AF algorithm
4222ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004223 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004224 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004225
4226
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004227 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4228 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004229
4230
4231 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004232 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004233 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004234 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004236 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004238 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004239
4240 <ul class="entry_type_enum">
4241 <li>
4242 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004243 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4244the application-selected color transform matrix
4245(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4246(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4247device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004248 </li>
4249 <li>
4250 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004251 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4252the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4253and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004254 </li>
4255 <li>
4256 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004257 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4258the camera device uses incandescent light as the assumed scene
4259illumination for white balance.<wbr/> While the exact white balance
4260transforms are up to the camera device,<wbr/> they will approximately
4261match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004262 </li>
4263 <li>
4264 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004265 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4266the camera device uses fluorescent light as the assumed scene
4267illumination for white balance.<wbr/> While the exact white balance
4268transforms are up to the camera device,<wbr/> they will approximately
4269match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004270 </li>
4271 <li>
4272 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004273 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4274the camera device uses warm fluorescent light as the assumed scene
4275illumination for white balance.<wbr/> While the exact white balance
4276transforms are up to the camera device,<wbr/> they will approximately
4277match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004278 </li>
4279 <li>
4280 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004281 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4282the camera device uses daylight light as the assumed scene
4283illumination for white balance.<wbr/> While the exact white balance
4284transforms are up to the camera device,<wbr/> they will approximately
4285match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004286 </li>
4287 <li>
4288 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004289 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4290the camera device uses cloudy daylight light as the assumed scene
4291illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004292 </li>
4293 <li>
4294 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004295 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4296the camera device uses twilight light as the assumed scene
4297illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004298 </li>
4299 <li>
4300 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004301 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4302the camera device uses shade light as the assumed scene
4303illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004304 </li>
4305 </ul>
4306
4307 </td> <!-- entry_type -->
4308
4309 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004310 <p>Whether AWB is currently setting the color
4311transform fields,<wbr/> and what its illumination target
4312is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004313 </td>
4314
4315 <td class="entry_units">
4316 </td>
4317
4318 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004319 <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004320 </td>
4321
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004322 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004323 <ul class="entry_tags">
4324 <li><a href="#tag_BC">BC</a></li>
4325 <li><a href="#tag_AWB">AWB</a></li>
4326 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004327 </td>
4328
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004329 </tr>
4330 <tr class="entries_header">
4331 <th class="th_details" colspan="5">Details</th>
4332 </tr>
4333 <tr class="entry_cont">
4334 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004335 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4336<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4337routine is enabled,<wbr/> overriding the application's selected
4338<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
4339<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4340<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4341routine is disabled.<wbr/> The applicantion manually controls the white
4342balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4343and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4344<p>When set to any other modes,<wbr/> the camera device's auto white balance
4345routine is disabled.<wbr/> The camera device uses each particular illumination
4346target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004347 </td>
4348 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004349
4350
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004351 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4352 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004353
4354
4355 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004356 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004357 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004358 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004359 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004360 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004361 <span class="entry_type_container">x</span>
4362
4363 <span class="entry_type_array">
4364 5 x area_count
4365 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004366 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004367
4368
4369 </td> <!-- entry_type -->
4370
4371 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004372 <p>List of areas to use for illuminant
4373estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004374 </td>
4375
4376 <td class="entry_units">
4377 </td>
4378
4379 <td class="entry_range">
4380 </td>
4381
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004382 <td class="entry_tags">
4383 <ul class="entry_tags">
4384 <li><a href="#tag_BC">BC</a></li>
4385 </ul>
4386 </td>
4387
4388 </tr>
4389 <tr class="entries_header">
4390 <th class="th_details" colspan="5">Details</th>
4391 </tr>
4392 <tr class="entry_cont">
4393 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004394 <p>Only used in AUTO mode.<wbr/></p>
4395<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4396xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4397specified coordinates.<wbr/></p>
4398<p>The coordinate system is based on the active pixel array,<wbr/>
4399with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004400(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4401<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08004402bottom-right pixel in the active pixel array.<wbr/> The weight
4403should be nonnegative.<wbr/></p>
4404<p>If all regions have 0 weight,<wbr/> then no specific metering area
4405needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004406outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004407should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004408used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004409 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004410 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004411
4412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004415
4416
4417 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004418 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004419 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004422 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004423
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004424 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004425
4426 <ul class="entry_type_enum">
4427 <li>
4428 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004429 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4430starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004431 </li>
4432 <li>
4433 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004434 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004435values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004436 </li>
4437 <li>
4438 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004439 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004440current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004441 </li>
4442 <li>
4443 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004444 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004445 </li>
4446 </ul>
4447
4448 </td> <!-- entry_type -->
4449
4450 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004451 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004452 </td>
4453
4454 <td class="entry_units">
4455 </td>
4456
4457 <td class="entry_range">
4458 </td>
4459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004460 <td class="entry_tags">
4461 </td>
4462
4463 </tr>
4464 <tr class="entries_header">
4465 <th class="th_details" colspan="5">Details</th>
4466 </tr>
4467 <tr class="entry_cont">
4468 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004469 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4470resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4471or <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code> resets all
4472the algorithm states to INACTIVE.<wbr/></p>
4473<p>The camera device can do several state transitions between two results,<wbr/> if it is
4474allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4475a result.<wbr/></p>
4476<p>The state in the result is the state for this image (in sync with this image): if
4477AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4478be good to use.<wbr/></p>
4479<p>Below are state transition tables for different AWB modes.<wbr/></p>
4480<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4481<table>
4482<thead>
4483<tr>
4484<th align="center">State</th>
4485<th align="center">Transition Cause</th>
4486<th align="center">New State</th>
4487<th align="center">Notes</th>
4488</tr>
4489</thead>
4490<tbody>
4491<tr>
4492<td align="center">INACTIVE</td>
4493<td align="center"></td>
4494<td align="center">INACTIVE</td>
4495<td align="center">Camera device auto white balance algorithm is disabled</td>
4496</tr>
4497</tbody>
4498</table>
4499<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4500<table>
4501<thead>
4502<tr>
4503<th align="center">State</th>
4504<th align="center">Transition Cause</th>
4505<th align="center">New State</th>
4506<th align="center">Notes</th>
4507</tr>
4508</thead>
4509<tbody>
4510<tr>
4511<td align="center">INACTIVE</td>
4512<td align="center">Camera device initiates AWB scan</td>
4513<td align="center">SEARCHING</td>
4514<td align="center">Values changing</td>
4515</tr>
4516<tr>
4517<td align="center">INACTIVE</td>
4518<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4519<td align="center">LOCKED</td>
4520<td align="center">Values locked</td>
4521</tr>
4522<tr>
4523<td align="center">SEARCHING</td>
4524<td align="center">Camera device finishes AWB scan</td>
4525<td align="center">CONVERGED</td>
4526<td align="center">Good values,<wbr/> not changing</td>
4527</tr>
4528<tr>
4529<td align="center">SEARCHING</td>
4530<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4531<td align="center">LOCKED</td>
4532<td align="center">Values locked</td>
4533</tr>
4534<tr>
4535<td align="center">CONVERGED</td>
4536<td align="center">Camera device initiates AWB scan</td>
4537<td align="center">SEARCHING</td>
4538<td align="center">Values changing</td>
4539</tr>
4540<tr>
4541<td align="center">CONVERGED</td>
4542<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4543<td align="center">LOCKED</td>
4544<td align="center">Values locked</td>
4545</tr>
4546<tr>
4547<td align="center">LOCKED</td>
4548<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4549<td align="center">SEARCHING</td>
4550<td align="center">Values not good after unlock</td>
4551</tr>
4552<tr>
4553<td align="center">LOCKED</td>
4554<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4555<td align="center">CONVERGED</td>
4556<td align="center">Values good after unlock</td>
4557</tr>
4558</tbody>
4559</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004560 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004561 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004562
4563
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004564 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4565 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004566
4567
4568 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004569 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004570 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004571 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004572 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004573 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004574
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004575 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004576
4577 <ul class="entry_type_enum">
4578 <li>
4579 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004580 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4581routines are disabled,<wbr/> no other settings in
4582android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004583 </li>
4584 <li>
4585 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004586 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4587Manual control of capture parameters is disabled.<wbr/> All
4588controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4589effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004590 </li>
4591 <li>
4592 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004593 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4594control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4595controls; the HAL must ignore those settings while
4596USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4597scene mode).<wbr/> Other control entries are still active.<wbr/>
4598This setting can only be used if availableSceneModes !=
4599UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004600 </li>
4601 </ul>
4602
4603 </td> <!-- entry_type -->
4604
4605 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004606 <p>Overall mode of 3A control
4607routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004608 </td>
4609
4610 <td class="entry_units">
4611 </td>
4612
4613 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004614 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004615 </td>
4616
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004617 <td class="entry_tags">
4618 <ul class="entry_tags">
4619 <li><a href="#tag_BC">BC</a></li>
4620 </ul>
4621 </td>
4622
4623 </tr>
4624 <tr class="entries_header">
4625 <th class="th_details" colspan="5">Details</th>
4626 </tr>
4627 <tr class="entry_cont">
4628 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004629 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004630by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004631capture parameters itself.<wbr/></p>
4632<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004633android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08004634<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004635android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004636one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004637as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004638<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004639 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004640 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004641
4642
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004643 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4644 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004645
4646
4647
4648 <!-- end of kind -->
4649 </tbody>
4650
4651 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004652 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004653
4654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004655 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004657 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004658 <tr>
4659 <th class="th_name">Property Name</th>
4660 <th class="th_type">Type</th>
4661 <th class="th_description">Description</th>
4662 <th class="th_units">Units</th>
4663 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004664 <th class="th_tags">Tags</th>
4665 </tr>
4666 </thead>
4667
4668 <tbody>
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004680 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004681 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004682 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004683 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004684 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004686 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004687
4688 <ul class="entry_type_enum">
4689 <li>
4690 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004691 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4692Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004693 </li>
4694 <li>
4695 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004696 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4697rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004698 </li>
4699 </ul>
4700
4701 </td> <!-- entry_type -->
4702
4703 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004704 <p>Controls the quality of the demosaicing
4705processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004706 </td>
4707
4708 <td class="entry_units">
4709 </td>
4710
4711 <td class="entry_range">
4712 </td>
4713
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 <td class="entry_tags">
4715 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004716 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004717 </ul>
4718 </td>
4719
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004720 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004721
4722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004723 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4724 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004725
4726
4727
4728 <!-- end of kind -->
4729 </tbody>
4730
4731 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004732 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004733
4734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004735 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004737 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004738 <tr>
4739 <th class="th_name">Property Name</th>
4740 <th class="th_type">Type</th>
4741 <th class="th_description">Description</th>
4742 <th class="th_units">Units</th>
4743 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004744 <th class="th_tags">Tags</th>
4745 </tr>
4746 </thead>
4747
4748 <tbody>
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004760 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004761 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004762 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004763 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004764 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004766 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004767
4768 <ul class="entry_type_enum">
4769 <li>
4770 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004771 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004772 </li>
4773 <li>
4774 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004775 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4776output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004777 </li>
4778 <li>
4779 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004780 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4781quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004782 </li>
4783 </ul>
4784
4785 </td> <!-- entry_type -->
4786
4787 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004788 <p>Operation mode for edge
4789enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004790 </td>
4791
4792 <td class="entry_units">
4793 </td>
4794
4795 <td class="entry_range">
4796 </td>
4797
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004798 <td class="entry_tags">
4799 </td>
4800
4801 </tr>
4802 <tr class="entries_header">
4803 <th class="th_details" colspan="5">Details</th>
4804 </tr>
4805 <tr class="entry_cont">
4806 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004807 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4808enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004809<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004810will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004811camera device will use the highest-quality enhancement algorithms,<wbr/>
4812even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004813not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004814 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004815 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004816
4817
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004818 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4819 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004820
4821
4822 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004823 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004824 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004825 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004826 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004827 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004829 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004830
4831
4832 </td> <!-- entry_type -->
4833
4834 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004835 <p>Control the amount of edge enhancement
4836applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004837 </td>
4838
4839 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004840 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004841 </td>
4842
4843 <td class="entry_range">
4844 </td>
4845
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004846 <td class="entry_tags">
4847 </td>
4848
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004849 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004850
4851
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004852 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4853 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854
4855
4856
4857 <!-- end of kind -->
4858 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004859 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004860
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004861 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004862 <tr>
4863 <th class="th_name">Property Name</th>
4864 <th class="th_type">Type</th>
4865 <th class="th_description">Description</th>
4866 <th class="th_units">Units</th>
4867 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004868 <th class="th_tags">Tags</th>
4869 </tr>
4870 </thead>
4871
4872 <tbody>
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004884 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004885 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004886 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004887 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004888 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004889
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004890 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004891
4892 <ul class="entry_type_enum">
4893 <li>
4894 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004895 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004896 </li>
4897 <li>
4898 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004899 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4900output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004901 </li>
4902 <li>
4903 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004904 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4905quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004906 </li>
4907 </ul>
4908
4909 </td> <!-- entry_type -->
4910
4911 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004912 <p>Operation mode for edge
4913enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004914 </td>
4915
4916 <td class="entry_units">
4917 </td>
4918
4919 <td class="entry_range">
4920 </td>
4921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004922 <td class="entry_tags">
4923 </td>
4924
4925 </tr>
4926 <tr class="entries_header">
4927 <th class="th_details" colspan="5">Details</th>
4928 </tr>
4929 <tr class="entry_cont">
4930 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004931 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4932enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004933<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004934will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004935camera device will use the highest-quality enhancement algorithms,<wbr/>
4936even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004937not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004938 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004939 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004940
4941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004942 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4943 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004944
4945
4946
4947 <!-- end of kind -->
4948 </tbody>
4949
4950 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004951 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952
4953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004954 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004956 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004957 <tr>
4958 <th class="th_name">Property Name</th>
4959 <th class="th_type">Type</th>
4960 <th class="th_description">Description</th>
4961 <th class="th_units">Units</th>
4962 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963 <th class="th_tags">Tags</th>
4964 </tr>
4965 </thead>
4966
4967 <tbody>
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004979 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004980 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004981 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004982 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004983 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004984
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004985 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004986
4987
4988 </td> <!-- entry_type -->
4989
4990 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004991 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004992 </td>
4993
4994 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004995 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004996 </td>
4997
4998 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004999 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005000 </td>
5001
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005002 <td class="entry_tags">
5003 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005004 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005005 </ul>
5006 </td>
5007
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005008 </tr>
5009 <tr class="entries_header">
5010 <th class="th_details" colspan="5">Details</th>
5011 </tr>
5012 <tr class="entry_cont">
5013 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005014 <p>Power for snapshot may use a different scale than
5015for torch mode.<wbr/> Only one entry for torch mode will be
5016used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005017 </td>
5018 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005019
5020
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005021 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5022 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005023
5024
5025 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005026 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005027 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005028 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005030 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005032 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005033
5034
5035 </td> <!-- entry_type -->
5036
5037 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005038 <p>Firing time of flash relative to start of
5039exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005040 </td>
5041
5042 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005043 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005044 </td>
5045
5046 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005047 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005048 </td>
5049
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005050 <td class="entry_tags">
5051 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005052 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </ul>
5054 </td>
5055
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005056 </tr>
5057 <tr class="entries_header">
5058 <th class="th_details" colspan="5">Details</th>
5059 </tr>
5060 <tr class="entry_cont">
5061 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005062 <p>Clamped to (0,<wbr/> exposure time - flash
5063duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005064 </td>
5065 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005066
5067
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005068 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5069 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005070
5071
5072 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005073 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005074 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005075 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005076 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005077 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005079 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080
5081 <ul class="entry_type_enum">
5082 <li>
5083 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005084 <span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005085 </li>
5086 <li>
5087 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005088 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5089for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5090<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005091 </li>
5092 <li>
5093 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005094 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005095 </li>
5096 </ul>
5097
5098 </td> <!-- entry_type -->
5099
5100 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005101 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005102 </td>
5103
5104 <td class="entry_units">
5105 </td>
5106
5107 <td class="entry_range">
5108 </td>
5109
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005110 <td class="entry_tags">
5111 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005112 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005113 </ul>
5114 </td>
5115
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005116 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005117 <tr class="entries_header">
5118 <th class="th_details" colspan="5">Details</th>
5119 </tr>
5120 <tr class="entry_cont">
5121 <td class="entry_details" colspan="5">
5122 <p>This control is only effective when flash unit is available
5123(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5124<p>When this control is used,<wbr/> the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> must be set to ON or OFF.<wbr/>
5125Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5126ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5127<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5128<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5129device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5130control should be used along with AE precapture metering sequence
5131(<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>),<wbr/> otherwise,<wbr/> the image may be incorrectly exposed.<wbr/></p>
5132<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5133for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5134 </td>
5135 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005136
5137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005138 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5139 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005140
5141
5142
5143 <!-- end of kind -->
5144 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005145 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005146
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005147 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005148 <tr>
5149 <th class="th_name">Property Name</th>
5150 <th class="th_type">Type</th>
5151 <th class="th_description">Description</th>
5152 <th class="th_units">Units</th>
5153 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005154 <th class="th_tags">Tags</th>
5155 </tr>
5156 </thead>
5157
5158 <tbody>
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005172 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005173 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005174 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005175 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005176 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005177
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005178 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005179
5180
5181 </td> <!-- entry_type -->
5182
5183 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005184 <p>Whether this camera has a
5185flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005186 </td>
5187
5188 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005189 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005190 </td>
5191
5192 <td class="entry_range">
5193 </td>
5194
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005195 <td class="entry_tags">
5196 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005197 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005198 </ul>
5199 </td>
5200
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005201 </tr>
5202 <tr class="entries_header">
5203 <th class="th_details" colspan="5">Details</th>
5204 </tr>
5205 <tr class="entry_cont">
5206 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005207 <p>If no flash,<wbr/> none of the flash controls do
5208anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005209 </td>
5210 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005211
5212
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005213 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5214 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005215
5216
5217 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005218 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005219 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005220 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005222 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005224 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005225
5226
5227 </td> <!-- entry_type -->
5228
5229 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005230 <p>Time taken before flash can fire
5231again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005232 </td>
5233
5234 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005235 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005236 </td>
5237
5238 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005239 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005240 </td>
5241
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005242 <td class="entry_tags">
5243 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005244 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005245 </ul>
5246 </td>
5247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005248 </tr>
5249 <tr class="entries_header">
5250 <th class="th_details" colspan="5">Details</th>
5251 </tr>
5252 <tr class="entry_cont">
5253 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005254 <p>1 second too long/<wbr/>too short for recharge? Should
5255this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005256 </td>
5257 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005258
5259
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005260 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5261 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005262
5263
5264
5265
5266
5267 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005268 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005269 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005270 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005271 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005272 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005273
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005274 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005275
5276
5277 </td> <!-- entry_type -->
5278
5279 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005280 <p>The x,<wbr/>y whitepoint of the
5281flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005282 </td>
5283
5284 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005285 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286 </td>
5287
5288 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005289 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005290 </td>
5291
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005292 <td class="entry_tags">
5293 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005294 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005295 </ul>
5296 </td>
5297
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005298 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005299
5300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005301 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5302 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005303
5304
5305 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005306 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005307 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005308 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005309 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005310 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005311
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005312 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005313
5314
5315 </td> <!-- entry_type -->
5316
5317 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005318 <p>Max energy output of the flash for a full
5319power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005320 </td>
5321
5322 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005323 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324 </td>
5325
5326 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005327 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005328 </td>
5329
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005330 <td class="entry_tags">
5331 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005332 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005333 </ul>
5334 </td>
5335
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005336 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005337
5338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005339 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5340 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005341
5342
5343
5344 <!-- end of kind -->
5345 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005346 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005347
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005348 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005349 <tr>
5350 <th class="th_name">Property Name</th>
5351 <th class="th_type">Type</th>
5352 <th class="th_description">Description</th>
5353 <th class="th_units">Units</th>
5354 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005355 <th class="th_tags">Tags</th>
5356 </tr>
5357 </thead>
5358
5359 <tbody>
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005371 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005372 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005373 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005374 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005375 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005376
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005377 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005378
5379
5380 </td> <!-- entry_type -->
5381
5382 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005383 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005384 </td>
5385
5386 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005387 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005388 </td>
5389
5390 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005391 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005392 </td>
5393
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005394 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005395 <ul class="entry_tags">
5396 <li><a href="#tag_V1">V1</a></li>
5397 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005398 </td>
5399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005400 </tr>
5401 <tr class="entries_header">
5402 <th class="th_details" colspan="5">Details</th>
5403 </tr>
5404 <tr class="entry_cont">
5405 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005406 <p>Power for snapshot may use a different scale than
5407for torch mode.<wbr/> Only one entry for torch mode will be
5408used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005409 </td>
5410 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005411
5412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005415
5416
5417 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005418 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005419 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005422 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005423
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005424 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005425
5426
5427 </td> <!-- entry_type -->
5428
5429 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005430 <p>Firing time of flash relative to start of
5431exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005432 </td>
5433
5434 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005435 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436 </td>
5437
5438 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005439 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005440 </td>
5441
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005443 <ul class="entry_tags">
5444 <li><a href="#tag_V1">V1</a></li>
5445 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005446 </td>
5447
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005448 </tr>
5449 <tr class="entries_header">
5450 <th class="th_details" colspan="5">Details</th>
5451 </tr>
5452 <tr class="entry_cont">
5453 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005454 <p>Clamped to (0,<wbr/> exposure time - flash
5455duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005456 </td>
5457 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005458
5459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005460 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5461 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005462
5463
5464 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005465 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005466 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005467 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005469 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005470
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005471 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472
5473 <ul class="entry_type_enum">
5474 <li>
5475 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005476 <span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005477 </li>
5478 <li>
5479 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005480 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5481for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5482<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005483 </li>
5484 <li>
5485 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005486 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005487 </li>
5488 </ul>
5489
5490 </td> <!-- entry_type -->
5491
5492 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005493 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005494 </td>
5495
5496 <td class="entry_units">
5497 </td>
5498
5499 <td class="entry_range">
5500 </td>
5501
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005502 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005503 <ul class="entry_tags">
5504 <li><a href="#tag_BC">BC</a></li>
5505 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005506 </td>
5507
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005508 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005509 <tr class="entries_header">
5510 <th class="th_details" colspan="5">Details</th>
5511 </tr>
5512 <tr class="entry_cont">
5513 <td class="entry_details" colspan="5">
5514 <p>This control is only effective when flash unit is available
5515(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5516<p>When this control is used,<wbr/> the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> must be set to ON or OFF.<wbr/>
5517Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5518ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5519<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5520<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5521device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5522control should be used along with AE precapture metering sequence
5523(<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>),<wbr/> otherwise,<wbr/> the image may be incorrectly exposed.<wbr/></p>
5524<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5525for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5526 </td>
5527 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005528
5529
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005530 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5531 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005532
5533
5534 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005535 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005536 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005537 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005538 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005539 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005540
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005541 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005542
5543 <ul class="entry_type_enum">
5544 <li>
5545 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005546 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005547 </li>
5548 <li>
5549 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005550 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5551charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005552 </li>
5553 <li>
5554 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005555 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5556ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005557 </li>
5558 <li>
5559 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005560 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5561for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005562 </li>
5563 </ul>
5564
5565 </td> <!-- entry_type -->
5566
5567 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005568 <p>Current state of the flash
5569unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005570 </td>
5571
5572 <td class="entry_units">
5573 </td>
5574
5575 <td class="entry_range">
5576 </td>
5577
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005578 <td class="entry_tags">
5579 </td>
5580
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005581 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005582
5583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005584 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5585 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005586
5587
5588
5589 <!-- end of kind -->
5590 </tbody>
5591
5592 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005593 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005594
5595
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005596 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005597
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005598 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005599 <tr>
5600 <th class="th_name">Property Name</th>
5601 <th class="th_type">Type</th>
5602 <th class="th_description">Description</th>
5603 <th class="th_units">Units</th>
5604 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005605 <th class="th_tags">Tags</th>
5606 </tr>
5607 </thead>
5608
5609 <tbody>
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005621 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005622 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005623 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005624 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005625 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005626
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005627 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005628
5629 <ul class="entry_type_enum">
5630 <li>
5631 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005632 <span class="entry_type_enum_notes"><p>No geometric correction is
5633applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005634 </li>
5635 <li>
5636 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005637 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5638bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005639 </li>
5640 <li>
5641 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005642 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5643quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005644 </li>
5645 </ul>
5646
5647 </td> <!-- entry_type -->
5648
5649 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005650 <p>Operating mode of geometric
5651correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005652 </td>
5653
5654 <td class="entry_units">
5655 </td>
5656
5657 <td class="entry_range">
5658 </td>
5659
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005660 <td class="entry_tags">
5661 </td>
5662
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005663 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005664
5665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5667 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005668
5669
5670 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005671 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005672 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005673 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005674 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005675 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005676
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005677 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005678
5679
5680 </td> <!-- entry_type -->
5681
5682 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005683 <p>Control the amount of shading correction
5684applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005685 </td>
5686
5687 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005688 unitless: 1-10; 10 is full shading
5689 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005690 </td>
5691
5692 <td class="entry_range">
5693 </td>
5694
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005695 <td class="entry_tags">
5696 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005697 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005698 </ul>
5699 </td>
5700
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005701 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005702
5703
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005704 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5705 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005706
5707
5708
5709 <!-- end of kind -->
5710 </tbody>
5711
5712 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005713 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005714
5715
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005716 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005718 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005719 <tr>
5720 <th class="th_name">Property Name</th>
5721 <th class="th_type">Type</th>
5722 <th class="th_description">Description</th>
5723 <th class="th_units">Units</th>
5724 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005725 <th class="th_tags">Tags</th>
5726 </tr>
5727 </thead>
5728
5729 <tbody>
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005741 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005742 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005743 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005744 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005745 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005747 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005748
5749 <ul class="entry_type_enum">
5750 <li>
5751 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005752 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5753applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005754 </li>
5755 <li>
5756 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005757 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5758Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005759 </li>
5760 <li>
5761 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005762 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5763quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005764 </li>
5765 </ul>
5766
5767 </td> <!-- entry_type -->
5768
5769 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005770 <p>Set operational mode for hot pixel
5771correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005772 </td>
5773
5774 <td class="entry_units">
5775 </td>
5776
5777 <td class="entry_range">
5778 </td>
5779
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005780 <td class="entry_tags">
5781 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005782 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005783 </ul>
5784 </td>
5785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005786 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005787
5788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005789 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5790 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005791
5792
5793
5794 <!-- end of kind -->
5795 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005796 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005798 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005799 <tr>
5800 <th class="th_name">Property Name</th>
5801 <th class="th_type">Type</th>
5802 <th class="th_description">Description</th>
5803 <th class="th_units">Units</th>
5804 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005805 <th class="th_tags">Tags</th>
5806 </tr>
5807 </thead>
5808
5809 <tbody>
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005823 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005824 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005825 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005826 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005827 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005828 <span class="entry_type_container">x</span>
5829
5830 <span class="entry_type_array">
5831 2 x n
5832 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005833 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005834 <div class="entry_type_notes">list of coordinates based on android.<wbr/>sensor.<wbr/>pixel<wbr/>Array<wbr/>Size</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005835
5836
5837 </td> <!-- entry_type -->
5838
5839 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005840 <p>Location of hot/<wbr/>defective pixels on
5841sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005842 </td>
5843
5844 <td class="entry_units">
5845 </td>
5846
5847 <td class="entry_range">
5848 </td>
5849
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850 <td class="entry_tags">
5851 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005852 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005853 </ul>
5854 </td>
5855
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005856 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005857
5858
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005859 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5860 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005861
5862
5863
5864
5865
5866
5867 <!-- end of kind -->
5868 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005869 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005870
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005871 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005872 <tr>
5873 <th class="th_name">Property Name</th>
5874 <th class="th_type">Type</th>
5875 <th class="th_description">Description</th>
5876 <th class="th_units">Units</th>
5877 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005878 <th class="th_tags">Tags</th>
5879 </tr>
5880 </thead>
5881
5882 <tbody>
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005894 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005895 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005896 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005897 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005898 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005899
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005900 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005901
5902 <ul class="entry_type_enum">
5903 <li>
5904 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005905 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5906applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005907 </li>
5908 <li>
5909 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005910 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5911Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005912 </li>
5913 <li>
5914 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005915 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5916quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005917 </li>
5918 </ul>
5919
5920 </td> <!-- entry_type -->
5921
5922 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005923 <p>Set operational mode for hot pixel
5924correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005925 </td>
5926
5927 <td class="entry_units">
5928 </td>
5929
5930 <td class="entry_range">
5931 </td>
5932
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005933 <td class="entry_tags">
5934 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005935 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005936 </ul>
5937 </td>
5938
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005939 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005940
5941
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005942 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5943 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005944
5945
5946
5947 <!-- end of kind -->
5948 </tbody>
5949
5950 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005951 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005952
5953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005954 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005956 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005957 <tr>
5958 <th class="th_name">Property Name</th>
5959 <th class="th_type">Type</th>
5960 <th class="th_description">Description</th>
5961 <th class="th_units">Units</th>
5962 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005963 <th class="th_tags">Tags</th>
5964 </tr>
5965 </thead>
5966
5967 <tbody>
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005979 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005980 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005981 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005982 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005983 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984 <span class="entry_type_container">x</span>
5985
5986 <span class="entry_type_array">
5987 3
5988 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005990 <div class="entry_type_notes">latitude,<wbr/> longitude,<wbr/> altitude.<wbr/> First two in degrees,<wbr/> the third in meters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005991
5992
5993 </td> <!-- entry_type -->
5994
5995 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005996 <p>GPS coordinates to include in output JPEG
5997EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005998 </td>
5999
6000 <td class="entry_units">
6001 </td>
6002
6003 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006004 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006005 </td>
6006
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006007 <td class="entry_tags">
6008 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006009 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006010 </ul>
6011 </td>
6012
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006013 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006014
6015
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006016 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6017 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006018
6019
6020 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006021 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006022 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006023 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006024 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006025 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006026
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006027 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006028
6029
6030 </td> <!-- entry_type -->
6031
6032 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006033 <p>32 characters describing GPS algorithm to
6034include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006035 </td>
6036
6037 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006038 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006039 </td>
6040
6041 <td class="entry_range">
6042 </td>
6043
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006044 <td class="entry_tags">
6045 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006046 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006047 </ul>
6048 </td>
6049
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006050 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006051
6052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006053 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6054 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055
6056
6057 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006058 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006059 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006060 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006062 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006063
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006064 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006065
6066
6067 </td> <!-- entry_type -->
6068
6069 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006070 <p>Time GPS fix was made to include in
6071EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006072 </td>
6073
6074 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006075 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006076 </td>
6077
6078 <td class="entry_range">
6079 </td>
6080
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081 <td class="entry_tags">
6082 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006083 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006084 </ul>
6085 </td>
6086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006088
6089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006092
6093
6094 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006095 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006096 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006097 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006099 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006102
6103
6104 </td> <!-- entry_type -->
6105
6106 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006107 <p>Orientation of JPEG image to
6108write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006109 </td>
6110
6111 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006112 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006113 </td>
6114
6115 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006116 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006117 </td>
6118
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006119 <td class="entry_tags">
6120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006122 </ul>
6123 </td>
6124
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006125 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006126
6127
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006128 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6129 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006130
6131
6132 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006133 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006134 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006135 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006136 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006137 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006138
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006139 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006140
6141
6142 </td> <!-- entry_type -->
6143
6144 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006145 <p>Compression quality of the final JPEG
6146image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006147 </td>
6148
6149 <td class="entry_units">
6150 </td>
6151
6152 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006153 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006154 </td>
6155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006156 <td class="entry_tags">
6157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006159 </ul>
6160 </td>
6161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006162 </tr>
6163 <tr class="entries_header">
6164 <th class="th_details" colspan="5">Details</th>
6165 </tr>
6166 <tr class="entry_cont">
6167 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006168 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006169 </td>
6170 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006171
6172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006173 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6174 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006175
6176
6177 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006178 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006179 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006180 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006181 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006182 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006183
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006184 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006185
6186
6187 </td> <!-- entry_type -->
6188
6189 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006190 <p>Compression quality of JPEG
6191thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006192 </td>
6193
6194 <td class="entry_units">
6195 </td>
6196
6197 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006198 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006199 </td>
6200
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006201 <td class="entry_tags">
6202 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006203 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006204 </ul>
6205 </td>
6206
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006207 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006208
6209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006210 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6211 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006212
6213
6214 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006215 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006216 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006217 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006218 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006219 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006220 <span class="entry_type_container">x</span>
6221
6222 <span class="entry_type_array">
6223 2
6224 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006225 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006226
6227
6228 </td> <!-- entry_type -->
6229
6230 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006231 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006232 </td>
6233
6234 <td class="entry_units">
6235 </td>
6236
6237 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006238 <p>Size must be one of the size from <a href="#static_android.jpeg.availableThumbnailSizes">android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006239 </td>
6240
6241 <td class="entry_tags">
6242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006244 </ul>
6245 </td>
6246
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006247 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006248 <tr class="entries_header">
6249 <th class="th_details" colspan="5">Details</th>
6250 </tr>
6251 <tr class="entry_cont">
6252 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006253 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6254but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006255<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6256the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006257 </td>
6258 </tr>
6259
6260
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006261 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6262 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006263
6264
6265
6266 <!-- end of kind -->
6267 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006268 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006269
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006270 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006271 <tr>
6272 <th class="th_name">Property Name</th>
6273 <th class="th_type">Type</th>
6274 <th class="th_description">Description</th>
6275 <th class="th_units">Units</th>
6276 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006277 <th class="th_tags">Tags</th>
6278 </tr>
6279 </thead>
6280
6281 <tbody>
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006293 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006294 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006295 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006297 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006298 <span class="entry_type_container">x</span>
6299
6300 <span class="entry_type_array">
6301 2 x n
6302 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006303 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006304
6305
6306 </td> <!-- entry_type -->
6307
6308 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006309 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006310 </td>
6311
6312 <td class="entry_units">
6313 </td>
6314
6315 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006316 <p>Will include at least one valid resolution,<wbr/> plus
6317(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006318 </td>
6319
6320 <td class="entry_tags">
6321 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006322 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006323 </ul>
6324 </td>
6325
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006326 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006327 <tr class="entries_header">
6328 <th class="th_details" colspan="5">Details</th>
6329 </tr>
6330 <tr class="entry_cont">
6331 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006332 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006333<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006334<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6335If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6336<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006337aspect ratio of largest size in <a href="#static_android.scaler.availableJpegSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes</a>.<wbr/>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006338The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006339in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006340<li>Each size in <a href="#static_android.scaler.availableJpegSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes</a> will have at least
Igor Murashkin0b080452013-12-27 15:30:25 -08006341one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6342and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006343<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006344</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006345 </td>
6346 </tr>
6347
6348
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006349 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6350 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006351
6352
6353 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006354 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006355 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006356 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006357 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006358 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006359
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006360 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006361
6362
6363 </td> <!-- entry_type -->
6364
6365 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006366 <p>Maximum size in bytes for the compressed
6367JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006368 </td>
6369
6370 <td class="entry_units">
6371 </td>
6372
6373 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006374 <p>Must be large enough to fit any JPEG produced by
6375the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006376 </td>
6377
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006378 <td class="entry_tags">
6379 </td>
6380
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006381 </tr>
6382 <tr class="entries_header">
6383 <th class="th_details" colspan="5">Details</th>
6384 </tr>
6385 <tr class="entry_cont">
6386 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006387 <p>This is used for sizing the gralloc buffers for
6388JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006389 </td>
6390 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006391
6392
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006393 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6394 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006395
6396
6397
6398 <!-- end of kind -->
6399 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006400 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006401
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006402 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006403 <tr>
6404 <th class="th_name">Property Name</th>
6405 <th class="th_type">Type</th>
6406 <th class="th_description">Description</th>
6407 <th class="th_units">Units</th>
6408 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006409 <th class="th_tags">Tags</th>
6410 </tr>
6411 </thead>
6412
6413 <tbody>
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006425 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006426 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006427 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006429 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006430 <span class="entry_type_container">x</span>
6431
6432 <span class="entry_type_array">
6433 3
6434 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006435 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006436 <div class="entry_type_notes">latitude,<wbr/> longitude,<wbr/> altitude.<wbr/> First two in degrees,<wbr/> the third in meters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006437
6438
6439 </td> <!-- entry_type -->
6440
6441 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006442 <p>GPS coordinates to include in output JPEG
6443EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006444 </td>
6445
6446 <td class="entry_units">
6447 </td>
6448
6449 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006450 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006451 </td>
6452
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006453 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006454 <ul class="entry_tags">
6455 <li><a href="#tag_BC">BC</a></li>
6456 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006457 </td>
6458
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006459 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006460
6461
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006462 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6463 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006464
6465
6466 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006467 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006468 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006469 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006471 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006472
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006473 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006474
6475
6476 </td> <!-- entry_type -->
6477
6478 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006479 <p>32 characters describing GPS algorithm to
6480include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006481 </td>
6482
6483 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006484 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485 </td>
6486
6487 <td class="entry_range">
6488 </td>
6489
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006490 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006491 <ul class="entry_tags">
6492 <li><a href="#tag_BC">BC</a></li>
6493 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006494 </td>
6495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006497
6498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006501
6502
6503 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006504 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006505 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006508 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006509
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006510 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006511
6512
6513 </td> <!-- entry_type -->
6514
6515 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006516 <p>Time GPS fix was made to include in
6517EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006518 </td>
6519
6520 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006521 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006522 </td>
6523
6524 <td class="entry_range">
6525 </td>
6526
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006527 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006528 <ul class="entry_tags">
6529 <li><a href="#tag_BC">BC</a></li>
6530 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006531 </td>
6532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006533 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006534
6535
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006536 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6537 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006538
6539
6540 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006541 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006542 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006543 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006544 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006545 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006546
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006547 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006548
6549
6550 </td> <!-- entry_type -->
6551
6552 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006553 <p>Orientation of JPEG image to
6554write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006555 </td>
6556
6557 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006558 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006559 </td>
6560
6561 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006562 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006563 </td>
6564
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006565 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006566 <ul class="entry_tags">
6567 <li><a href="#tag_BC">BC</a></li>
6568 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006569 </td>
6570
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006571 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006572
6573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006574 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6575 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006576
6577
6578 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006579 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006580 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006581 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006582 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006583 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006584
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006585 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006586
6587
6588 </td> <!-- entry_type -->
6589
6590 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006591 <p>Compression quality of the final JPEG
6592image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006593 </td>
6594
6595 <td class="entry_units">
6596 </td>
6597
6598 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006599 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006600 </td>
6601
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006602 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006603 <ul class="entry_tags">
6604 <li><a href="#tag_BC">BC</a></li>
6605 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006606 </td>
6607
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006608 </tr>
6609 <tr class="entries_header">
6610 <th class="th_details" colspan="5">Details</th>
6611 </tr>
6612 <tr class="entry_cont">
6613 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006614 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006615 </td>
6616 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006617
6618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006619 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6620 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006621
6622
6623 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006624 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006625 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006626 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006630 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006631
6632
6633 </td> <!-- entry_type -->
6634
6635 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006636 <p>The size of the compressed JPEG image,<wbr/> in
6637bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006638 </td>
6639
6640 <td class="entry_units">
6641 </td>
6642
6643 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006644 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006645 </td>
6646
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006647 <td class="entry_tags">
6648 </td>
6649
6650 </tr>
6651 <tr class="entries_header">
6652 <th class="th_details" colspan="5">Details</th>
6653 </tr>
6654 <tr class="entry_cont">
6655 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006656 <p>If no JPEG output is produced for the request,<wbr/>
6657this must be 0.<wbr/></p>
6658<p>Otherwise,<wbr/> this describes the real size of the compressed
6659JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006660if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6661has <a href="#dynamic_android.jpeg.size">android.<wbr/>jpeg.<wbr/>size</a> = 500000,<wbr/> then the output buffer from
Igor Murashkin0b080452013-12-27 15:30:25 -08006662the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6663500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006664 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006665 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006666
6667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006668 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6669 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006670
6671
6672 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006673 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006674 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006675 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006676 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006677 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006678
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006679 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006680
6681
6682 </td> <!-- entry_type -->
6683
6684 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006685 <p>Compression quality of JPEG
6686thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006687 </td>
6688
6689 <td class="entry_units">
6690 </td>
6691
6692 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006693 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006694 </td>
6695
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006696 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006697 <ul class="entry_tags">
6698 <li><a href="#tag_BC">BC</a></li>
6699 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006700 </td>
6701
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006702 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006703
6704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006705 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6706 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006707
6708
6709 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006710 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006711 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006712 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006713 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006714 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006715 <span class="entry_type_container">x</span>
6716
6717 <span class="entry_type_array">
6718 2
6719 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006720 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006721
6722
6723 </td> <!-- entry_type -->
6724
6725 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006726 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006727 </td>
6728
6729 <td class="entry_units">
6730 </td>
6731
6732 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006733 <p>Size must be one of the size from <a href="#static_android.jpeg.availableThumbnailSizes">android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006734 </td>
6735
6736 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006737 <ul class="entry_tags">
6738 <li><a href="#tag_BC">BC</a></li>
6739 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006740 </td>
6741
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006742 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006743 <tr class="entries_header">
6744 <th class="th_details" colspan="5">Details</th>
6745 </tr>
6746 <tr class="entry_cont">
6747 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006748 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6749but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006750<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6751the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006752 </td>
6753 </tr>
6754
6755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006756 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6757 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006758
6759
6760
6761 <!-- end of kind -->
6762 </tbody>
6763
6764 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006765 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006766
6767
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006768 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006769
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006770 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006771 <tr>
6772 <th class="th_name">Property Name</th>
6773 <th class="th_type">Type</th>
6774 <th class="th_description">Description</th>
6775 <th class="th_units">Units</th>
6776 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006777 <th class="th_tags">Tags</th>
6778 </tr>
6779 </thead>
6780
6781 <tbody>
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006793 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006794 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006795 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006796 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006797 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006798
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006799 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800
6801
6802 </td> <!-- entry_type -->
6803
6804 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006805 <p>The ratio of lens focal length to the effective
6806aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006807 </td>
6808
6809 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006810 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006811 </td>
6812
6813 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006814 <p><a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006815 </td>
6816
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006817 <td class="entry_tags">
6818 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006819 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006820 </ul>
6821 </td>
6822
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006823 </tr>
6824 <tr class="entries_header">
6825 <th class="th_details" colspan="5">Details</th>
6826 </tr>
6827 <tr class="entry_cont">
6828 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006829 <p>This will only be supported on the camera devices that
6830have variable aperture lens.<wbr/> The aperture value can only be
6831one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6832<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6833this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6834<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6835to achieve manual exposure control.<wbr/></p>
6836<p>The requested aperture value may take several frames to reach the
6837requested value; the camera device will report the current (intermediate)
6838aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6839<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6840the ON modes,<wbr/> this will be overridden by the camera device
6841auto-exposure algorithm,<wbr/> the overridden values are then provided
6842back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006843 </td>
6844 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006845
6846
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006847 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6848 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849
6850
6851 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006852 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006853 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006854 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006855 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006856 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006857
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006858 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006859
6860
6861 </td> <!-- entry_type -->
6862
6863 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006864 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006865 </td>
6866
6867 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006868 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869 </td>
6870
6871 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006872 <p><a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006873 </td>
6874
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006875 <td class="entry_tags">
6876 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006877 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006878 </ul>
6879 </td>
6880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006881 </tr>
6882 <tr class="entries_header">
6883 <th class="th_details" colspan="5">Details</th>
6884 </tr>
6885 <tr class="entry_cont">
6886 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006887 <p>This will not be supported on most camera devices.<wbr/> On devices
6888where this is supported,<wbr/> this may only be set to one of the
6889values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6890<p>Lens filters are typically used to lower the amount of light the
6891sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6892step is the standard logarithmic representation,<wbr/> which are
6893non-negative,<wbr/> and inversely proportional to the amount of light
6894hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6895in no reduction of the incoming light,<wbr/> and setting this to 2 would
6896mean that the filter is set to reduce incoming light by two stops
6897(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006898 </td>
6899 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006900
6901
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006902 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6903 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006904
6905
6906 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006907 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006908 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006909 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006910 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006911 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006912
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006913 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006914
6915
6916 </td> <!-- entry_type -->
6917
6918 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006919 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006920 </td>
6921
6922 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006923 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006924 </td>
6925
6926 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006927 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006928 </td>
6929
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006930 <td class="entry_tags">
6931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006932 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006933 </ul>
6934 </td>
6935
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006936 </tr>
6937 <tr class="entries_header">
6938 <th class="th_details" colspan="5">Details</th>
6939 </tr>
6940 <tr class="entry_cont">
6941 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006942 <p>This setting controls the physical focal length of the camera
6943device's lens.<wbr/> Changing the focal length changes the field of
6944view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
6945<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
6946setting won't be applied instantaneously,<wbr/> and it may take several
6947frames before the lens can move to the requested focal length.<wbr/>
6948While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
6949be set to MOVING.<wbr/></p>
6950<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006951 </td>
6952 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006953
6954
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006955 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6956 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006957
6958
6959 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006960 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006961 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006962 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006963 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006964 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006965
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006966 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006967
6968
6969 </td> <!-- entry_type -->
6970
6971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006972 <p>Distance to plane of sharpest focus,<wbr/>
6973measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006974 </td>
6975
6976 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006977 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006978 </td>
6979
6980 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006981 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982 </td>
6983
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006984 <td class="entry_tags">
6985 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006986 <li><a href="#tag_BC">BC</a></li>
6987 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006988 </ul>
6989 </td>
6990
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006991 </tr>
6992 <tr class="entries_header">
6993 <th class="th_details" colspan="5">Details</th>
6994 </tr>
6995 <tr class="entry_cont">
6996 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006997 <p>0 = infinity focus.<wbr/> Used value should be clamped
6998to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006999 </td>
7000 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007001
7002
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007003 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7004 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007005
7006
7007 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007008 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007009 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007010 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007011 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007012 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007013
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007014 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007015
7016 <ul class="entry_type_enum">
7017 <li>
7018 <span class="entry_type_enum_name">OFF</span>
Ruben Brunk218639c2014-01-15 18:09:41 -08007019 <span class="entry_type_enum_notes"><p>Optical stabilization is unavailable.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007020 </li>
7021 <li>
7022 <span class="entry_type_enum_name">ON</span>
7023 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk218639c2014-01-15 18:09:41 -08007024 <span class="entry_type_enum_notes"><p>Optical stabilization is enabled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025 </li>
7026 </ul>
7027
7028 </td> <!-- entry_type -->
7029
7030 <td class="entry_description">
Ruben Brunk218639c2014-01-15 18:09:41 -08007031 <p>Sets whether the camera device uses optical image stabilization (OIS)
7032when capturing images.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007033 </td>
7034
7035 <td class="entry_units">
7036 </td>
7037
7038 <td class="entry_range">
Ruben Brunk218639c2014-01-15 18:09:41 -08007039 <p><a href="#static_android.lens.info.availableOpticalStabilization">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007040 </td>
7041
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007042 <td class="entry_tags">
7043 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007044 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007045 </ul>
7046 </td>
7047
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007048 </tr>
7049 <tr class="entries_header">
7050 <th class="th_details" colspan="5">Details</th>
7051 </tr>
7052 <tr class="entry_cont">
7053 <td class="entry_details" colspan="5">
Ruben Brunk218639c2014-01-15 18:09:41 -08007054 <p>OIS is used to compensate for motion blur due to small movements of
7055the camera during capture.<wbr/> Unlike digital image stabilization,<wbr/> OIS makes
7056use of mechanical elements to stabilize the camera sensor,<wbr/> and thus
7057allows for longer exposure times before camera shake becomes
7058apparent.<wbr/></p>
7059<p>This is not expected to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007060 </td>
7061 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007062
7063
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007064 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7065 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007066
7067
7068
7069 <!-- end of kind -->
7070 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007071 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007072
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007073 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007074 <tr>
7075 <th class="th_name">Property Name</th>
7076 <th class="th_type">Type</th>
7077 <th class="th_description">Description</th>
7078 <th class="th_units">Units</th>
7079 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007080 <th class="th_tags">Tags</th>
7081 </tr>
7082 </thead>
7083
7084 <tbody>
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007098 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007099 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007100 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007101 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007102 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007103 <span class="entry_type_container">x</span>
7104
7105 <span class="entry_type_array">
7106 n
7107 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007108 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007109
7110
7111 </td> <!-- entry_type -->
7112
7113 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007114 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007115values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007116 </td>
7117
7118 <td class="entry_units">
7119 </td>
7120
7121 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007122 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007123 </td>
7124
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007125 <td class="entry_tags">
7126 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007127 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007128 </ul>
7129 </td>
7130
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007131 </tr>
7132 <tr class="entries_header">
7133 <th class="th_details" colspan="5">Details</th>
7134 </tr>
7135 <tr class="entry_cont">
7136 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007137 <p>If the camera device doesn't support variable apertures,<wbr/>
7138listed value will be the fixed aperture.<wbr/></p>
7139<p>If the camera device supports variable apertures,<wbr/> the aperture value
7140in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007141 </td>
7142 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007143
7144
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007145 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7146 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007147
7148
7149 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007150 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007151 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007152 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007154 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007155 <span class="entry_type_container">x</span>
7156
7157 <span class="entry_type_array">
7158 n
7159 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007160 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007161
7162
7163 </td> <!-- entry_type -->
7164
7165 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007166 <p>List of supported neutral density filter values for
7167<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007168 </td>
7169
7170 <td class="entry_units">
7171 </td>
7172
7173 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007174 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007175 </td>
7176
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007177 <td class="entry_tags">
7178 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007179 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007180 </ul>
7181 </td>
7182
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007183 </tr>
7184 <tr class="entries_header">
7185 <th class="th_details" colspan="5">Details</th>
7186 </tr>
7187 <tr class="entry_cont">
7188 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007189 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7190availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7191list contains only the exact filter density values available on
7192this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007193 </td>
7194 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007195
7196
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007197 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7198 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007199
7200
7201 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007202 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007203 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007204 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007205 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007206 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007207 <span class="entry_type_container">x</span>
7208
7209 <span class="entry_type_array">
7210 n
7211 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007212 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007213 <div class="entry_type_notes">The list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007214
7215
7216 </td> <!-- entry_type -->
7217
7218 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007219 <p>The available focal lengths for this device for use with
7220<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007221 </td>
7222
7223 <td class="entry_units">
7224 </td>
7225
7226 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007227 <p>Each value in this list must be &gt; 0.<wbr/> This list must
7228contain at least one value.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007229 </td>
7230
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007231 <td class="entry_tags">
7232 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007233 <li><a href="#tag_BC">BC</a></li>
7234 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007235 </ul>
7236 </td>
7237
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007238 </tr>
7239 <tr class="entries_header">
7240 <th class="th_details" colspan="5">Details</th>
7241 </tr>
7242 <tr class="entry_cont">
7243 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007244 <p>If optical zoom is not supported,<wbr/> this will only report
7245a single value corresponding to the static focal length of the
7246device.<wbr/> Otherwise,<wbr/> this will report every focal length supported
7247by the device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007248 </td>
7249 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007250
7251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007252 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7253 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007254
7255
7256 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Ruben Brunk218639c2014-01-15 18:09:41 -08007257 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007258 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007259 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007260 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007261 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007262 <span class="entry_type_container">x</span>
7263
7264 <span class="entry_type_array">
7265 n
7266 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007267 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007268 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007269
7270
7271 </td> <!-- entry_type -->
7272
7273 <td class="entry_description">
Ruben Brunk218639c2014-01-15 18:09:41 -08007274 <p>List containing a subset of the optical image
7275stabilization (OIS) modes specified in
7276<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007277 </td>
7278
7279 <td class="entry_units">
7280 </td>
7281
7282 <td class="entry_range">
7283 </td>
7284
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007285 <td class="entry_tags">
7286 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007287 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007288 </ul>
7289 </td>
7290
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007291 </tr>
Ruben Brunk218639c2014-01-15 18:09:41 -08007292 <tr class="entries_header">
7293 <th class="th_details" colspan="5">Details</th>
7294 </tr>
7295 <tr class="entry_cont">
7296 <td class="entry_details" colspan="5">
7297 <p>If OIS is not implemented for a given camera device,<wbr/> this should
7298contain only OFF.<wbr/></p>
7299 </td>
7300 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007301
7302
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007303 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7304 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007305
7306
7307 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007308 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007309 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007310 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007311 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007312 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007313 <span class="entry_type_container">x</span>
7314
7315 <span class="entry_type_array">
7316 2 x 3 x n x m
7317 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007318 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007319 <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 -08007320
7321
7322 </td> <!-- entry_type -->
7323
7324 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007325 <p>A low-resolution map for correction of
7326geometric distortions and chromatic aberrations,<wbr/> per
7327color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007328 </td>
7329
7330 <td class="entry_units">
7331 </td>
7332
7333 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007334 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007335 </td>
7336
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007337 <td class="entry_tags">
7338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007339 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007340 </ul>
7341 </td>
7342
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007343 </tr>
7344 <tr class="entries_header">
7345 <th class="th_details" colspan="5">Details</th>
7346 </tr>
7347 <tr class="entry_cont">
7348 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007349 <p>[DNG wants a function instead].<wbr/> What's easiest
7350for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7351j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7352j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7353entry 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 -08007354 </td>
7355 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007356
7357
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007358 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7359 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007360
7361
7362 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007363 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007364 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007365 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007366 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007367 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007368 <span class="entry_type_container">x</span>
7369
7370 <span class="entry_type_array">
7371 2
7372 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007373 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007374 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007375
7376
7377 </td> <!-- entry_type -->
7378
7379 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007380 <p>Dimensions of geometric correction
7381map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007382 </td>
7383
7384 <td class="entry_units">
7385 </td>
7386
7387 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007388 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007389 </td>
7390
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391 <td class="entry_tags">
7392 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007393 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007394 </ul>
7395 </td>
7396
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007397 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007398
7399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007400 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7401 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007402
7403
7404 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007405 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007406 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007407 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007409 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007410
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007411 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007412
7413
7414 </td> <!-- entry_type -->
7415
7416 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007417 <p>Hyperfocal distance for this lens; set to
74180 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007419 </td>
7420
7421 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007422 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007423 </td>
7424
7425 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007426 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007427 </td>
7428
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007429 <td class="entry_tags">
7430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007431 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007432 </ul>
7433 </td>
7434
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007435 </tr>
7436 <tr class="entries_header">
7437 <th class="th_details" colspan="5">Details</th>
7438 </tr>
7439 <tr class="entry_cont">
7440 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007441 <p>The hyperfocal distance is used for the old
7442API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007443 </td>
7444 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007445
7446
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007447 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7448 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007449
7450
7451 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007452 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007453 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007454 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007455 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007456 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007458 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007459
7460
7461 </td> <!-- entry_type -->
7462
7463 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007464 <p>Shortest distance from frontmost surface
7465of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007466 </td>
7467
7468 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007469 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007470 </td>
7471
7472 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007473 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007474 </td>
7475
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007476 <td class="entry_tags">
7477 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007478 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007479 </ul>
7480 </td>
7481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007482 </tr>
7483 <tr class="entries_header">
7484 <th class="th_details" colspan="5">Details</th>
7485 </tr>
7486 <tr class="entry_cont">
7487 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007488 <p>If the lens is fixed-focus,<wbr/> this should be
74890</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007490 </td>
7491 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007492
7493
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007494 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7495 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007496
7497
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007498 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007499 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007500 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007501 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007502 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007503 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007504 <span class="entry_type_container">x</span>
7505
7506 <span class="entry_type_array">
7507 2
7508 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007509 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007510 <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 -08007511
7512
7513 </td> <!-- entry_type -->
7514
7515 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007516 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007517 </td>
7518
7519 <td class="entry_units">
7520 </td>
7521
7522 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007523 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007524 </td>
7525
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007526 <td class="entry_tags">
7527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007528 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007529 </ul>
7530 </td>
7531
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007532 </tr>
7533 <tr class="entries_header">
7534 <th class="th_details" colspan="5">Details</th>
7535 </tr>
7536 <tr class="entry_cont">
7537 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007538 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7539must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007540 </td>
7541 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007542
7543
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007544 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7545 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007546
7547
7548
7549
7550
7551 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007552 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007553 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007554 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007555 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007556 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007557
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007558 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007559
7560 <ul class="entry_type_enum">
7561 <li>
7562 <span class="entry_type_enum_name">FRONT</span>
7563 </li>
7564 <li>
7565 <span class="entry_type_enum_name">BACK</span>
7566 </li>
7567 </ul>
7568
7569 </td> <!-- entry_type -->
7570
7571 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007572 <p>Direction the camera faces relative to
7573device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007574 </td>
7575
7576 <td class="entry_units">
7577 </td>
7578
7579 <td class="entry_range">
7580 </td>
7581
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007582 <td class="entry_tags">
7583 </td>
7584
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007585 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007586
7587
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007588 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7589 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007590
7591
7592 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007593 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007594 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007595 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007596 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007597 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007598 <span class="entry_type_container">x</span>
7599
7600 <span class="entry_type_array">
7601 2
7602 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007603 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007604 <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 -08007605
7606
7607 </td> <!-- entry_type -->
7608
7609 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007610 <p>Relative angle of camera optical axis to the
7611perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007612 </td>
7613
7614 <td class="entry_units">
7615 </td>
7616
7617 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007618 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007619 </td>
7620
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007621 <td class="entry_tags">
7622 <ul class="entry_tags">
7623 <li><a href="#tag_ADV">ADV</a></li>
7624 </ul>
7625 </td>
7626
7627 </tr>
7628 <tr class="entries_header">
7629 <th class="th_details" colspan="5">Details</th>
7630 </tr>
7631 <tr class="entry_cont">
7632 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007633 <p>Examples:</p>
7634<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007635is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007636<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007637device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007638<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7639the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007640<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007641direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007642 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007643 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007644
7645
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007646 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7647 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007648
7649
7650 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007651 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007652 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007653 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007654 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007655 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007656 <span class="entry_type_container">x</span>
7657
7658 <span class="entry_type_array">
7659 3, location in mm, in the sensor coordinate
7660 system
7661 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007662 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007663
7664
7665 </td> <!-- entry_type -->
7666
7667 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007668 <p>Coordinates of camera optical axis on
7669device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007670 </td>
7671
7672 <td class="entry_units">
7673 </td>
7674
7675 <td class="entry_range">
7676 </td>
7677
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007678 <td class="entry_tags">
7679 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007680 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007681 </ul>
7682 </td>
7683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007684 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007685
7686
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007687 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7688 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007689
7690
7691
7692 <!-- end of kind -->
7693 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007694 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007695
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007696 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007697 <tr>
7698 <th class="th_name">Property Name</th>
7699 <th class="th_type">Type</th>
7700 <th class="th_description">Description</th>
7701 <th class="th_units">Units</th>
7702 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007703 <th class="th_tags">Tags</th>
7704 </tr>
7705 </thead>
7706
7707 <tbody>
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007719 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007720 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007721 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007722 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007723 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007725 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007726
7727
7728 </td> <!-- entry_type -->
7729
7730 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007731 <p>The ratio of lens focal length to the effective
7732aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007733 </td>
7734
7735 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007736 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007737 </td>
7738
7739 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007740 <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 -08007741 </td>
7742
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007743 <td class="entry_tags">
7744 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007745 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007746 </ul>
7747 </td>
7748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007749 </tr>
7750 <tr class="entries_header">
7751 <th class="th_details" colspan="5">Details</th>
7752 </tr>
7753 <tr class="entry_cont">
7754 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007755 <p>This will only be supported on the camera devices that
7756have variable aperture lens.<wbr/> The aperture value can only be
7757one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7758<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7759this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7760<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7761to achieve manual exposure control.<wbr/></p>
7762<p>The requested aperture value may take several frames to reach the
7763requested value; the camera device will report the current (intermediate)
7764aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7765<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7766the ON modes,<wbr/> this will be overridden by the camera device
7767auto-exposure algorithm,<wbr/> the overridden values are then provided
7768back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007769 </td>
7770 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007771
7772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007773 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7774 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007775
7776
7777 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007778 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007779 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007780 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007781 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007782 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007783
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007784 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007785
7786
7787 </td> <!-- entry_type -->
7788
7789 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007790 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007791 </td>
7792
7793 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007794 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007795 </td>
7796
7797 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007798 <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 -08007799 </td>
7800
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007801 <td class="entry_tags">
7802 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007803 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007804 </ul>
7805 </td>
7806
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007807 </tr>
7808 <tr class="entries_header">
7809 <th class="th_details" colspan="5">Details</th>
7810 </tr>
7811 <tr class="entry_cont">
7812 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007813 <p>This will not be supported on most camera devices.<wbr/> On devices
7814where this is supported,<wbr/> this may only be set to one of the
7815values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7816<p>Lens filters are typically used to lower the amount of light the
7817sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7818step is the standard logarithmic representation,<wbr/> which are
7819non-negative,<wbr/> and inversely proportional to the amount of light
7820hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7821in no reduction of the incoming light,<wbr/> and setting this to 2 would
7822mean that the filter is set to reduce incoming light by two stops
7823(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007824 </td>
7825 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007826
7827
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007828 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7829 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007830
7831
7832 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007833 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007834 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007835 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007836 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007837 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007838
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007839 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007840
7841
7842 </td> <!-- entry_type -->
7843
7844 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007845 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007846 </td>
7847
7848 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007849 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007850 </td>
7851
7852 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007853 <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 -08007854 </td>
7855
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007856 <td class="entry_tags">
7857 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007858 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007859 </ul>
7860 </td>
7861
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007862 </tr>
7863 <tr class="entries_header">
7864 <th class="th_details" colspan="5">Details</th>
7865 </tr>
7866 <tr class="entry_cont">
7867 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007868 <p>This setting controls the physical focal length of the camera
7869device's lens.<wbr/> Changing the focal length changes the field of
7870view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
7871<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
7872setting won't be applied instantaneously,<wbr/> and it may take several
7873frames before the lens can move to the requested focal length.<wbr/>
7874While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7875be set to MOVING.<wbr/></p>
7876<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007877 </td>
7878 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007879
7880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007881 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7882 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007883
7884
7885 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007886 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007887 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007888 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007889 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007890 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007891
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007892 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007893
7894
7895 </td> <!-- entry_type -->
7896
7897 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007898 <p>Distance to plane of sharpest focus,<wbr/>
7899measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007900 </td>
7901
7902 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007903 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007904 </td>
7905
7906 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007907 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007908 </td>
7909
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007910 <td class="entry_tags">
7911 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007912 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007913 </ul>
7914 </td>
7915
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007916 </tr>
7917 <tr class="entries_header">
7918 <th class="th_details" colspan="5">Details</th>
7919 </tr>
7920 <tr class="entry_cont">
7921 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007922 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007923 </td>
7924 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007925
7926
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007927 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7928 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007929
7930
7931 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007932 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007933 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007934 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007935 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007936 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007937 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007938
Zhijun He50451ad2013-09-26 10:27:47 -07007939 <span class="entry_type_array">
7940 2
7941 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007942 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007943 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007944
7945
7946 </td> <!-- entry_type -->
7947
7948 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007949 <p>The range of scene distances that are in
7950sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007951 </td>
7952
7953 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007954 pair of focus distances in diopters: (near,<wbr/>
7955 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007956 </td>
7957
7958 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007959 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007960 </td>
7961
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007962 <td class="entry_tags">
7963 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007964 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007965 </ul>
7966 </td>
7967
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007968 </tr>
7969 <tr class="entries_header">
7970 <th class="th_details" colspan="5">Details</th>
7971 </tr>
7972 <tr class="entry_cont">
7973 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007974 <p>If variable focus not supported,<wbr/> can still report
7975fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007976 </td>
7977 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007978
7979
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007980 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7981 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007982
7983
7984 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007985 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007986 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007987 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007988 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007989 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007990
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007991 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007992
7993 <ul class="entry_type_enum">
7994 <li>
7995 <span class="entry_type_enum_name">OFF</span>
Ruben Brunk218639c2014-01-15 18:09:41 -08007996 <span class="entry_type_enum_notes"><p>Optical stabilization is unavailable.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007997 </li>
7998 <li>
7999 <span class="entry_type_enum_name">ON</span>
8000 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk218639c2014-01-15 18:09:41 -08008001 <span class="entry_type_enum_notes"><p>Optical stabilization is enabled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008002 </li>
8003 </ul>
8004
8005 </td> <!-- entry_type -->
8006
8007 <td class="entry_description">
Ruben Brunk218639c2014-01-15 18:09:41 -08008008 <p>Sets whether the camera device uses optical image stabilization (OIS)
8009when capturing images.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008010 </td>
8011
8012 <td class="entry_units">
8013 </td>
8014
8015 <td class="entry_range">
Ruben Brunk218639c2014-01-15 18:09:41 -08008016 <p><a href="#static_android.lens.info.availableOpticalStabilization">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008017 </td>
8018
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008019 <td class="entry_tags">
8020 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008021 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008022 </ul>
8023 </td>
8024
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008025 </tr>
8026 <tr class="entries_header">
8027 <th class="th_details" colspan="5">Details</th>
8028 </tr>
8029 <tr class="entry_cont">
8030 <td class="entry_details" colspan="5">
Ruben Brunk218639c2014-01-15 18:09:41 -08008031 <p>OIS is used to compensate for motion blur due to small movements of
8032the camera during capture.<wbr/> Unlike digital image stabilization,<wbr/> OIS makes
8033use of mechanical elements to stabilize the camera sensor,<wbr/> and thus
8034allows for longer exposure times before camera shake becomes
8035apparent.<wbr/></p>
8036<p>This is not expected to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008037 </td>
8038 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008039
8040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008041 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8042 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008043
8044
8045 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008046 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008047 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008048 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008049 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008050 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008051
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008052 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008053
8054 <ul class="entry_type_enum">
8055 <li>
8056 <span class="entry_type_enum_name">STATIONARY</span>
8057 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07008058 <li>
8059 <span class="entry_type_enum_name">MOVING</span>
8060 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008061 </ul>
8062
8063 </td> <!-- entry_type -->
8064
8065 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008066 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008067 </td>
8068
8069 <td class="entry_units">
8070 </td>
8071
8072 <td class="entry_range">
8073 </td>
8074
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008075 <td class="entry_tags">
8076 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008077 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008078 </ul>
8079 </td>
8080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008081 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008082
8083
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008084 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8085 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008086
8087
8088
8089 <!-- end of kind -->
8090 </tbody>
8091
8092 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008093 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008094
8095
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008096 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008097
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008098 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008099 <tr>
8100 <th class="th_name">Property Name</th>
8101 <th class="th_type">Type</th>
8102 <th class="th_description">Description</th>
8103 <th class="th_units">Units</th>
8104 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008105 <th class="th_tags">Tags</th>
8106 </tr>
8107 </thead>
8108
8109 <tbody>
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008121 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008122 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008123 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008124 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008125 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008126
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008127 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008128
8129 <ul class="entry_type_enum">
8130 <li>
8131 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008132 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008133 </li>
8134 <li>
8135 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008136 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8137output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008138 </li>
8139 <li>
8140 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008141 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8142quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008143 </li>
8144 </ul>
8145
8146 </td> <!-- entry_type -->
8147
8148 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008149 <p>Mode of operation for the noise reduction
8150algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008151 </td>
8152
8153 <td class="entry_units">
8154 </td>
8155
8156 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008157 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008158 </td>
8159
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008160 <td class="entry_tags">
8161 <ul class="entry_tags">
8162 <li><a href="#tag_V1">V1</a></li>
8163 </ul>
8164 </td>
8165
8166 </tr>
8167 <tr class="entries_header">
8168 <th class="th_details" colspan="5">Details</th>
8169 </tr>
8170 <tr class="entry_cont">
8171 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008172 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8173will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008174<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8175will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8176will use the highest-quality noise filtering algorithms,<wbr/>
8177even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008178slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008179 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008180 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008181
8182
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008183 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8184 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008185
8186
8187 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008188 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008189 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008190 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008191 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008192 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008193
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008194 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008195
8196
8197 </td> <!-- entry_type -->
8198
8199 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008200 <p>Control the amount of noise reduction
8201applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008202 </td>
8203
8204 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008205 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008206 </td>
8207
8208 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008209 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008210 </td>
8211
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008212 <td class="entry_tags">
8213 </td>
8214
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008215 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008216
8217
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008218 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8219 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008220
8221
8222
8223 <!-- end of kind -->
8224 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008225 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008227 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008228 <tr>
8229 <th class="th_name">Property Name</th>
8230 <th class="th_type">Type</th>
8231 <th class="th_description">Description</th>
8232 <th class="th_units">Units</th>
8233 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008234 <th class="th_tags">Tags</th>
8235 </tr>
8236 </thead>
8237
8238 <tbody>
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008250 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008251 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008252 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008253 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008254 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008255
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008256 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008257
8258 <ul class="entry_type_enum">
8259 <li>
8260 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008261 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008262 </li>
8263 <li>
8264 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008265 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8266output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008267 </li>
8268 <li>
8269 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008270 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8271quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008272 </li>
8273 </ul>
8274
8275 </td> <!-- entry_type -->
8276
8277 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008278 <p>Mode of operation for the noise reduction
8279algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008280 </td>
8281
8282 <td class="entry_units">
8283 </td>
8284
8285 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008286 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008287 </td>
8288
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008289 <td class="entry_tags">
8290 <ul class="entry_tags">
8291 <li><a href="#tag_V1">V1</a></li>
8292 </ul>
8293 </td>
8294
8295 </tr>
8296 <tr class="entries_header">
8297 <th class="th_details" colspan="5">Details</th>
8298 </tr>
8299 <tr class="entry_cont">
8300 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008301 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8302will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008303<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8304will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8305will use the highest-quality noise filtering algorithms,<wbr/>
8306even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008307slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008308 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008310
8311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008314
8315
8316
8317 <!-- end of kind -->
8318 </tbody>
8319
8320 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008321 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008322
8323
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008324 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008325
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008326 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008327 <tr>
8328 <th class="th_name">Property Name</th>
8329 <th class="th_type">Type</th>
8330 <th class="th_description">Description</th>
8331 <th class="th_units">Units</th>
8332 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008333 <th class="th_tags">Tags</th>
8334 </tr>
8335 </thead>
8336
8337 <tbody>
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008349 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008350 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008351 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008352 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008353 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008354
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008355 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008356
8357
8358 </td> <!-- entry_type -->
8359
8360 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008361 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008362scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008363region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8364and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008365 </td>
8366
8367 <td class="entry_units">
8368 </td>
8369
8370 <td class="entry_range">
8371 </td>
8372
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008373 <td class="entry_tags">
8374 </td>
8375
8376 </tr>
8377 <tr class="entries_header">
8378 <th class="th_details" colspan="5">Details</th>
8379 </tr>
8380 <tr class="entry_cont">
8381 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008382 <p>Normalized coordinates refer to those in the
8383(-1000,<wbr/>1000) range mentioned in the
8384android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008385<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008386sensor array-relative coordinates for all region data.<wbr/> Does
8387not need to be listed in static metadata.<wbr/> Support will be
8388removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008389 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008390 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008391
8392
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008393 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8394 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008395
8396
8397 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008398 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008399 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008400 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008401 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008402 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008403
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008404 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008405
8406
8407 </td> <!-- entry_type -->
8408
8409 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008410 <p>If set to 1,<wbr/> then the camera service always
8411switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8412trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008413 </td>
8414
8415 <td class="entry_units">
8416 </td>
8417
8418 <td class="entry_range">
8419 </td>
8420
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008421 <td class="entry_tags">
8422 </td>
8423
8424 </tr>
8425 <tr class="entries_header">
8426 <th class="th_details" colspan="5">Details</th>
8427 </tr>
8428 <tr class="entry_cont">
8429 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008430 <p>HAL implementations should implement AF trigger
8431modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8432CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8433not need to be listed in static metadata.<wbr/> Support will be
8434removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008435 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008436 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008437
8438
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008439 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8440 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008441
8442
8443 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008444 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008445 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008446 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008447 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008448 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008449
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008450 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008451
8452
8453 </td> <!-- entry_type -->
8454
8455 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008456 <p>If set to 1,<wbr/> the camera service uses
8457CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8458HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8459shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008460 </td>
8461
8462 <td class="entry_units">
8463 </td>
8464
8465 <td class="entry_range">
8466 </td>
8467
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008468 <td class="entry_tags">
8469 </td>
8470
8471 </tr>
8472 <tr class="entries_header">
8473 <th class="th_details" colspan="5">Details</th>
8474 </tr>
8475 <tr class="entry_cont">
8476 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008477 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008478to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008479zero-shutter-lag,<wbr/> instead of relying on an explicit
8480format setting.<wbr/> Does not need to be listed in static
8481metadata.<wbr/> Support will be removed in future versions of
8482camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008483 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008484 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008485
8486
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008487 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8488 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008489
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008490
8491 <tr class="entry" id="static_android.quirks.usePartialResult">
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/>use<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">byte</span>
8497
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008498 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008499
8500
8501 </td> <!-- entry_type -->
8502
8503 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008504 <p>If set to 1,<wbr/> the HAL will always split result
8505metadata for a single capture into multiple buffers,<wbr/>
8506returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008507 </td>
8508
8509 <td class="entry_units">
8510 </td>
8511
8512 <td class="entry_range">
8513 </td>
8514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008515 <td class="entry_tags">
8516 </td>
8517
8518 </tr>
8519 <tr class="entries_header">
8520 <th class="th_details" colspan="5">Details</th>
8521 </tr>
8522 <tr class="entry_cont">
8523 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008524 <p>Does not need to be listed in static
8525metadata.<wbr/> Support for partial results will be reworked in
8526future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008527working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008528consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008529 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008530 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008531
8532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008533 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8534 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008535
8536
8537
8538 <!-- end of kind -->
8539 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008540 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008541
8542 <thead class="entries_header">
8543 <tr>
8544 <th class="th_name">Property Name</th>
8545 <th class="th_type">Type</th>
8546 <th class="th_description">Description</th>
8547 <th class="th_units">Units</th>
8548 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008549 <th class="th_tags">Tags</th>
8550 </tr>
8551 </thead>
8552
8553 <tbody>
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008565 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008566 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008567 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008568 <td class="entry_type">
8569 <span class="entry_type_name entry_type_name_enum">byte</span>
8570
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008571 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008572
8573 <ul class="entry_type_enum">
8574 <li>
8575 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008576 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8577for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008578 </li>
8579 <li>
8580 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008581 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8582capture.<wbr/> More result buffers for this capture will be sent
8583by the HAL,<wbr/> the last of which will be marked
8584FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008585 </li>
8586 </ul>
8587
8588 </td> <!-- entry_type -->
8589
8590 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008591 <p>Whether a result given to the framework is the
8592final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008593subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008594values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008595 </td>
8596
8597 <td class="entry_units">
8598 </td>
8599
8600 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008601 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008602 </td>
8603
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008604 <td class="entry_tags">
8605 </td>
8606
8607 </tr>
8608 <tr class="entries_header">
8609 <th class="th_details" colspan="5">Details</th>
8610 </tr>
8611 <tr class="entry_cont">
8612 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008613 <p>The entries in the result metadata buffers for a
8614single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008615FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008616requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8617always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8618before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8619in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8620capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8621only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008622 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008623 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008624
8625
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008626 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8627 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008628
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008629
8630
8631 <!-- end of kind -->
8632 </tbody>
8633
8634 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008635 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008636
8637
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008638 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008639
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008640 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008641 <tr>
8642 <th class="th_name">Property Name</th>
8643 <th class="th_type">Type</th>
8644 <th class="th_description">Description</th>
8645 <th class="th_units">Units</th>
8646 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008647 <th class="th_tags">Tags</th>
8648 </tr>
8649 </thead>
8650
8651 <tbody>
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008663 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008664 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008665 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008666 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008667 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008668
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008669 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008670
8671
8672 </td> <!-- entry_type -->
8673
8674 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008675 <p>A frame counter set by the framework.<wbr/> Must
8676be maintained unchanged in output frame.<wbr/> This value monotonically
8677increases with every new result (that is,<wbr/> each new result has a unique
8678frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008679 </td>
8680
8681 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008682 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008683 </td>
8684
8685 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008686 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008687 </td>
8688
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008689 <td class="entry_tags">
8690 </td>
8691
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008692 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008693
8694
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008695 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8696 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008697
8698
8699 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008700 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008701 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008702 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008703 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008704 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008705
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008706 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008707
8708
8709 </td> <!-- entry_type -->
8710
8711 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008712 <p>An application-specified ID for the current
8713request.<wbr/> Must be maintained unchanged in output
8714frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008715 </td>
8716
8717 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008718 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008719 </td>
8720
8721 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008722 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008723 </td>
8724
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008725 <td class="entry_tags">
8726 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008727 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008728 </ul>
8729 </td>
8730
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008731 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008732
8733
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008734 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8735 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008736
8737
8738 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008739 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008740 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008741 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008742 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008743 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008744 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008745
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008746 <span class="entry_type_array">
8747 n
8748 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008749 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008750
8751
8752 </td> <!-- entry_type -->
8753
8754 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008755 <p>List which camera reprocess stream is used
8756for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008757 </td>
8758
8759 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008760 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008761 </td>
8762
8763 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008764 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8765reprocess stream ID.<wbr/></p>
8766<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8767reprocess streams may be included in a single request; they
8768must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008769 </td>
8770
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008771 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008772 <ul class="entry_tags">
8773 <li><a href="#tag_HAL2">HAL2</a></li>
8774 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008775 </td>
8776
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008777 </tr>
8778 <tr class="entries_header">
8779 <th class="th_details" colspan="5">Details</th>
8780 </tr>
8781 <tr class="entry_cont">
8782 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008783 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008784REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008785 </td>
8786 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008787
8788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008789 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8790 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008791
8792
8793 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008794 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008795 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008796 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008797 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008798 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008799
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008800 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008801
8802 <ul class="entry_type_enum">
8803 <li>
8804 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008805 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8806for application-bound buffer data.<wbr/> If no
8807application-bound streams exist,<wbr/> no frame should be
8808placed in the output frame queue.<wbr/> If such streams
8809exist,<wbr/> a frame should be placed on the output queue
8810with null metadata but with the necessary output buffer
8811information.<wbr/> Timestamp information should still be
8812included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008813 </li>
8814 <li>
8815 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008816 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8817only be produced if they are separately
8818enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008819 </li>
8820 </ul>
8821
8822 </td> <!-- entry_type -->
8823
8824 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008825 <p>How much metadata to produce on
8826output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008827 </td>
8828
8829 <td class="entry_units">
8830 </td>
8831
8832 <td class="entry_range">
8833 </td>
8834
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008835 <td class="entry_tags">
8836 </td>
8837
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008838 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008839
8840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008841 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8842 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008843
8844
8845 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008846 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008847 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008848 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008849 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008850 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008851 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008852
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008853 <span class="entry_type_array">
8854 n
8855 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008856 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008857
8858
8859 </td> <!-- entry_type -->
8860
8861 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008862 <p>Lists which camera output streams image data
8863from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008864 </td>
8865
8866 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008867 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008868 </td>
8869
8870 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008871 <p>List must only include streams that have been
8872created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008873 </td>
8874
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008875 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008876 <ul class="entry_tags">
8877 <li><a href="#tag_HAL2">HAL2</a></li>
8878 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008879 </td>
8880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008881 </tr>
8882 <tr class="entries_header">
8883 <th class="th_details" colspan="5">Details</th>
8884 </tr>
8885 <tr class="entry_cont">
8886 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008887 <p>If no output streams are listed,<wbr/> then the image
8888data should simply be discarded.<wbr/> The image data must
8889still be captured for metadata and statistics production,<wbr/>
8890and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008891 </td>
8892 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008893
8894
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008895 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8896 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008897
8898
8899 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008900 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008901 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008902 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008903 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008904 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008905
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008906 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008907
8908 <ul class="entry_type_enum">
8909 <li>
8910 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008911 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8912and process it according to the
8913settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008914 </li>
8915 <li>
8916 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008917 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8918android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8919source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8920needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008921 </li>
8922 </ul>
8923
8924 </td> <!-- entry_type -->
8925
8926 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008927 <p>The type of the request; either CAPTURE or
8928REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008929 </td>
8930
8931 <td class="entry_units">
8932 </td>
8933
8934 <td class="entry_range">
8935 </td>
8936
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008937 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008938 <ul class="entry_tags">
8939 <li><a href="#tag_HAL2">HAL2</a></li>
8940 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008941 </td>
8942
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008943 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008944
8945
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008946 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8947 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008948
8949
8950
8951 <!-- end of kind -->
8952 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008953 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008954
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008955 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008956 <tr>
8957 <th class="th_name">Property Name</th>
8958 <th class="th_type">Type</th>
8959 <th class="th_description">Description</th>
8960 <th class="th_units">Units</th>
8961 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008962 <th class="th_tags">Tags</th>
8963 </tr>
8964 </thead>
8965
8966 <tbody>
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008978 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008979 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008980 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008981 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008982 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008983 <span class="entry_type_container">x</span>
8984
8985 <span class="entry_type_array">
8986 3
8987 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008988 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008989
8990
8991 </td> <!-- entry_type -->
8992
8993 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008994 <p>How many output streams can be allocated at
8995the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008996 </td>
8997
8998 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008999 The number of raw sensor streams; the number of
9000 processed,<wbr/> uncompressed streams; and the number of
9001 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009002 </td>
9003
9004 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009005 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009006for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009007 </td>
9008
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009009 <td class="entry_tags">
9010 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009011 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009012 </ul>
9013 </td>
9014
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009015 </tr>
9016 <tr class="entries_header">
9017 <th class="th_details" colspan="5">Details</th>
9018 </tr>
9019 <tr class="entry_cont">
9020 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009021 <p>Video snapshot with preview callbacks requires 3
9022processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
9023one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009024 </td>
9025 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009026
9027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009028 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9029 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009030
9031
9032 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009033 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009034 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009035 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009037 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009038 <span class="entry_type_container">x</span>
9039
9040 <span class="entry_type_array">
9041 1
9042 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009043 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044
9045
9046 </td> <!-- entry_type -->
9047
9048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009049 <p>How many reprocessing streams of any type
9050can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009051 </td>
9052
9053 <td class="entry_units">
9054 </td>
9055
9056 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009057 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009058 </td>
9059
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009060 <td class="entry_tags">
9061 </td>
9062
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009063 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009064
9065
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009066 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9067 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009068
9069
9070
9071 <!-- end of kind -->
9072 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009073 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009074
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009075 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009076 <tr>
9077 <th class="th_name">Property Name</th>
9078 <th class="th_type">Type</th>
9079 <th class="th_description">Description</th>
9080 <th class="th_units">Units</th>
9081 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009082 <th class="th_tags">Tags</th>
9083 </tr>
9084 </thead>
9085
9086 <tbody>
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009098 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009099 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009100 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009101 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009102 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009103
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009104 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009105
9106
9107 </td> <!-- entry_type -->
9108
9109 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009110 <p>A frame counter set by the framework.<wbr/> This value monotonically
9111increases with every new result (that is,<wbr/> each new result has a unique
9112frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009113 </td>
9114
9115 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009116 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009117 </td>
9118
9119 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009120 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009121 </td>
9122
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009123 <td class="entry_tags">
9124 </td>
9125
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009126 </tr>
9127 <tr class="entries_header">
9128 <th class="th_details" colspan="5">Details</th>
9129 </tr>
9130 <tr class="entry_cont">
9131 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009132 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009133 </td>
9134 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009135
9136
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009137 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9138 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009139
9140
9141 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009142 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009143 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009144 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009145 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009146 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009147
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009148 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009149
9150
9151 </td> <!-- entry_type -->
9152
9153 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009154 <p>An application-specified ID for the current
9155request.<wbr/> Must be maintained unchanged in output
9156frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009157 </td>
9158
9159 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009160 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009161 </td>
9162
9163 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009164 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009165 </td>
9166
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009167 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009168 <ul class="entry_tags">
9169 <li><a href="#tag_V1">V1</a></li>
9170 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009171 </td>
9172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009173 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009174
9175
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009176 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9177 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009178
9179
9180 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009181 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009182 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009183 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009184 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009185 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009186
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009187 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009188
9189 <ul class="entry_type_enum">
9190 <li>
9191 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009192 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9193for application-bound buffer data.<wbr/> If no
9194application-bound streams exist,<wbr/> no frame should be
9195placed in the output frame queue.<wbr/> If such streams
9196exist,<wbr/> a frame should be placed on the output queue
9197with null metadata but with the necessary output buffer
9198information.<wbr/> Timestamp information should still be
9199included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009200 </li>
9201 <li>
9202 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009203 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9204only be produced if they are separately
9205enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009206 </li>
9207 </ul>
9208
9209 </td> <!-- entry_type -->
9210
9211 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009212 <p>How much metadata to produce on
9213output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009214 </td>
9215
9216 <td class="entry_units">
9217 </td>
9218
9219 <td class="entry_range">
9220 </td>
9221
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009222 <td class="entry_tags">
9223 </td>
9224
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009225 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009226
9227
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009228 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9229 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009230
9231
9232 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009233 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009234 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009235 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009236 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009237 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009238 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009239
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009240 <span class="entry_type_array">
9241 n
9242 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009243 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009244
9245
9246 </td> <!-- entry_type -->
9247
9248 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009249 <p>Lists which camera output streams image data
9250from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009251 </td>
9252
9253 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009254 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009255 </td>
9256
9257 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009258 <p>List must only include streams that have been
9259created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009260 </td>
9261
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009262 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009263 <ul class="entry_tags">
9264 <li><a href="#tag_HAL2">HAL2</a></li>
9265 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009266 </td>
9267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009268 </tr>
9269 <tr class="entries_header">
9270 <th class="th_details" colspan="5">Details</th>
9271 </tr>
9272 <tr class="entry_cont">
9273 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009274 <p>If no output streams are listed,<wbr/> then the image
9275data should simply be discarded.<wbr/> The image data must
9276still be captured for metadata and statistics production,<wbr/>
9277and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009278 </td>
9279 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009280
9281
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009282 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9283 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009284
9285
9286
9287 <!-- end of kind -->
9288 </tbody>
9289
9290 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009291 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009292
9293
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009294 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009295
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009296 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009297 <tr>
9298 <th class="th_name">Property Name</th>
9299 <th class="th_type">Type</th>
9300 <th class="th_description">Description</th>
9301 <th class="th_units">Units</th>
9302 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009303 <th class="th_tags">Tags</th>
9304 </tr>
9305 </thead>
9306
9307 <tbody>
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009319 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009320 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009321 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009322 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009323 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009324 <span class="entry_type_container">x</span>
9325
9326 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009327 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009328 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009329 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009330
9331
9332 </td> <!-- entry_type -->
9333
9334 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009335 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9336<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9337(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9338output.<wbr/> Each stream must use this rectangle to produce its
9339output,<wbr/> cropping to a smaller region if necessary to
9340maintain the stream's aspect ratio.<wbr/></p>
9341<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009342 </td>
9343
9344 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009345 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9346 in pixels; (0,<wbr/>0) is top-left corner of
9347 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009348 </td>
9349
9350 <td class="entry_range">
9351 </td>
9352
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009353 <td class="entry_tags">
9354 <ul class="entry_tags">
9355 <li><a href="#tag_BC">BC</a></li>
9356 </ul>
9357 </td>
9358
9359 </tr>
9360 <tr class="entries_header">
9361 <th class="th_details" colspan="5">Details</th>
9362 </tr>
9363 <tr class="entry_cont">
9364 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009365 <p>Any additional per-stream cropping must be done to
9366maximize the final pixel area of the stream.<wbr/></p>
9367<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9368ratio,<wbr/> then 4:3 streams should use the exact crop
9369region.<wbr/> 16:9 streams should further crop vertically
9370(letterbox).<wbr/></p>
9371<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9372outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9373streams should match exactly.<wbr/> These additional crops must
9374be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009375<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009376times,<wbr/> no matter what the relative aspect ratios of the
9377crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009378corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009379larger than active pixel array.<wbr/> Width and height may be
9380rounded to nearest larger supportable width,<wbr/> especially
9381for raw output,<wbr/> where only a few fixed scales may be
9382possible.<wbr/> The width and height of the crop region cannot
9383be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9384android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9385activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9386respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009387 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009388 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009389
9390
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009391 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9392 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009393
9394
9395
9396 <!-- end of kind -->
9397 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009398 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009399
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009400 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009401 <tr>
9402 <th class="th_name">Property Name</th>
9403 <th class="th_type">Type</th>
9404 <th class="th_description">Description</th>
9405 <th class="th_units">Units</th>
9406 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009407 <th class="th_tags">Tags</th>
9408 </tr>
9409 </thead>
9410
9411 <tbody>
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009423 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009424 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009425 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009426 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009427 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009428 <span class="entry_type_container">x</span>
9429
9430 <span class="entry_type_array">
9431 n
9432 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009433 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009434
9435 <ul class="entry_type_enum">
9436 <li>
9437 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009438 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009439 <span class="entry_type_enum_value">0x20</span>
9440 </li>
9441 <li>
9442 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009443 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009444 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009445 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009446 </li>
9447 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009448 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009449 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009450 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009451 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009452 </li>
9453 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009454 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9455 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009456 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009457 </li>
9458 <li>
9459 <span class="entry_type_enum_name">YCbCr_420_888</span>
9460 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009461 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009462 </li>
9463 <li>
9464 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009465 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009466 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009467 </li>
9468 </ul>
9469
9470 </td> <!-- entry_type -->
9471
9472 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009473 <p>The list of image formats that are supported by this
9474camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009475 </td>
9476
9477 <td class="entry_units">
9478 </td>
9479
9480 <td class="entry_range">
9481 </td>
9482
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009483 <td class="entry_tags">
9484 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009485 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009486 </ul>
9487 </td>
9488
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009489 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009490 <tr class="entries_header">
9491 <th class="th_details" colspan="5">Details</th>
9492 </tr>
9493 <tr class="entry_cont">
9494 <td class="entry_details" colspan="5">
9495 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9496<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9497 </td>
9498 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009499
Zhijun Heb8317e22014-01-16 09:47:07 -08009500 <tr class="entries_header">
9501 <th class="th_details" colspan="5">HAL Implementation Details</th>
9502 </tr>
9503 <tr class="entry_cont">
9504 <td class="entry_details" colspan="5">
9505 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9506system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9507<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9508gralloc module will select a format based on the usage flags provided
9509by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9510usually used by preview and recording streams,<wbr/> where the application doesn't
9511need access the image data.<wbr/></p>
9512<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9513needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9514<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9515 </td>
9516 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009517
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009518 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9519 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009520
9521
9522 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009523 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009524 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009525 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009526 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009527 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009528 <span class="entry_type_container">x</span>
9529
9530 <span class="entry_type_array">
9531 n
9532 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009533 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009534
9535
9536 </td> <!-- entry_type -->
9537
9538 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009539 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009540for 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 -08009541 </td>
9542
9543 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009544 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009545 </td>
9546
9547 <td class="entry_range">
9548 </td>
9549
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009550 <td class="entry_tags">
9551 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009552 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009553 </ul>
9554 </td>
9555
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009556 </tr>
9557 <tr class="entries_header">
9558 <th class="th_details" colspan="5">Details</th>
9559 </tr>
9560 <tr class="entry_cont">
9561 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009562 <p>This corresponds to the minimum steady-state frame duration when only
9563that JPEG stream is active and captured in a burst,<wbr/> with all
9564processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9565<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009566frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009567durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009568 </td>
9569 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009570
9571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009572 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9573 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009574
9575
9576 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009577 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009578 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009579 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009581 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009582 <span class="entry_type_container">x</span>
9583
9584 <span class="entry_type_array">
9585 n x 2
9586 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009587 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009588
9589
9590 </td> <!-- entry_type -->
9591
9592 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009593 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009594 </td>
9595
9596 <td class="entry_units">
9597 </td>
9598
9599 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009600 </td>
9601
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009602 <td class="entry_tags">
9603 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009604 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009605 </ul>
9606 </td>
9607
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009608 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009609 <tr class="entries_header">
9610 <th class="th_details" colspan="5">Details</th>
9611 </tr>
9612 <tr class="entry_cont">
9613 <td class="entry_details" colspan="5">
9614 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9615sensor 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>
9616 </td>
9617 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009618
Zhijun Heb8317e22014-01-16 09:47:07 -08009619 <tr class="entries_header">
9620 <th class="th_details" colspan="5">HAL Implementation Details</th>
9621 </tr>
9622 <tr class="entry_cont">
9623 <td class="entry_details" colspan="5">
9624 <p>The HAL must include sensor maximum resolution
9625(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9626and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9627 </td>
9628 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009629
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009630 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9631 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009632
9633
9634 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009635 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009636 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009637 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009638 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009639 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009640
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009641 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009642
9643
9644 </td> <!-- entry_type -->
9645
9646 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009647 <p>The maximum ratio between active area width
9648and crop region width,<wbr/> or between active area height and
9649crop region height,<wbr/> if the crop region height is larger
9650than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009651 </td>
9652
9653 <td class="entry_units">
9654 </td>
9655
9656 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009657 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009658 </td>
9659
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009660 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009661 <ul class="entry_tags">
9662 <li><a href="#tag_BC">BC</a></li>
9663 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009664 </td>
9665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009666 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009667
9668
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009669 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9670 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009671
9672
9673 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009674 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009675 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009676 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009677 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009678 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009679 <span class="entry_type_container">x</span>
9680
9681 <span class="entry_type_array">
9682 n
9683 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009684 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009685
9686
9687 </td> <!-- entry_type -->
9688
9689 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009690 <p>For each available processed output size (defined in
9691<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9692minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009693 </td>
9694
9695 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009696 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009697 </td>
9698
9699 <td class="entry_range">
9700 </td>
9701
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009702 <td class="entry_tags">
9703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009704 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009705 </ul>
9706 </td>
9707
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009708 </tr>
9709 <tr class="entries_header">
9710 <th class="th_details" colspan="5">Details</th>
9711 </tr>
9712 <tr class="entry_cont">
9713 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009714 <p>This should correspond to the frame duration when only that processed
9715stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9716set to FAST.<wbr/></p>
9717<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9718be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009719 </td>
9720 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009721
9722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009723 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9724 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009725
9726
9727 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009728 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009729 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009730 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009731 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009732 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009733 <span class="entry_type_container">x</span>
9734
9735 <span class="entry_type_array">
9736 n x 2
9737 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009738 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009739
9740
9741 </td> <!-- entry_type -->
9742
9743 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009744 <p>The resolutions available for use with
9745processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9746platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009747encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009748 </td>
9749
9750 <td class="entry_units">
9751 </td>
9752
9753 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009754 </td>
9755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009756 <td class="entry_tags">
9757 <ul class="entry_tags">
9758 <li><a href="#tag_BC">BC</a></li>
9759 </ul>
9760 </td>
9761
9762 </tr>
9763 <tr class="entries_header">
9764 <th class="th_details" colspan="5">Details</th>
9765 </tr>
9766 <tr class="entry_cont">
9767 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009768 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9769<p>For a given use case,<wbr/> the actual maximum supported resolution
9770may be lower than what is listed here,<wbr/> depending on the destination
9771Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9772the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9773smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9774can provide.<wbr/></p>
9775<p>Please reference the documentation for the image data destination to
9776check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009777 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009778 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009779
Zhijun Heb8317e22014-01-16 09:47:07 -08009780 <tr class="entries_header">
9781 <th class="th_details" colspan="5">HAL Implementation Details</th>
9782 </tr>
9783 <tr class="entry_cont">
9784 <td class="entry_details" colspan="5">
9785 <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/>
9786the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9787and each below resolution if it is smaller than or equal to the sensor
9788maximum resolution (if they are not listed in JPEG sizes already):</p>
9789<ul>
9790<li>240p (320 x 240)</li>
9791<li>480p (640 x 480)</li>
9792<li>720p (1280 x 720)</li>
9793<li>1080p (1920 x 1080)</li>
9794</ul>
9795<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/>
9796the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9797 </td>
9798 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009799
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009800 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9801 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009802
9803
9804 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009805 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009806 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009807 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009808 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009809 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009810 <span class="entry_type_container">x</span>
9811
9812 <span class="entry_type_array">
9813 n
9814 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009815 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009816
9817
9818 </td> <!-- entry_type -->
9819
9820 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009821 <p>For each available processed output size (defined in
9822<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9823supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009824 </td>
9825
9826 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009827 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009828 </td>
9829
9830 <td class="entry_range">
9831 </td>
9832
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009833 <td class="entry_tags">
9834 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009835 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009836 </ul>
9837 </td>
9838
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009839 </tr>
9840 <tr class="entries_header">
9841 <th class="th_details" colspan="5">Details</th>
9842 </tr>
9843 <tr class="entry_cont">
9844 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009845 <p>Should correspond to the frame duration when only the raw stream is
9846active.<wbr/></p>
9847<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009848frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009849durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009850 </td>
9851 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009852
9853
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009854 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9855 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009856
9857
9858 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009859 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009860 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009861 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009862 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009863 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009864 <span class="entry_type_container">x</span>
9865
9866 <span class="entry_type_array">
9867 n x 2
9868 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009869 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009870
9871
9872 </td> <!-- entry_type -->
9873
9874 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009875 <p>The resolutions available for use with raw
9876sensor output streams,<wbr/> listed as width,<wbr/>
9877height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009878 </td>
9879
9880 <td class="entry_units">
9881 </td>
9882
9883 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009884 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009885 </td>
9886
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009887 <td class="entry_tags">
9888 </td>
9889
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009890 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009891
9892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9894 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009895
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009896
9897
9898 <!-- end of kind -->
9899 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009900 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009901
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009902 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009903 <tr>
9904 <th class="th_name">Property Name</th>
9905 <th class="th_type">Type</th>
9906 <th class="th_description">Description</th>
9907 <th class="th_units">Units</th>
9908 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009909 <th class="th_tags">Tags</th>
9910 </tr>
9911 </thead>
9912
9913 <tbody>
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009925 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009926 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009927 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009928 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009929 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009930 <span class="entry_type_container">x</span>
9931
9932 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009933 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009934 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009935 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009936
9937
9938 </td> <!-- entry_type -->
9939
9940 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009941 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9942<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9943(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9944output.<wbr/> Each stream must use this rectangle to produce its
9945output,<wbr/> cropping to a smaller region if necessary to
9946maintain the stream's aspect ratio.<wbr/></p>
9947<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009948 </td>
9949
9950 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009951 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9952 in pixels; (0,<wbr/>0) is top-left corner of
9953 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009954 </td>
9955
9956 <td class="entry_range">
9957 </td>
9958
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009959 <td class="entry_tags">
9960 <ul class="entry_tags">
9961 <li><a href="#tag_BC">BC</a></li>
9962 </ul>
9963 </td>
9964
9965 </tr>
9966 <tr class="entries_header">
9967 <th class="th_details" colspan="5">Details</th>
9968 </tr>
9969 <tr class="entry_cont">
9970 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009971 <p>Any additional per-stream cropping must be done to
9972maximize the final pixel area of the stream.<wbr/></p>
9973<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9974ratio,<wbr/> then 4:3 streams should use the exact crop
9975region.<wbr/> 16:9 streams should further crop vertically
9976(letterbox).<wbr/></p>
9977<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9978outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9979streams should match exactly.<wbr/> These additional crops must
9980be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009981<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009982times,<wbr/> no matter what the relative aspect ratios of the
9983crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009984corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009985larger than active pixel array.<wbr/> Width and height may be
9986rounded to nearest larger supportable width,<wbr/> especially
9987for raw output,<wbr/> where only a few fixed scales may be
9988possible.<wbr/> The width and height of the crop region cannot
9989be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9990android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9991activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9992respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009993 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009994 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009995
9996
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009997 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9998 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009999
10000
10001
10002 <!-- end of kind -->
10003 </tbody>
10004
10005 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010006 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010007
10008
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010009 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010010
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010011 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010012 <tr>
10013 <th class="th_name">Property Name</th>
10014 <th class="th_type">Type</th>
10015 <th class="th_description">Description</th>
10016 <th class="th_units">Units</th>
10017 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010018 <th class="th_tags">Tags</th>
10019 </tr>
10020 </thead>
10021
10022 <tbody>
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010034 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010035 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010036 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010037 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010038 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010039
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010040 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010041
10042
10043 </td> <!-- entry_type -->
10044
10045 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010046 <p>Duration each pixel is exposed to
10047light.<wbr/></p>
10048<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
10049duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010050 </td>
10051
10052 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010053 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010054 </td>
10055
10056 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010057 <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 -080010058 </td>
10059
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010060 <td class="entry_tags">
10061 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010062 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010063 </ul>
10064 </td>
10065
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010066 </tr>
10067 <tr class="entries_header">
10068 <th class="th_details" colspan="5">Details</th>
10069 </tr>
10070 <tr class="entry_cont">
10071 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010072 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010073 </td>
10074 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010075
10076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010077 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10078 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010079
10080
10081 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010082 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010083 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010084 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010085 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010086 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010087
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010088 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010089
10090
10091 </td> <!-- entry_type -->
10092
10093 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010094 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010095start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010096 </td>
10097
10098 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010099 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010100 </td>
10101
10102 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010103 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10104android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10105is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010106 </td>
10107
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010108 <td class="entry_tags">
10109 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010110 <li><a href="#tag_V1">V1</a></li>
10111 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010112 </ul>
10113 </td>
10114
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010115 </tr>
10116 <tr class="entries_header">
10117 <th class="th_details" colspan="5">Details</th>
10118 </tr>
10119 <tr class="entry_cont">
10120 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010121 <p>The maximum frame rate that can be supported by a camera subsystem is
10122a function of many factors:</p>
10123<ul>
10124<li>Requested resolutions of output image streams</li>
10125<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10126<li>The bandwidth of the imager interface</li>
10127<li>The bandwidth of the various ISP processing blocks</li>
10128</ul>
10129<p>Since these factors can vary greatly between different ISPs and
10130sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10131restrictions with as simple a model as possible.<wbr/></p>
10132<p>The model presented has the following characteristics:</p>
10133<ul>
10134<li>The image sensor is always configured to output the smallest
10135resolution possible given the application's requested output stream
10136sizes.<wbr/> The smallest resolution is defined as being at least as large
10137as the largest requested output stream size; the camera pipeline must
10138never digitally upsample sensor data when the crop region covers the
10139whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10140resolutions are configured,<wbr/> the sensor can provide a higher frame
10141rate.<wbr/></li>
10142<li>Since any request may use any or all the currently configured
10143output streams,<wbr/> the sensor and ISP must be configured to support
10144scaling a single capture to all the streams at the same time.<wbr/> This
10145means the camera pipeline must be ready to produce the largest
10146requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10147frame rate of a given configured stream set is governed only by the
10148largest requested stream resolution.<wbr/></li>
10149<li>Using more than one output stream in a request does not affect the
10150frame duration.<wbr/></li>
10151<li>JPEG streams act like processed YUV streams in requests for which
10152they are not included; in requests in which they are directly
10153referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10154JPEG stream requires the underlying YUV data to always be ready for
10155use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10156frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10157<li>The JPEG processor can run concurrently to the rest of the camera
10158pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10159</ul>
10160<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10161is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10162These are used to determine the maximum frame rate /<wbr/> minimum frame
10163duration that is possible for a given stream configuration.<wbr/></p>
10164<p>Specifically,<wbr/> the application can use the following rules to
10165determine the minimum frame duration it can request from the HAL
10166device:</p>
10167<ol>
10168<li>Given the application's currently configured set of output
10169streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10170<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10171<code>SP</code>.<wbr/></li>
10172<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10173count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10174<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10175<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
10176no exact match for <code>RP == RJ</code> (in particular there isn't an available
10177processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10178to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10179there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10180the processed resolution closest to <code>RJ</code>.<wbr/></li>
10181<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
10182no exact match for <code>RR == RP</code> (in particular there isn't an available
10183raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10184or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10185there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10186the raw resolution closest to <code>RP</code>.<wbr/></li>
10187<li>Look up the matching minimum frame durations in the property lists
10188<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10189<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10190<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10191minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10192<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10193supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10194<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10195supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10196<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10197the application,<wbr/> then the HAL will have to delay JPEG-using requests
10198whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10199This will happen whenever a JPEG-using request starts capture less
10200than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10201supported frame duration will vary between the values calculated in
10202#6 and #7.<wbr/></li>
10203</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010204 </td>
10205 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010206
10207
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010208 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10209 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010210
10211
10212 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010213 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010214 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010215 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010216 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010217 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010218
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010219 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010220
10221
10222 </td> <!-- entry_type -->
10223
10224 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010225 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010226implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010227below 'maximum analog sensitivity'.<wbr/></p>
10228<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10229gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010230 </td>
10231
10232 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010233 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010234 </td>
10235
10236 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010237 <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 -080010238 </td>
10239
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010240 <td class="entry_tags">
10241 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010242 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010243 </ul>
10244 </td>
10245
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010246 </tr>
10247 <tr class="entries_header">
10248 <th class="th_details" colspan="5">Details</th>
10249 </tr>
10250 <tr class="entry_cont">
10251 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010252 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010253 </td>
10254 </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
10261
10262 <!-- end of kind -->
10263 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010264 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010265
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010266 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010267 <tr>
10268 <th class="th_name">Property Name</th>
10269 <th class="th_type">Type</th>
10270 <th class="th_description">Description</th>
10271 <th class="th_units">Units</th>
10272 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010273 <th class="th_tags">Tags</th>
10274 </tr>
10275 </thead>
10276
10277 <tbody>
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010291 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010292 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010293 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010295 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010296 <span class="entry_type_container">x</span>
10297
10298 <span class="entry_type_array">
10299 4
10300 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010301 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010302 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010303
10304
10305 </td> <!-- entry_type -->
10306
10307 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010308 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010309active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010310pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010311 </td>
10312
10313 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010314 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10315 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010316 </td>
10317
10318 <td class="entry_range">
10319 </td>
10320
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010321 <td class="entry_tags">
10322 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010323 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010324 </ul>
10325 </td>
10326
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010327 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010328
10329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010330 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10331 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010332
10333
Zhijun He69fc0ea2013-07-17 09:42:58 -070010334 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010335 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010336 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010337 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010338 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010339 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010340 <span class="entry_type_container">x</span>
10341
10342 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010343 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010344 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010345 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010346 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010347
10348
10349 </td> <!-- entry_type -->
10350
10351 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010352 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010353 </td>
10354
10355 <td class="entry_units">
10356 </td>
10357
10358 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010359 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010360 </td>
10361
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010362 <td class="entry_tags">
10363 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010364 <li><a href="#tag_BC">BC</a></li>
10365 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010366 </ul>
10367 </td>
10368
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010369 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010370
10371
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010372 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10373 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010374
10375
10376 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010377 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010378 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010379 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010380 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010381 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010382
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010383 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010384
10385 <ul class="entry_type_enum">
10386 <li>
10387 <span class="entry_type_enum_name">RGGB</span>
10388 </li>
10389 <li>
10390 <span class="entry_type_enum_name">GRBG</span>
10391 </li>
10392 <li>
10393 <span class="entry_type_enum_name">GBRG</span>
10394 </li>
10395 <li>
10396 <span class="entry_type_enum_name">BGGR</span>
10397 </li>
10398 <li>
10399 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010400 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10401values for each pixel,<wbr/> instead of just 1 16-bit value
10402per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010403 </li>
10404 </ul>
10405
10406 </td> <!-- entry_type -->
10407
10408 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010409 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010410represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010411the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010412 </td>
10413
10414 <td class="entry_units">
10415 </td>
10416
10417 <td class="entry_range">
10418 </td>
10419
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010420 <td class="entry_tags">
10421 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010422 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010423 </ul>
10424 </td>
10425
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010426 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010427
10428
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010429 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10430 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010431
10432
10433 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010434 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010435 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010436 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010437 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010438 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010439 <span class="entry_type_container">x</span>
10440
10441 <span class="entry_type_array">
10442 2
10443 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010444 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010445 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010446
10447
10448 </td> <!-- entry_type -->
10449
10450 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010451 <p>Range of valid exposure
10452times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010453 </td>
10454
10455 <td class="entry_units">
10456 </td>
10457
10458 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010459 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10460sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010461 </td>
10462
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010463 <td class="entry_tags">
10464 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010465 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010466 </ul>
10467 </td>
10468
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010469 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010470
10471
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010472 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10473 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010474
10475
10476 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010477 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010478 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010479 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010480 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010481 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010482
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010483 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010484
10485
10486 </td> <!-- entry_type -->
10487
10488 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010489 <p>Maximum possible frame duration (minimum frame
10490rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010491 </td>
10492
10493 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010494 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010495 </td>
10496
10497 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010498 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010499 </td>
10500
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010501 <td class="entry_tags">
10502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010503 <li><a href="#tag_BC">BC</a></li>
10504 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010505 </ul>
10506 </td>
10507
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010508 </tr>
10509 <tr class="entries_header">
10510 <th class="th_details" colspan="5">Details</th>
10511 </tr>
10512 <tr class="entry_cont">
10513 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010514 <p>Minimum duration is a function of resolution,<wbr/>
10515processing settings.<wbr/> See
10516android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10517android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010518<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 -080010519 </td>
10520 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010521
10522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010523 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10524 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010525
10526
10527 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010528 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010529 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010530 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010531 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010532 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010533 <span class="entry_type_container">x</span>
10534
10535 <span class="entry_type_array">
10536 2
10537 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010538 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010539 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010540
10541
10542 </td> <!-- entry_type -->
10543
10544 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010545 <p>The physical dimensions of the full pixel
10546array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010547 </td>
10548
10549 <td class="entry_units">
10550 </td>
10551
10552 <td class="entry_range">
10553 </td>
10554
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010555 <td class="entry_tags">
10556 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010557 <li><a href="#tag_V1">V1</a></li>
10558 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010559 </ul>
10560 </td>
10561
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010562 </tr>
10563 <tr class="entries_header">
10564 <th class="th_details" colspan="5">Details</th>
10565 </tr>
10566 <tr class="entry_cont">
10567 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010568 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010569 </td>
10570 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010571
10572
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010573 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10574 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010575
10576
10577 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010578 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010579 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010580 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010581 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010582 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010583 <span class="entry_type_container">x</span>
10584
10585 <span class="entry_type_array">
10586 2
10587 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010588 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010589
10590
10591 </td> <!-- entry_type -->
10592
10593 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010594 <p>Dimensions of full pixel array,<wbr/> possibly
10595including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010596 </td>
10597
10598 <td class="entry_units">
10599 </td>
10600
10601 <td class="entry_range">
10602 </td>
10603
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010604 <td class="entry_tags">
10605 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010606 <li><a href="#tag_DNG">DNG</a></li>
10607 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010608 </ul>
10609 </td>
10610
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010611 </tr>
10612 <tr class="entries_header">
10613 <th class="th_details" colspan="5">Details</th>
10614 </tr>
10615 <tr class="entry_cont">
10616 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010617 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010618match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010619android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010620 </td>
10621 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010622
10623
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010624 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10625 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010626
10627
10628 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010629 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010630 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010631 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010632 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010633 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010634
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010635 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010636
10637
10638 </td> <!-- entry_type -->
10639
10640 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010641 <p>Maximum raw value output by
10642sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010643 </td>
10644
10645 <td class="entry_units">
10646 </td>
10647
10648 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010649 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010650 </td>
10651
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010652 <td class="entry_tags">
10653 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010654 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010655 </ul>
10656 </td>
10657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010658 </tr>
10659 <tr class="entries_header">
10660 <th class="th_details" colspan="5">Details</th>
10661 </tr>
10662 <tr class="entry_cont">
10663 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010664 <p>Defines sensor bit depth (10-14 bits is
10665expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010666 </td>
10667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010668
10669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010670 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10671 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010672
10673
10674
10675
10676
10677 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010678 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010679 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010680 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010681 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010682 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010683
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010684 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010685
10686
10687 </td> <!-- entry_type -->
10688
10689 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010690 <p>Gain factor from electrons to raw units when
10691ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010692 </td>
10693
10694 <td class="entry_units">
10695 </td>
10696
10697 <td class="entry_range">
10698 </td>
10699
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010700 <td class="entry_tags">
10701 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010702 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010703 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010704 </ul>
10705 </td>
10706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010707 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010708
10709
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010710 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10711 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010712
10713
10714 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010715 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010716 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010717 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010718 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010719 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010720 <span class="entry_type_container">x</span>
10721
10722 <span class="entry_type_array">
10723 4
10724 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010725 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010726 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010727
10728
10729 </td> <!-- entry_type -->
10730
10731 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010732 <p>A fixed black level offset for each of the
10733Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010734 </td>
10735
10736 <td class="entry_units">
10737 </td>
10738
10739 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010740 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010741 </td>
10742
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010743 <td class="entry_tags">
10744 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010745 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010746 </ul>
10747 </td>
10748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010749 </tr>
10750 <tr class="entries_header">
10751 <th class="th_details" colspan="5">Details</th>
10752 </tr>
10753 <tr class="entry_cont">
10754 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010755 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10756tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010757 </td>
10758 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010759
10760
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010761 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10762 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010763
10764
10765 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010766 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010767 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010768 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010769 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010770 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010771 <span class="entry_type_container">x</span>
10772
10773 <span class="entry_type_array">
10774 9
10775 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010777 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010778
10779
10780 </td> <!-- entry_type -->
10781
10782 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010783 <p>Per-device calibration on top of color space
10784transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010785 </td>
10786
10787 <td class="entry_units">
10788 </td>
10789
10790 <td class="entry_range">
10791 </td>
10792
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010793 <td class="entry_tags">
10794 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010795 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010796 </ul>
10797 </td>
10798
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010799 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010800
10801
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010802 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10803 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010804
10805
10806 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010807 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010808 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010809 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010810 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010811 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010812 <span class="entry_type_container">x</span>
10813
10814 <span class="entry_type_array">
10815 9
10816 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010817 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010818 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010819
10820
10821 </td> <!-- entry_type -->
10822
10823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010824 <p>Per-device calibration on top of color space
10825transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010826 </td>
10827
10828 <td class="entry_units">
10829 </td>
10830
10831 <td class="entry_range">
10832 </td>
10833
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010834 <td class="entry_tags">
10835 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010836 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010837 </ul>
10838 </td>
10839
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010840 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010841
10842
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010843 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10844 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010845
10846
10847 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010848 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010849 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010850 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010851 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010852 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010853 <span class="entry_type_container">x</span>
10854
10855 <span class="entry_type_array">
10856 9
10857 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010858 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010859 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010860
10861
10862 </td> <!-- entry_type -->
10863
10864 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010865 <p>Linear mapping from XYZ (D50) color space to
10866reference linear sensor color,<wbr/> for first reference
10867illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010868 </td>
10869
10870 <td class="entry_units">
10871 </td>
10872
10873 <td class="entry_range">
10874 </td>
10875
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010876 <td class="entry_tags">
10877 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010878 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010879 </ul>
10880 </td>
10881
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010882 </tr>
10883 <tr class="entries_header">
10884 <th class="th_details" colspan="5">Details</th>
10885 </tr>
10886 <tr class="entry_cont">
10887 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010888 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10889black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10890At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010891 </td>
10892 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010893
10894
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010895 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10896 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010897
10898
10899 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010900 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010901 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010902 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010903 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010904 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010905 <span class="entry_type_container">x</span>
10906
10907 <span class="entry_type_array">
10908 9
10909 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010910 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010911 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010912
10913
10914 </td> <!-- entry_type -->
10915
10916 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010917 <p>Linear mapping from XYZ (D50) color space to
10918reference linear sensor color,<wbr/> for second reference
10919illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010920 </td>
10921
10922 <td class="entry_units">
10923 </td>
10924
10925 <td class="entry_range">
10926 </td>
10927
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010928 <td class="entry_tags">
10929 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010930 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010931 </ul>
10932 </td>
10933
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010934 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010935
10936
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010937 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10938 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010939
10940
10941 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010942 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010943 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010944 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010945 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010946 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010947 <span class="entry_type_container">x</span>
10948
10949 <span class="entry_type_array">
10950 9
10951 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010952 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010953 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010954
10955
10956 </td> <!-- entry_type -->
10957
10958 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010959 <p>Used by DNG for better WB
10960adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010961 </td>
10962
10963 <td class="entry_units">
10964 </td>
10965
10966 <td class="entry_range">
10967 </td>
10968
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010969 <td class="entry_tags">
10970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010971 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010972 </ul>
10973 </td>
10974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010975 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010976
10977
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010978 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10979 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010980
10981
10982 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010983 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010984 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010985 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010987 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010988 <span class="entry_type_container">x</span>
10989
10990 <span class="entry_type_array">
10991 9
10992 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010993 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010994 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010995
10996
10997 </td> <!-- entry_type -->
10998
10999 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011000 <p>Used by DNG for better WB
11001adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011002 </td>
11003
11004 <td class="entry_units">
11005 </td>
11006
11007 <td class="entry_range">
11008 </td>
11009
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011010 <td class="entry_tags">
11011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011012 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011013 </ul>
11014 </td>
11015
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011016 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011017
11018
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011019 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11020 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011021
11022
11023 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011024 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011025 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011026 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011027 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011028 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011030 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011031
11032
11033 </td> <!-- entry_type -->
11034
11035 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011036 <p>Maximum sensitivity that is implemented
11037purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011038 </td>
11039
11040 <td class="entry_units">
11041 </td>
11042
11043 <td class="entry_range">
11044 </td>
11045
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011046 <td class="entry_tags">
11047 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011048 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070011049 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011050 </ul>
11051 </td>
11052
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011053 </tr>
11054 <tr class="entries_header">
11055 <th class="th_details" colspan="5">Details</th>
11056 </tr>
11057 <tr class="entry_cont">
11058 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011059 <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 -080011060equal to this,<wbr/> all applied gain must be analog.<wbr/> For
11061values above this,<wbr/> it can be a mix of analog and
11062digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011063 </td>
11064 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011065
11066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011067 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11068 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011069
11070
11071 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011072 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011073 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011074 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011075 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011076 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011077 <span class="entry_type_container">x</span>
11078
11079 <span class="entry_type_array">
11080 2
11081 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011082 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011083 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011084
11085
11086 </td> <!-- entry_type -->
11087
11088 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011089 <p>Estimation of sensor noise
11090characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011091 </td>
11092
11093 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011094 var(raw pixel value) = electrons * (baseGainFactor
11095 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
11096 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011097 </td>
11098
11099 <td class="entry_range">
11100 </td>
11101
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011102 <td class="entry_tags">
11103 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011104 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011105 </ul>
11106 </td>
11107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011108 </tr>
11109 <tr class="entries_header">
11110 <th class="th_details" colspan="5">Details</th>
11111 </tr>
11112 <tr class="entry_cont">
11113 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011114 <p>A represents sensor read noise before analog
11115amplification; B represents noise from A/<wbr/>D conversion and
11116other circuits after amplification.<wbr/> Both noise sources
11117are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11118across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011119 </td>
11120 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011121
11122
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011123 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11124 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011125
11126
11127 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011128 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011129 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011130 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011131 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011132 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011133
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011134 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011135
11136
11137 </td> <!-- entry_type -->
11138
11139 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011140 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011141image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011142screen in its native orientation.<wbr/> Also defines the
11143direction of rolling shutter readout,<wbr/> which is from top
11144to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011145 </td>
11146
11147 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011148 degrees clockwise rotation,<wbr/> only multiples of
11149 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011150 </td>
11151
11152 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011153 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011154 </td>
11155
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011156 <td class="entry_tags">
11157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011159 </ul>
11160 </td>
11161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011162 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011163
11164
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011165 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11166 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011167
11168
11169 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011170 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011171 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011172 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011173 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011174 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011175
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011176 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011177
11178 <ul class="entry_type_enum">
11179 <li>
11180 <span class="entry_type_enum_name">DAYLIGHT</span>
11181 <span class="entry_type_enum_value">1</span>
11182 </li>
11183 <li>
11184 <span class="entry_type_enum_name">FLUORESCENT</span>
11185 <span class="entry_type_enum_value">2</span>
11186 </li>
11187 <li>
11188 <span class="entry_type_enum_name">TUNGSTEN</span>
11189 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011190 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011191 </li>
11192 <li>
11193 <span class="entry_type_enum_name">FLASH</span>
11194 <span class="entry_type_enum_value">4</span>
11195 </li>
11196 <li>
11197 <span class="entry_type_enum_name">FINE_WEATHER</span>
11198 <span class="entry_type_enum_value">9</span>
11199 </li>
11200 <li>
11201 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11202 <span class="entry_type_enum_value">10</span>
11203 </li>
11204 <li>
11205 <span class="entry_type_enum_name">SHADE</span>
11206 <span class="entry_type_enum_value">11</span>
11207 </li>
11208 <li>
11209 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11210 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011211 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011212 </li>
11213 <li>
11214 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11215 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011216 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011217 </li>
11218 <li>
11219 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11220 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011221 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011222 </li>
11223 <li>
11224 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11225 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011226 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011227 </li>
11228 <li>
11229 <span class="entry_type_enum_name">STANDARD_A</span>
11230 <span class="entry_type_enum_value">17</span>
11231 </li>
11232 <li>
11233 <span class="entry_type_enum_name">STANDARD_B</span>
11234 <span class="entry_type_enum_value">18</span>
11235 </li>
11236 <li>
11237 <span class="entry_type_enum_name">STANDARD_C</span>
11238 <span class="entry_type_enum_value">19</span>
11239 </li>
11240 <li>
11241 <span class="entry_type_enum_name">D55</span>
11242 <span class="entry_type_enum_value">20</span>
11243 </li>
11244 <li>
11245 <span class="entry_type_enum_name">D65</span>
11246 <span class="entry_type_enum_value">21</span>
11247 </li>
11248 <li>
11249 <span class="entry_type_enum_name">D75</span>
11250 <span class="entry_type_enum_value">22</span>
11251 </li>
11252 <li>
11253 <span class="entry_type_enum_name">D50</span>
11254 <span class="entry_type_enum_value">23</span>
11255 </li>
11256 <li>
11257 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11258 <span class="entry_type_enum_value">24</span>
11259 </li>
11260 </ul>
11261
11262 </td> <!-- entry_type -->
11263
11264 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011265 <p>Light source used to define transform
112661</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011267 </td>
11268
11269 <td class="entry_units">
11270 </td>
11271
11272 <td class="entry_range">
11273 </td>
11274
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011275 <td class="entry_tags">
11276 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011277 <li><a href="#tag_DNG">DNG</a></li>
11278 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011279 </ul>
11280 </td>
11281
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011282 </tr>
11283 <tr class="entries_header">
11284 <th class="th_details" colspan="5">Details</th>
11285 </tr>
11286 <tr class="entry_cont">
11287 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011288 <p>[EXIF LightSource tag] Must all these be
11289supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011290 </td>
11291 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011292
11293
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011294 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11295 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011296
11297
11298 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011299 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011300 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011301 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011302 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011303 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011304
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011305 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011306
11307
11308 </td> <!-- entry_type -->
11309
11310 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011311 <p>Light source used to define transform
113122</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011313 </td>
11314
11315 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011316 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011317 </td>
11318
11319 <td class="entry_range">
11320 </td>
11321
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011322 <td class="entry_tags">
11323 </td>
11324
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011325 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011326
11327
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011328 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11329 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011330
11331
11332
11333 <!-- end of kind -->
11334 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011335 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011336
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011337 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011338 <tr>
11339 <th class="th_name">Property Name</th>
11340 <th class="th_type">Type</th>
11341 <th class="th_description">Description</th>
11342 <th class="th_units">Units</th>
11343 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011344 <th class="th_tags">Tags</th>
11345 </tr>
11346 </thead>
11347
11348 <tbody>
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011360 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011361 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011362 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011363 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011364 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011365
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011366 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011367
11368
11369 </td> <!-- entry_type -->
11370
11371 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011372 <p>Duration each pixel is exposed to
11373light.<wbr/></p>
11374<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11375duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011376 </td>
11377
11378 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011379 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011380 </td>
11381
11382 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011383 <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 -080011384 </td>
11385
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011386 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011387 <ul class="entry_tags">
11388 <li><a href="#tag_V1">V1</a></li>
11389 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011390 </td>
11391
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011392 </tr>
11393 <tr class="entries_header">
11394 <th class="th_details" colspan="5">Details</th>
11395 </tr>
11396 <tr class="entry_cont">
11397 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011398 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011399 </td>
11400 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011401
11402
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011403 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11404 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011405
11406
11407 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011408 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011409 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011410 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011411 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011412 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011413
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011414 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011415
11416
11417 </td> <!-- entry_type -->
11418
11419 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011420 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011421start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011422 </td>
11423
11424 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011425 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011426 </td>
11427
11428 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011429 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11430android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11431is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011432 </td>
11433
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011434 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011435 <ul class="entry_tags">
11436 <li><a href="#tag_V1">V1</a></li>
11437 <li><a href="#tag_BC">BC</a></li>
11438 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011439 </td>
11440
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011441 </tr>
11442 <tr class="entries_header">
11443 <th class="th_details" colspan="5">Details</th>
11444 </tr>
11445 <tr class="entry_cont">
11446 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011447 <p>The maximum frame rate that can be supported by a camera subsystem is
11448a function of many factors:</p>
11449<ul>
11450<li>Requested resolutions of output image streams</li>
11451<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11452<li>The bandwidth of the imager interface</li>
11453<li>The bandwidth of the various ISP processing blocks</li>
11454</ul>
11455<p>Since these factors can vary greatly between different ISPs and
11456sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11457restrictions with as simple a model as possible.<wbr/></p>
11458<p>The model presented has the following characteristics:</p>
11459<ul>
11460<li>The image sensor is always configured to output the smallest
11461resolution possible given the application's requested output stream
11462sizes.<wbr/> The smallest resolution is defined as being at least as large
11463as the largest requested output stream size; the camera pipeline must
11464never digitally upsample sensor data when the crop region covers the
11465whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11466resolutions are configured,<wbr/> the sensor can provide a higher frame
11467rate.<wbr/></li>
11468<li>Since any request may use any or all the currently configured
11469output streams,<wbr/> the sensor and ISP must be configured to support
11470scaling a single capture to all the streams at the same time.<wbr/> This
11471means the camera pipeline must be ready to produce the largest
11472requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11473frame rate of a given configured stream set is governed only by the
11474largest requested stream resolution.<wbr/></li>
11475<li>Using more than one output stream in a request does not affect the
11476frame duration.<wbr/></li>
11477<li>JPEG streams act like processed YUV streams in requests for which
11478they are not included; in requests in which they are directly
11479referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11480JPEG stream requires the underlying YUV data to always be ready for
11481use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11482frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11483<li>The JPEG processor can run concurrently to the rest of the camera
11484pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11485</ul>
11486<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11487is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11488These are used to determine the maximum frame rate /<wbr/> minimum frame
11489duration that is possible for a given stream configuration.<wbr/></p>
11490<p>Specifically,<wbr/> the application can use the following rules to
11491determine the minimum frame duration it can request from the HAL
11492device:</p>
11493<ol>
11494<li>Given the application's currently configured set of output
11495streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11496<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11497<code>SP</code>.<wbr/></li>
11498<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11499count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11500<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11501<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
11502no exact match for <code>RP == RJ</code> (in particular there isn't an available
11503processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11504to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11505there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11506the processed resolution closest to <code>RJ</code>.<wbr/></li>
11507<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
11508no exact match for <code>RR == RP</code> (in particular there isn't an available
11509raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11510or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11511there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11512the raw resolution closest to <code>RP</code>.<wbr/></li>
11513<li>Look up the matching minimum frame durations in the property lists
11514<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11515<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11516<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11517minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11518<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11519supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11520<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11521supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11522<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11523the application,<wbr/> then the HAL will have to delay JPEG-using requests
11524whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11525This will happen whenever a JPEG-using request starts capture less
11526than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11527supported frame duration will vary between the values calculated in
11528#6 and #7.<wbr/></li>
11529</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011530 </td>
11531 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011532
11533
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011534 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11535 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011536
11537
11538 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011539 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011540 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011541 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011542 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011543 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011544
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011545 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011546
11547
11548 </td> <!-- entry_type -->
11549
11550 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011551 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011552implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011553below 'maximum analog sensitivity'.<wbr/></p>
11554<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11555gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011556 </td>
11557
11558 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011559 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011560 </td>
11561
11562 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011563 <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 -080011564 </td>
11565
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011566 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011567 <ul class="entry_tags">
11568 <li><a href="#tag_V1">V1</a></li>
11569 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011570 </td>
11571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011572 </tr>
11573 <tr class="entries_header">
11574 <th class="th_details" colspan="5">Details</th>
11575 </tr>
11576 <tr class="entry_cont">
11577 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011578 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011579 </td>
11580 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011581
11582
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011583 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11584 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011585
11586
11587 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011588 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011589 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011590 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011591 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011592 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011593
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011594 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011595
11596
11597 </td> <!-- entry_type -->
11598
11599 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011600 <p>Time at start of exposure of first
11601row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011602 </td>
11603
11604 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011605 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011606 </td>
11607
11608 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011609 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011610 </td>
11611
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011612 <td class="entry_tags">
11613 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011614 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011615 </ul>
11616 </td>
11617
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011618 </tr>
11619 <tr class="entries_header">
11620 <th class="th_details" colspan="5">Details</th>
11621 </tr>
11622 <tr class="entry_cont">
11623 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011624 <p>Monotonic,<wbr/> should be synced to other timestamps in
11625system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011626 </td>
11627 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011628
11629
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011630 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11631 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011632
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011633
11634 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011635 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011636 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011637 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011638 <td class="entry_type">
11639 <span class="entry_type_name">float</span>
11640
11641 <span class="entry_type_visibility"> [public]</span>
11642
11643
11644 </td> <!-- entry_type -->
11645
11646 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011647 <p>The temperature of the sensor,<wbr/> sampled at the time
11648exposure began for this frame.<wbr/></p>
11649<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11650somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011651 </td>
11652
11653 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011654 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011655 </td>
11656
11657 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011658 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011659 </td>
11660
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011661 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011662 <ul class="entry_tags">
11663 <li><a href="#tag_FULL">FULL</a></li>
11664 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011665 </td>
11666
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011668
11669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011670 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11671 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011672
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011673
11674
11675 <!-- end of kind -->
11676 </tbody>
11677
11678 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011679 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011680
11681
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011682 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011683
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011684 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011685 <tr>
11686 <th class="th_name">Property Name</th>
11687 <th class="th_type">Type</th>
11688 <th class="th_description">Description</th>
11689 <th class="th_units">Units</th>
11690 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011691 <th class="th_tags">Tags</th>
11692 </tr>
11693 </thead>
11694
11695 <tbody>
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706 <tr class="entry" id="controls_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080011707 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011708 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011709 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011710 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011711 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011712
Zhijun He2f86a212014-01-15 10:34:02 -080011713 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011714
11715 <ul class="entry_type_enum">
11716 <li>
11717 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011718 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011719 </li>
11720 <li>
11721 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011722 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor raw output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011723 </li>
11724 <li>
11725 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011726 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011727 </li>
11728 </ul>
11729
11730 </td> <!-- entry_type -->
11731
11732 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011733 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080011734to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011735 </td>
11736
11737 <td class="entry_units">
11738 </td>
11739
11740 <td class="entry_range">
11741 </td>
11742
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011743 <td class="entry_tags">
11744 </td>
11745
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011746 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080011747 <tr class="entries_header">
11748 <th class="th_details" colspan="5">Details</th>
11749 </tr>
11750 <tr class="entry_cont">
11751 <td class="entry_details" colspan="5">
11752 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
11753camera device,<wbr/> and an identity lens shading map data will be provided
11754if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
11755shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
11756the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
11757shown below:</p>
11758<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11759 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11760 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11761 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11762 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11763 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
11764</code></pre>
11765<p>When set to other modes,<wbr/> lens shading correction will be applied by the
11766camera device.<wbr/> Applications can request lens shading map data by setting
11767<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
11768lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
11769by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
11770 </td>
11771 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011772
11773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011774 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11775 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011776
11777
11778 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011779 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011780 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011781 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011782 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011783 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011784
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011785 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011786
11787
11788 </td> <!-- entry_type -->
11789
11790 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011791 <p>Control the amount of shading correction
11792applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011793 </td>
11794
11795 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011796 unitless: 1-10; 10 is full shading
11797 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011798 </td>
11799
11800 <td class="entry_range">
11801 </td>
11802
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011803 <td class="entry_tags">
11804 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011805 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011806 </ul>
11807 </td>
11808
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011809 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011810
11811
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011812 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11813 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011814
11815
11816
11817 <!-- end of kind -->
11818 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011819 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011820
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011821 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011822 <tr>
11823 <th class="th_name">Property Name</th>
11824 <th class="th_type">Type</th>
11825 <th class="th_description">Description</th>
11826 <th class="th_units">Units</th>
11827 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011828 <th class="th_tags">Tags</th>
11829 </tr>
11830 </thead>
11831
11832 <tbody>
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843 <tr class="entry" id="dynamic_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080011844 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011845 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011846 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011848 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011849
Zhijun He2f86a212014-01-15 10:34:02 -080011850 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011851
11852 <ul class="entry_type_enum">
11853 <li>
11854 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011855 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011856 </li>
11857 <li>
11858 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011859 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor raw output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011860 </li>
11861 <li>
11862 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011863 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011864 </li>
11865 </ul>
11866
11867 </td> <!-- entry_type -->
11868
11869 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011870 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080011871to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011872 </td>
11873
11874 <td class="entry_units">
11875 </td>
11876
11877 <td class="entry_range">
11878 </td>
11879
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011880 <td class="entry_tags">
11881 </td>
11882
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011883 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080011884 <tr class="entries_header">
11885 <th class="th_details" colspan="5">Details</th>
11886 </tr>
11887 <tr class="entry_cont">
11888 <td class="entry_details" colspan="5">
11889 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
11890camera device,<wbr/> and an identity lens shading map data will be provided
11891if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
11892shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
11893the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
11894shown below:</p>
11895<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11896 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11897 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11898 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11899 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11900 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
11901</code></pre>
11902<p>When set to other modes,<wbr/> lens shading correction will be applied by the
11903camera device.<wbr/> Applications can request lens shading map data by setting
11904<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
11905lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
11906by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
11907 </td>
11908 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011909
11910
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011911 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11912 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011913
11914
11915
11916 <!-- end of kind -->
11917 </tbody>
11918
11919 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011920 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011921
11922
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011923 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011924
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011925 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011926 <tr>
11927 <th class="th_name">Property Name</th>
11928 <th class="th_type">Type</th>
11929 <th class="th_description">Description</th>
11930 <th class="th_units">Units</th>
11931 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011932 <th class="th_tags">Tags</th>
11933 </tr>
11934 </thead>
11935
11936 <tbody>
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011948 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011949 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011950 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011952 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011955
11956 <ul class="entry_type_enum">
11957 <li>
11958 <span class="entry_type_enum_name">OFF</span>
11959 </li>
11960 <li>
11961 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011962 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11963only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011964 </li>
11965 <li>
11966 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011967 <span class="entry_type_enum_notes"><p>Optional Return all face
11968metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011969 </li>
11970 </ul>
11971
11972 </td> <!-- entry_type -->
11973
11974 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011975 <p>State of the face detector
11976unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011977 </td>
11978
11979 <td class="entry_units">
11980 </td>
11981
11982 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011983 <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 -080011984 </td>
11985
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011986 <td class="entry_tags">
11987 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011988 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011989 </ul>
11990 </td>
11991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011992 </tr>
11993 <tr class="entries_header">
11994 <th class="th_details" colspan="5">Details</th>
11995 </tr>
11996 <tr class="entry_cont">
11997 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011998 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011999should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012000fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012001<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 -080012002 </td>
12003 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012004
12005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012006 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12007 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012008
12009
12010 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012011 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012012 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012013 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012015 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012016
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012017 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012018
12019 <ul class="entry_type_enum">
12020 <li>
12021 <span class="entry_type_enum_name">OFF</span>
12022 </li>
12023 <li>
12024 <span class="entry_type_enum_name">ON</span>
12025 </li>
12026 </ul>
12027
12028 </td> <!-- entry_type -->
12029
12030 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012031 <p>Operating mode for histogram
12032generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012033 </td>
12034
12035 <td class="entry_units">
12036 </td>
12037
12038 <td class="entry_range">
12039 </td>
12040
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012041 <td class="entry_tags">
12042 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012043 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012044 </ul>
12045 </td>
12046
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012047 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012048
12049
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012050 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12051 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012052
12053
12054 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012055 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012056 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012057 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012058 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012059 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012060
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012061 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012062
12063 <ul class="entry_type_enum">
12064 <li>
12065 <span class="entry_type_enum_name">OFF</span>
12066 </li>
12067 <li>
12068 <span class="entry_type_enum_name">ON</span>
12069 </li>
12070 </ul>
12071
12072 </td> <!-- entry_type -->
12073
12074 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012075 <p>Operating mode for sharpness map
12076generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012077 </td>
12078
12079 <td class="entry_units">
12080 </td>
12081
12082 <td class="entry_range">
12083 </td>
12084
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012085 <td class="entry_tags">
12086 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012087 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012088 </ul>
12089 </td>
12090
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012091 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012092
12093
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012094 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12095 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012096
Zhijun He69fc0ea2013-07-17 09:42:58 -070012097
12098 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012099 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012100 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012101 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012102 <td class="entry_type">
12103 <span class="entry_type_name entry_type_name_enum">byte</span>
12104
12105 <span class="entry_type_visibility"> [public]</span>
12106
12107 <ul class="entry_type_enum">
12108 <li>
12109 <span class="entry_type_enum_name">OFF</span>
12110 </li>
12111 <li>
12112 <span class="entry_type_enum_name">ON</span>
12113 </li>
12114 </ul>
12115
12116 </td> <!-- entry_type -->
12117
12118 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012119 <p>Whether the HAL needs to output the lens
12120shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012121 </td>
12122
12123 <td class="entry_units">
12124 </td>
12125
12126 <td class="entry_range">
12127 </td>
12128
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012129 <td class="entry_tags">
12130 </td>
12131
12132 </tr>
12133 <tr class="entries_header">
12134 <th class="th_details" colspan="5">Details</th>
12135 </tr>
12136 <tr class="entry_cont">
12137 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012138 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012139<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 -080012140the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012141 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012142 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012143
12144
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012145 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12146 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012147
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012148
12149
12150 <!-- end of kind -->
12151 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012152 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012154 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012155 <tr>
12156 <th class="th_name">Property Name</th>
12157 <th class="th_type">Type</th>
12158 <th class="th_description">Description</th>
12159 <th class="th_units">Units</th>
12160 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012161 <th class="th_tags">Tags</th>
12162 </tr>
12163 </thead>
12164
12165 <tbody>
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012179 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012180 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012183 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012184 <span class="entry_type_container">x</span>
12185
12186 <span class="entry_type_array">
12187 n
12188 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012189 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012190 <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 -080012191
12192
12193 </td> <!-- entry_type -->
12194
12195 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012196 <p>Which face detection modes are available,<wbr/>
12197if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012198 </td>
12199
12200 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012201 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012202 OFF
12203 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012204 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012205 </td>
12206
12207 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012208 </td>
12209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012210 <td class="entry_tags">
12211 </td>
12212
12213 </tr>
12214 <tr class="entries_header">
12215 <th class="th_details" colspan="5">Details</th>
12216 </tr>
12217 <tr class="entry_cont">
12218 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012219 <p>OFF means face detection is disabled,<wbr/> it must
12220be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012221<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012222<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12223<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012224<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012225<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12226<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012227 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012228 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012229
12230
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012231 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12232 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012233
12234
12235 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012236 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012237 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012238 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012239 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012240 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012241
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012242 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012243
12244
12245 </td> <!-- entry_type -->
12246
12247 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012248 <p>Number of histogram buckets
12249supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012250 </td>
12251
12252 <td class="entry_units">
12253 </td>
12254
12255 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012256 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012257 </td>
12258
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012259 <td class="entry_tags">
12260 </td>
12261
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012262 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012263
12264
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012265 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12266 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012267
12268
12269 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012270 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012271 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012272 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012273 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012274 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012275
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012276 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012277
12278
12279 </td> <!-- entry_type -->
12280
12281 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012282 <p>Maximum number of simultaneously detectable
12283faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012284 </td>
12285
12286 <td class="entry_units">
12287 </td>
12288
12289 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012290 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012291modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012292 </td>
12293
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012294 <td class="entry_tags">
12295 </td>
12296
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012297 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012298
12299
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012300 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12301 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012302
12303
12304 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012305 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012306 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012307 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012309 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012310
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012311 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012312
12313
12314 </td> <!-- entry_type -->
12315
12316 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012317 <p>Maximum value possible for a histogram
12318bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012319 </td>
12320
12321 <td class="entry_units">
12322 </td>
12323
12324 <td class="entry_range">
12325 </td>
12326
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012327 <td class="entry_tags">
12328 </td>
12329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012330 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012331
12332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012333 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12334 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012335
12336
12337 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012338 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012339 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012340 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012341 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012342 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012343
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012344 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012345
12346
12347 </td> <!-- entry_type -->
12348
12349 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012350 <p>Maximum value possible for a sharpness map
12351region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012352 </td>
12353
12354 <td class="entry_units">
12355 </td>
12356
12357 <td class="entry_range">
12358 </td>
12359
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012360 <td class="entry_tags">
12361 </td>
12362
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012363 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012364
12365
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012366 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12367 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012368
12369
12370 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012371 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012372 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012373 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012374 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012375 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012376 <span class="entry_type_container">x</span>
12377
12378 <span class="entry_type_array">
12379 2
12380 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012381 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012382 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012383
12384
12385 </td> <!-- entry_type -->
12386
12387 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012388 <p>Dimensions of the sharpness
12389map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012390 </td>
12391
12392 <td class="entry_units">
12393 </td>
12394
12395 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012396 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012397 </td>
12398
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012399 <td class="entry_tags">
12400 </td>
12401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012402 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012403
12404
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012405 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12406 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012407
12408
12409
12410
12411
12412
12413 <!-- end of kind -->
12414 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012415 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012416
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012417 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012418 <tr>
12419 <th class="th_name">Property Name</th>
12420 <th class="th_type">Type</th>
12421 <th class="th_description">Description</th>
12422 <th class="th_units">Units</th>
12423 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012424 <th class="th_tags">Tags</th>
12425 </tr>
12426 </thead>
12427
12428 <tbody>
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012440 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012441 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012442 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012443 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012444 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012445
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012446 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012447
12448 <ul class="entry_type_enum">
12449 <li>
12450 <span class="entry_type_enum_name">OFF</span>
12451 </li>
12452 <li>
12453 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012454 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12455only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012456 </li>
12457 <li>
12458 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012459 <span class="entry_type_enum_notes"><p>Optional Return all face
12460metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012461 </li>
12462 </ul>
12463
12464 </td> <!-- entry_type -->
12465
12466 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012467 <p>State of the face detector
12468unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012469 </td>
12470
12471 <td class="entry_units">
12472 </td>
12473
12474 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012475 <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 -080012476 </td>
12477
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012478 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012479 <ul class="entry_tags">
12480 <li><a href="#tag_BC">BC</a></li>
12481 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012482 </td>
12483
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012484 </tr>
12485 <tr class="entries_header">
12486 <th class="th_details" colspan="5">Details</th>
12487 </tr>
12488 <tr class="entry_cont">
12489 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012490 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012491should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012492fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012493<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 -080012494 </td>
12495 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012496
12497
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012498 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12499 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012500
12501
12502 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012503 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012504 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012505 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012506 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012507 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012508 <span class="entry_type_container">x</span>
12509
12510 <span class="entry_type_array">
12511 n
12512 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012513 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012514
12515
12516 </td> <!-- entry_type -->
12517
12518 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012519 <p>List of unique IDs for detected
12520faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012521 </td>
12522
12523 <td class="entry_units">
12524 </td>
12525
12526 <td class="entry_range">
12527 </td>
12528
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012529 <td class="entry_tags">
12530 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012531 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012532 </ul>
12533 </td>
12534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012535 </tr>
12536 <tr class="entries_header">
12537 <th class="th_details" colspan="5">Details</th>
12538 </tr>
12539 <tr class="entry_cont">
12540 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012541 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012542 </td>
12543 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012544
12545
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012546 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12547 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012548
12549
12550 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012551 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012552 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012553 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012554 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012555 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012556 <span class="entry_type_container">x</span>
12557
12558 <span class="entry_type_array">
12559 n x 6
12560 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012561 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012562 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012563
12564
12565 </td> <!-- entry_type -->
12566
12567 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012568 <p>List of landmarks for detected
12569faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012570 </td>
12571
12572 <td class="entry_units">
12573 </td>
12574
12575 <td class="entry_range">
12576 </td>
12577
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012578 <td class="entry_tags">
12579 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012580 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012581 </ul>
12582 </td>
12583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012584 </tr>
12585 <tr class="entries_header">
12586 <th class="th_details" colspan="5">Details</th>
12587 </tr>
12588 <tr class="entry_cont">
12589 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012590 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012591 </td>
12592 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012593
12594
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012595 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12596 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012597
12598
12599 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012600 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012601 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012602 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012603 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012604 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012605 <span class="entry_type_container">x</span>
12606
12607 <span class="entry_type_array">
12608 n x 4
12609 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012610 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012611 <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 -080012612
12613
12614 </td> <!-- entry_type -->
12615
12616 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012617 <p>List of the bounding rectangles for detected
12618faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012619 </td>
12620
12621 <td class="entry_units">
12622 </td>
12623
12624 <td class="entry_range">
12625 </td>
12626
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012627 <td class="entry_tags">
12628 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012629 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012630 </ul>
12631 </td>
12632
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012633 </tr>
12634 <tr class="entries_header">
12635 <th class="th_details" colspan="5">Details</th>
12636 </tr>
12637 <tr class="entry_cont">
12638 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012639 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012640 </td>
12641 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012642
12643
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012644 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12645 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012646
12647
12648 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012649 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012650 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012651 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012652 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012653 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012654 <span class="entry_type_container">x</span>
12655
12656 <span class="entry_type_array">
12657 n
12658 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012659 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012660
12661
12662 </td> <!-- entry_type -->
12663
12664 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012665 <p>List of the face confidence scores for
12666detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012667 </td>
12668
12669 <td class="entry_units">
12670 </td>
12671
12672 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012673 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012674 </td>
12675
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012676 <td class="entry_tags">
12677 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012678 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012679 </ul>
12680 </td>
12681
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012682 </tr>
12683 <tr class="entries_header">
12684 <th class="th_details" colspan="5">Details</th>
12685 </tr>
12686 <tr class="entry_cont">
12687 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012688 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12689meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012690 </td>
12691 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012692
12693
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012694 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12695 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012696
12697
12698 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012699 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012700 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012701 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012702 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012703 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012704 <span class="entry_type_container">x</span>
12705
12706 <span class="entry_type_array">
12707 n x 3
12708 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012709 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012710 <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 -080012711
12712
12713 </td> <!-- entry_type -->
12714
12715 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012716 <p>A 3-channel histogram based on the raw
12717sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012718 </td>
12719
12720 <td class="entry_units">
12721 </td>
12722
12723 <td class="entry_range">
12724 </td>
12725
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012726 <td class="entry_tags">
12727 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012728 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012729 </ul>
12730 </td>
12731
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012732 </tr>
12733 <tr class="entries_header">
12734 <th class="th_details" colspan="5">Details</th>
12735 </tr>
12736 <tr class="entry_cont">
12737 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012738 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012739(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 -080012740(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12741supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012742 </td>
12743 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012744
12745
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012746 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12747 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012748
12749
12750 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012751 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012752 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012753 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012754 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012755 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012756
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012757 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012758
12759 <ul class="entry_type_enum">
12760 <li>
12761 <span class="entry_type_enum_name">OFF</span>
12762 </li>
12763 <li>
12764 <span class="entry_type_enum_name">ON</span>
12765 </li>
12766 </ul>
12767
12768 </td> <!-- entry_type -->
12769
12770 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012771 <p>Operating mode for histogram
12772generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012773 </td>
12774
12775 <td class="entry_units">
12776 </td>
12777
12778 <td class="entry_range">
12779 </td>
12780
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012781 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012782 <ul class="entry_tags">
12783 <li><a href="#tag_V1">V1</a></li>
12784 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012785 </td>
12786
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012787 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012788
12789
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012790 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12791 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012792
12793
12794 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012795 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012796 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012797 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012798 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012799 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012800 <span class="entry_type_container">x</span>
12801
12802 <span class="entry_type_array">
12803 n x m x 3
12804 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012805 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012806 <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 -080012807
12808
12809 </td> <!-- entry_type -->
12810
12811 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012812 <p>A 3-channel sharpness map,<wbr/> based on the raw
12813sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012814 </td>
12815
12816 <td class="entry_units">
12817 </td>
12818
12819 <td class="entry_range">
12820 </td>
12821
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012822 <td class="entry_tags">
12823 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012824 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012825 </ul>
12826 </td>
12827
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012828 </tr>
12829 <tr class="entries_header">
12830 <th class="th_details" colspan="5">Details</th>
12831 </tr>
12832 <tr class="entry_cont">
12833 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012834 <p>If only a monochrome sharpness map is supported,<wbr/>
12835all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012836 </td>
12837 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012838
12839
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012840 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12841 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012842
12843
12844 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012845 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012846 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012847 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012848 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012849 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012850
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012851 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012852
12853 <ul class="entry_type_enum">
12854 <li>
12855 <span class="entry_type_enum_name">OFF</span>
12856 </li>
12857 <li>
12858 <span class="entry_type_enum_name">ON</span>
12859 </li>
12860 </ul>
12861
12862 </td> <!-- entry_type -->
12863
12864 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012865 <p>Operating mode for sharpness map
12866generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012867 </td>
12868
12869 <td class="entry_units">
12870 </td>
12871
12872 <td class="entry_range">
12873 </td>
12874
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012875 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012876 <ul class="entry_tags">
12877 <li><a href="#tag_V1">V1</a></li>
12878 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012879 </td>
12880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012881 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012882
12883
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012884 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12885 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012886
Zhijun He69fc0ea2013-07-17 09:42:58 -070012887
12888 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012889 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012890 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012891 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012892 <td class="entry_type">
12893 <span class="entry_type_name">float</span>
12894 <span class="entry_type_container">x</span>
12895
12896 <span class="entry_type_array">
12897 4 x n x m
12898 </span>
12899 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012900 <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 -070012901
12902
12903 </td> <!-- entry_type -->
12904
12905 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012906 <p>The shading map is a low-resolution floating-point map
12907that lists the coefficients used to correct for vignetting,<wbr/> for each
12908Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012909 </td>
12910
12911 <td class="entry_units">
12912 </td>
12913
12914 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012915 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012916 </td>
12917
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012918 <td class="entry_tags">
12919 </td>
12920
12921 </tr>
12922 <tr class="entries_header">
12923 <th class="th_details" colspan="5">Details</th>
12924 </tr>
12925 <tr class="entry_cont">
12926 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012927 <p>The least shaded section of the image should have a gain factor
12928of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012929<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 -080012930must take into account the colorCorrection settings.<wbr/></p>
12931<p>The shading map is for the entire active pixel array,<wbr/> and is not
12932affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012933entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012934pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12935map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12936(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12937pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12938The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12939<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12940channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12941The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012942is 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 -080012943<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12944and must be smaller than 64x64.<wbr/></p>
12945<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012946<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12947<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012948[ 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/>
12949 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/>
12950 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/>
12951 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/>
12952 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/>
12953 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 -080012954</code></pre>
12955<p>The low-resolution scaling map images for each channel are
12956(displayed using nearest-neighbor interpolation):</p>
12957<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12958<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12959<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12960<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012961<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012962image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012963<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 -070012964 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012965 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012966
12967
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012968 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12969 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012970
12971
12972 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012973 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012974 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012975 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012976 <td class="entry_type">
12977 <span class="entry_type_name">float</span>
12978 <span class="entry_type_container">x</span>
12979
12980 <span class="entry_type_array">
12981 4
12982 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012983 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012984 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012985
12986
12987 </td> <!-- entry_type -->
12988
12989 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012990 <p>The best-fit color channel gains calculated
12991by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012992 </td>
12993
12994 <td class="entry_units">
12995 </td>
12996
12997 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012998 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012999 </td>
13000
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013001 <td class="entry_tags">
13002 </td>
13003
13004 </tr>
13005 <tr class="entries_header">
13006 <th class="th_details" colspan="5">Details</th>
13007 </tr>
13008 <tr class="entry_cont">
13009 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013010 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013011since statistics processing on data from a new frame
13012typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080013013applied to that frame.<wbr/></p>
13014<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013015see <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 -080013016<p>This value should always be calculated by the AWB block,<wbr/>
13017regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013018 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013019 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013020
13021
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013022 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13023 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013024
13025
13026 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013027 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013028 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013029 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013030 <td class="entry_type">
13031 <span class="entry_type_name">rational</span>
13032 <span class="entry_type_container">x</span>
13033
13034 <span class="entry_type_array">
13035 3 x 3
13036 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013037 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013038 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013039
13040
13041 </td> <!-- entry_type -->
13042
13043 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013044 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013045calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080013046output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013047 </td>
13048
13049 <td class="entry_units">
13050 </td>
13051
13052 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013053 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013054 </td>
13055
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013056 <td class="entry_tags">
13057 </td>
13058
13059 </tr>
13060 <tr class="entries_header">
13061 <th class="th_details" colspan="5">Details</th>
13062 </tr>
13063 <tr class="entry_cont">
13064 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013065 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013066statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080013067for the next frame.<wbr/> These are the values the HAL believes
13068are the best fit for the current output frame.<wbr/> This may
13069be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013070statistics processing on data from a new frame typically
13071completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080013072that frame.<wbr/></p>
13073<p>These estimates must be provided for all frames,<wbr/> even if
13074capture settings and color transforms are set by the application.<wbr/></p>
13075<p>This value should always be calculated by the AWB block,<wbr/>
13076regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013077 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013078 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013079
13080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013081 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13082 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013083
13084
13085 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013086 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013087 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013088 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013089 <td class="entry_type">
13090 <span class="entry_type_name entry_type_name_enum">byte</span>
13091
13092 <span class="entry_type_visibility"> [public]</span>
13093
13094 <ul class="entry_type_enum">
13095 <li>
13096 <span class="entry_type_enum_name">NONE</span>
13097 </li>
13098 <li>
13099 <span class="entry_type_enum_name">50HZ</span>
13100 </li>
13101 <li>
13102 <span class="entry_type_enum_name">60HZ</span>
13103 </li>
13104 </ul>
13105
13106 </td> <!-- entry_type -->
13107
13108 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013109 <p>The HAL estimated scene illumination lighting
13110frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013111 </td>
13112
13113 <td class="entry_units">
13114 </td>
13115
13116 <td class="entry_range">
13117 </td>
13118
Zhijun He69fc0ea2013-07-17 09:42:58 -070013119 <td class="entry_tags">
13120 </td>
13121
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013122 </tr>
13123 <tr class="entries_header">
13124 <th class="th_details" colspan="5">Details</th>
13125 </tr>
13126 <tr class="entry_cont">
13127 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013128 <p>Report NONE if there doesn't appear to be flickering
13129illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013130 </td>
13131 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013132
13133
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013134 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13135 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013136
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013137
13138
13139 <!-- end of kind -->
13140 </tbody>
13141
13142 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013143 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013144
13145
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013146 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013147
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013148 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013149 <tr>
13150 <th class="th_name">Property Name</th>
13151 <th class="th_type">Type</th>
13152 <th class="th_description">Description</th>
13153 <th class="th_units">Units</th>
13154 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013155 <th class="th_tags">Tags</th>
13156 </tr>
13157 </thead>
13158
13159 <tbody>
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013171 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013172 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013173 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013174 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013175 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013176 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013177
Zhijun He704d1282013-08-19 15:26:33 -070013178 <span class="entry_type_array">
13179 n x 2
13180 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013181 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013182 <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 -080013183
13184
13185 </td> <!-- entry_type -->
13186
13187 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013188 <p>Table mapping blue input values to output
13189values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013190 </td>
13191
13192 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013193 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013194 </td>
13195
13196 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013197 <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 -080013198 </td>
13199
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013200 <td class="entry_tags">
13201 </td>
13202
13203 </tr>
13204 <tr class="entries_header">
13205 <th class="th_details" colspan="5">Details</th>
13206 </tr>
13207 <tr class="entry_cont">
13208 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013209 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013210channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13211<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 -080013212 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013213 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013214
13215
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013216 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13217 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013218
13219
13220 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013221 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013222 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013223 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013224 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013225 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013226 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013227
Zhijun He704d1282013-08-19 15:26:33 -070013228 <span class="entry_type_array">
13229 n x 2
13230 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013231 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013232 <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 -080013233
13234
13235 </td> <!-- entry_type -->
13236
13237 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013238 <p>Table mapping green input values to output
13239values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013240 </td>
13241
13242 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013243 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013244 </td>
13245
13246 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013247 <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 -080013248 </td>
13249
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013250 <td class="entry_tags">
13251 </td>
13252
13253 </tr>
13254 <tr class="entries_header">
13255 <th class="th_details" colspan="5">Details</th>
13256 </tr>
13257 <tr class="entry_cont">
13258 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013259 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013260channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13261<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 -080013262 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013263 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013264
13265
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013266 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13267 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013268
13269
13270 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013271 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013272 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013273 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013275 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013276 <span class="entry_type_container">x</span>
13277
13278 <span class="entry_type_array">
13279 n x 2
13280 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013281 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013282 <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 -080013283
13284
13285 </td> <!-- entry_type -->
13286
13287 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013288 <p>Table mapping red input values to output
13289values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013290 </td>
13291
13292 <td class="entry_units">
13293 </td>
13294
13295 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013296 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013297 </td>
13298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013299 <td class="entry_tags">
13300 <ul class="entry_tags">
13301 <li><a href="#tag_DNG">DNG</a></li>
13302 </ul>
13303 </td>
13304
13305 </tr>
13306 <tr class="entries_header">
13307 <th class="th_details" colspan="5">Details</th>
13308 </tr>
13309 <tr class="entry_cont">
13310 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013311 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013312channel,<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 -080013313<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013314the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013315are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013316between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013317<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013318defined points.<wbr/> The points will be listed in increasing
13319order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
133200.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13321for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
133220.<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 -080013323 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013324 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013325
13326
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013327 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13328 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013329
13330
13331 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013332 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013333 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013334 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013335 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013336 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013337
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013338 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013339
13340 <ul class="entry_type_enum">
13341 <li>
13342 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013343 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13344android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013345 </li>
13346 <li>
13347 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013348 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13349bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013350 </li>
13351 <li>
13352 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013353 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13354quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013355 </li>
13356 </ul>
13357
13358 </td> <!-- entry_type -->
13359
13360 <td class="entry_description">
13361 </td>
13362
13363 <td class="entry_units">
13364 </td>
13365
13366 <td class="entry_range">
13367 </td>
13368
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013369 <td class="entry_tags">
13370 </td>
13371
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013372 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013373
13374
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013375 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13376 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013377
13378
13379
13380 <!-- end of kind -->
13381 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013382 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013383
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013384 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013385 <tr>
13386 <th class="th_name">Property Name</th>
13387 <th class="th_type">Type</th>
13388 <th class="th_description">Description</th>
13389 <th class="th_units">Units</th>
13390 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013391 <th class="th_tags">Tags</th>
13392 </tr>
13393 </thead>
13394
13395 <tbody>
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013407 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013408 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013409 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013410 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013411 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013412
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013413 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013414
13415
13416 </td> <!-- entry_type -->
13417
13418 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013419 <p>Maximum number of supported points in the
13420tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013421 </td>
13422
13423 <td class="entry_units">
13424 </td>
13425
13426 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013427 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013428 </td>
13429
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013430 <td class="entry_tags">
13431 </td>
13432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013433 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013434
13435
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013436 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13437 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013438
13439
13440
13441 <!-- end of kind -->
13442 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013443 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013444
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013445 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013446 <tr>
13447 <th class="th_name">Property Name</th>
13448 <th class="th_type">Type</th>
13449 <th class="th_description">Description</th>
13450 <th class="th_units">Units</th>
13451 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013452 <th class="th_tags">Tags</th>
13453 </tr>
13454 </thead>
13455
13456 <tbody>
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013468 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013469 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013470 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013471 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013472 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013473 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013474
Zhijun He704d1282013-08-19 15:26:33 -070013475 <span class="entry_type_array">
13476 n x 2
13477 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013478 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013479 <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 -080013480
13481
13482 </td> <!-- entry_type -->
13483
13484 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013485 <p>Table mapping blue input values to output
13486values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013487 </td>
13488
13489 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013490 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013491 </td>
13492
13493 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013494 <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 -080013495 </td>
13496
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013497 <td class="entry_tags">
13498 </td>
13499
13500 </tr>
13501 <tr class="entries_header">
13502 <th class="th_details" colspan="5">Details</th>
13503 </tr>
13504 <tr class="entry_cont">
13505 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013506 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013507channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13508<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 -080013509 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013510 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013511
13512
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013513 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13514 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013515
13516
13517 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013518 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013519 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013520 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013521 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013522 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013523 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013524
Zhijun He704d1282013-08-19 15:26:33 -070013525 <span class="entry_type_array">
13526 n x 2
13527 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013528 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013529 <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 -080013530
13531
13532 </td> <!-- entry_type -->
13533
13534 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013535 <p>Table mapping green input values to output
13536values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013537 </td>
13538
13539 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013540 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013541 </td>
13542
13543 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013544 <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 -080013545 </td>
13546
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013547 <td class="entry_tags">
13548 </td>
13549
13550 </tr>
13551 <tr class="entries_header">
13552 <th class="th_details" colspan="5">Details</th>
13553 </tr>
13554 <tr class="entry_cont">
13555 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013556 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013557channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13558<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 -080013559 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013560 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013561
13562
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013563 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13564 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013565
13566
13567 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013568 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013569 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013570 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013571 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013572 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013573 <span class="entry_type_container">x</span>
13574
13575 <span class="entry_type_array">
13576 n x 2
13577 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013578 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013579 <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 -080013580
13581
13582 </td> <!-- entry_type -->
13583
13584 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013585 <p>Table mapping red input values to output
13586values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013587 </td>
13588
13589 <td class="entry_units">
13590 </td>
13591
13592 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013593 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013594 </td>
13595
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013596 <td class="entry_tags">
13597 <ul class="entry_tags">
13598 <li><a href="#tag_DNG">DNG</a></li>
13599 </ul>
13600 </td>
13601
13602 </tr>
13603 <tr class="entries_header">
13604 <th class="th_details" colspan="5">Details</th>
13605 </tr>
13606 <tr class="entry_cont">
13607 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013608 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013609channel,<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 -080013610<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013611the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013612are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013613between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013614<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013615defined points.<wbr/> The points will be listed in increasing
13616order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
136170.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13618for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
136190.<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 -080013620 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013621 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013622
13623
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013624 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13625 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013626
13627
13628 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013629 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013630 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013631 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013632 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013633 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013634
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013635 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013636
13637 <ul class="entry_type_enum">
13638 <li>
13639 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013640 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13641android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013642 </li>
13643 <li>
13644 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013645 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13646bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013647 </li>
13648 <li>
13649 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013650 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13651quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013652 </li>
13653 </ul>
13654
13655 </td> <!-- entry_type -->
13656
13657 <td class="entry_description">
13658 </td>
13659
13660 <td class="entry_units">
13661 </td>
13662
13663 <td class="entry_range">
13664 </td>
13665
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013666 <td class="entry_tags">
13667 </td>
13668
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013669 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013670
13671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013672 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13673 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013674
13675
13676
13677 <!-- end of kind -->
13678 </tbody>
13679
13680 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013681 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013682
13683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013684 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013686 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013687 <tr>
13688 <th class="th_name">Property Name</th>
13689 <th class="th_type">Type</th>
13690 <th class="th_description">Description</th>
13691 <th class="th_units">Units</th>
13692 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013693 <th class="th_tags">Tags</th>
13694 </tr>
13695 </thead>
13696
13697 <tbody>
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013709 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013710 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013711 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013712 <td class="entry_type">
13713 <span class="entry_type_name entry_type_name_enum">byte</span>
13714
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013715 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013716
13717 <ul class="entry_type_enum">
13718 <li>
13719 <span class="entry_type_enum_name">OFF</span>
13720 </li>
13721 <li>
13722 <span class="entry_type_enum_name">ON</span>
13723 </li>
13724 </ul>
13725
13726 </td> <!-- entry_type -->
13727
13728 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013729 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013730that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013731Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013732disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013733any untrusted applications.<wbr/></p>
13734<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13735transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13736data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013737<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013738doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013739 </td>
13740
13741 <td class="entry_units">
13742 </td>
13743
13744 <td class="entry_range">
13745 </td>
13746
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013747 <td class="entry_tags">
13748 </td>
13749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013750 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013751
13752
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013753 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13754 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013755
13756
13757
13758 <!-- end of kind -->
13759 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013760 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013761
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013762 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013763 <tr>
13764 <th class="th_name">Property Name</th>
13765 <th class="th_type">Type</th>
13766 <th class="th_description">Description</th>
13767 <th class="th_units">Units</th>
13768 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013769 <th class="th_tags">Tags</th>
13770 </tr>
13771 </thead>
13772
13773 <tbody>
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013785 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013786 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013787 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013788 <td class="entry_type">
13789 <span class="entry_type_name entry_type_name_enum">byte</span>
13790
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013791 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013792
13793 <ul class="entry_type_enum">
13794 <li>
13795 <span class="entry_type_enum_name">OFF</span>
13796 </li>
13797 <li>
13798 <span class="entry_type_enum_name">ON</span>
13799 </li>
13800 </ul>
13801
13802 </td> <!-- entry_type -->
13803
13804 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013805 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013806that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013807Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013808disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013809any untrusted applications.<wbr/></p>
13810<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13811transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13812data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013813<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013814doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013815 </td>
13816
13817 <td class="entry_units">
13818 </td>
13819
13820 <td class="entry_range">
13821 </td>
13822
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013823 <td class="entry_tags">
13824 </td>
13825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013826 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013827
13828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013829 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13830 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013831
13832
13833
13834 <!-- end of kind -->
13835 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013836 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013837
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013838 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013839 <tr>
13840 <th class="th_name">Property Name</th>
13841 <th class="th_type">Type</th>
13842 <th class="th_description">Description</th>
13843 <th class="th_units">Units</th>
13844 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013845 <th class="th_tags">Tags</th>
13846 </tr>
13847 </thead>
13848
13849 <tbody>
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013861 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013862 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013863 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013864 <td class="entry_type">
13865 <span class="entry_type_name entry_type_name_enum">byte</span>
13866 <span class="entry_type_container">x</span>
13867
13868 <span class="entry_type_array">
13869 n
13870 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013871 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013872
13873 <ul class="entry_type_enum">
13874 <li>
13875 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013876 <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 -070013877 </li>
13878 </ul>
13879
13880 </td> <!-- entry_type -->
13881
13882 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013883 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013884 </td>
13885
13886 <td class="entry_units">
13887 </td>
13888
13889 <td class="entry_range">
13890 </td>
13891
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013892 <td class="entry_tags">
13893 </td>
13894
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013895 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013896
13897
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013898 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13899 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013900
13901
13902
13903 <!-- end of kind -->
13904 </tbody>
13905
13906 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013907 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013908
13909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013910 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013911
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013912 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013913 <tr>
13914 <th class="th_name">Property Name</th>
13915 <th class="th_type">Type</th>
13916 <th class="th_description">Description</th>
13917 <th class="th_units">Units</th>
13918 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013919 <th class="th_tags">Tags</th>
13920 </tr>
13921 </thead>
13922
13923 <tbody>
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013935 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013936 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013937 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013938 <td class="entry_type">
13939 <span class="entry_type_name entry_type_name_enum">byte</span>
13940
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013941 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013942
13943 <ul class="entry_type_enum">
13944 <li>
13945 <span class="entry_type_enum_name">LIMITED</span>
13946 </li>
13947 <li>
13948 <span class="entry_type_enum_name">FULL</span>
13949 </li>
13950 </ul>
13951
13952 </td> <!-- entry_type -->
13953
13954 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013955 <p>The camera 3 HAL device can implement one of two possible
13956operational modes; limited and full.<wbr/> Full support is
13957expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013958hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013959camera HAL device v1 implementation,<wbr/> and is expected from
13960older or inexpensive devices.<wbr/> Full is a strict superset of
13961limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13962<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013963 </td>
13964
13965 <td class="entry_units">
13966 </td>
13967
13968 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013969 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013970 </td>
13971
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013972 <td class="entry_tags">
13973 </td>
13974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013975 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013976
13977
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013978 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13979 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013980
13981
13982
13983 <!-- end of kind -->
13984 </tbody>
13985
13986 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013987 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013988
13989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013990 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013991
13992 <thead class="entries_header">
13993 <tr>
13994 <th class="th_name">Property Name</th>
13995 <th class="th_type">Type</th>
13996 <th class="th_description">Description</th>
13997 <th class="th_units">Units</th>
13998 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013999 <th class="th_tags">Tags</th>
14000 </tr>
14001 </thead>
14002
14003 <tbody>
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014015 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014016 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014017 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014018 <td class="entry_type">
14019 <span class="entry_type_name entry_type_name_enum">byte</span>
14020
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014021 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014022
14023 <ul class="entry_type_enum">
14024 <li>
14025 <span class="entry_type_enum_name">OFF</span>
14026 </li>
14027 <li>
14028 <span class="entry_type_enum_name">ON</span>
14029 </li>
14030 </ul>
14031
14032 </td> <!-- entry_type -->
14033
14034 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014035 <p>Whether black-level compensation is locked
14036to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014037 </td>
14038
14039 <td class="entry_units">
14040 </td>
14041
14042 <td class="entry_range">
14043 </td>
14044
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014045 <td class="entry_tags">
14046 <ul class="entry_tags">
14047 <li><a href="#tag_HAL2">HAL2</a></li>
14048 </ul>
14049 </td>
14050
14051 </tr>
14052 <tr class="entries_header">
14053 <th class="th_details" colspan="5">Details</th>
14054 </tr>
14055 <tr class="entry_cont">
14056 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014057 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014058compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080014059OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014060<p>Since changes to certain capture parameters (such as
14061exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080014062compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014063the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080014064metadata.<wbr/></p>
14065<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014066<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014067<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14068<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14069<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14070<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14071<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14072<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014073</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014074<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080014075device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014076result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014077<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014078<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14079<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14080<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14081<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
14082<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14083<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014084</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014085<p>This indicates to the application that on frame 4,<wbr/> black
14086levels were reset due to exposure value changes,<wbr/> and pixel
14087values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014088<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080014089possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014090other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080014091or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014092 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014093 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014094
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014095 <tr class="entries_header">
14096 <th class="th_details" colspan="5">HAL Implementation Details</th>
14097 </tr>
14098 <tr class="entry_cont">
14099 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014100 <p>If for some reason black level locking is no longer possible
14101(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14102black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014103override this request (and it must report 'OFF' when this
14104does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014105possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014106 </td>
14107 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014108
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014109 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14110 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014111
14112
14113
14114 <!-- end of kind -->
14115 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014116 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014117
14118 <thead class="entries_header">
14119 <tr>
14120 <th class="th_name">Property Name</th>
14121 <th class="th_type">Type</th>
14122 <th class="th_description">Description</th>
14123 <th class="th_units">Units</th>
14124 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014125 <th class="th_tags">Tags</th>
14126 </tr>
14127 </thead>
14128
14129 <tbody>
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014141 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014142 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014143 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014144 <td class="entry_type">
14145 <span class="entry_type_name entry_type_name_enum">byte</span>
14146
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014147 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014148
14149 <ul class="entry_type_enum">
14150 <li>
14151 <span class="entry_type_enum_name">OFF</span>
14152 </li>
14153 <li>
14154 <span class="entry_type_enum_name">ON</span>
14155 </li>
14156 </ul>
14157
14158 </td> <!-- entry_type -->
14159
14160 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014161 <p>Whether black-level compensation is locked
14162to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014163 </td>
14164
14165 <td class="entry_units">
14166 </td>
14167
14168 <td class="entry_range">
14169 </td>
14170
Zhijun He69fc0ea2013-07-17 09:42:58 -070014171 <td class="entry_tags">
14172 <ul class="entry_tags">
14173 <li><a href="#tag_HAL2">HAL2</a></li>
14174 </ul>
14175 </td>
14176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014177 </tr>
14178 <tr class="entries_header">
14179 <th class="th_details" colspan="5">Details</th>
14180 </tr>
14181 <tr class="entry_cont">
14182 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014183 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014184ON 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 -080014185a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014186perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014187 </td>
14188 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014189
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014190 <tr class="entries_header">
14191 <th class="th_details" colspan="5">HAL Implementation Details</th>
14192 </tr>
14193 <tr class="entry_cont">
14194 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014195 <p>If for some reason black level locking is no longer possible
14196(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14197black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014198override this request (and it must report 'OFF' when this
14199does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014200possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014201 </td>
14202 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014203
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014204 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14205 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014206
14207
14208
14209 <!-- end of kind -->
14210 </tbody>
14211
14212 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014213<!-- </namespace> -->
14214 </table>
14215
14216 <div class="tags" id="tag_index">
14217 <h2>Tags</h2>
14218 <ul>
14219 <li id="tag_AWB">AWB -
14220 Needed for auto white balance
14221
14222 <ul class="tags_entries">
14223 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14224 </ul>
14225 </li> <!-- tag_AWB -->
14226 <li id="tag_BC">BC -
14227 Needed for backwards compatibility with old Java API
14228
14229 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014230 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014231 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14232 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14233 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14234 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14235 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014236 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014237 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14238 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014239 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014240 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14241 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14242 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14243 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14244 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14245 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14246 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14247 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014248 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014249 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14250 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14251 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14252 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14253 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14254 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14255 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14256 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14257 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14258 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14259 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14260 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14261 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14262 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14263 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14264 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14265 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14266 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14267 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14268 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14269 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14270 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14271 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14272 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14273 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14274 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14275 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14276 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014277 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014278 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14279 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14280 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014281 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014282 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014283 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14284 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14285 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14286 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14287 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14288 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14289 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14290 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14291 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14292 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14293 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14294 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14295 </ul>
14296 </li> <!-- tag_BC -->
14297 <li id="tag_V1">V1 -
14298 New features for first camera 2 release (API1)
14299
14300 <ul class="tags_entries">
14301 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14302 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14303 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14304 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14305 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14306 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14307 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14308 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14309 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14310 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14311 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14312 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14313 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14314 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14315 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14316 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14317 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14318 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14319 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14320 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14321 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14322 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14323 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14324 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014325 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014326 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14327 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14328 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14329 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14330 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14331 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14332 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14333 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14334 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14335 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14336 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14337 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14338 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14339 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14340 </ul>
14341 </li> <!-- tag_V1 -->
14342 <li id="tag_ADV">ADV - None
14343 <ul class="tags_entries">
14344 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14345 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14346 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14347 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14348 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14349 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14350 </ul>
14351 </li> <!-- tag_ADV -->
14352 <li id="tag_DNG">DNG -
14353 Needed for DNG file support
14354
14355 <ul class="tags_entries">
14356 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014357 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14358 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14359 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14360 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14361 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14362 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14363 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14364 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14365 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14366 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14367 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14368 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14369 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14370 </ul>
14371 </li> <!-- tag_DNG -->
14372 <li id="tag_EXIF">EXIF - None
14373 <ul class="tags_entries">
14374 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14375 </ul>
14376 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014377 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014378 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014379
14380 <ul class="tags_entries">
14381 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14382 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14383 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014384 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014385 </ul>
14386 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014387 <li id="tag_FULL">FULL -
14388 Entry is required for full hardware level devices, and optional for other hardware levels
14389
14390 <ul class="tags_entries">
14391 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14392 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14393 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14394 </ul>
14395 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014396 </ul>
14397 </div>
14398
14399 [ <a href="#">top</a> ]
14400
14401</body>
14402</html>