blob: d22238351e979676572284a368192621f0650427 [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
721and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800722 </li>
723 <li>
724 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800725 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
726bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800727 </li>
728 <li>
729 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800730 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
731quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800732 </li>
733 </ul>
734
735 </td> <!-- entry_type -->
736
737 <td class="entry_description">
738 </td>
739
740 <td class="entry_units">
741 </td>
742
743 <td class="entry_range">
744 </td>
745
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800746 <td class="entry_tags">
747 </td>
748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800749 </tr>
750 <tr class="entries_header">
751 <th class="th_details" colspan="5">Details</th>
752 </tr>
753 <tr class="entry_cont">
754 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800755 <p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is not OFF,<wbr/> TRANSFORM_<wbr/>MATRIX
Igor Murashkin0b080452013-12-27 15:30:25 -0800756should be ignored.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800757 </td>
758 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800759
760
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800761 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
762 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800763
764
765 <tr class="entry" id="controls_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800766 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800767 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800768 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800769 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700770 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800771 <span class="entry_type_container">x</span>
772
773 <span class="entry_type_array">
774 3 x 3
775 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700776 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800777 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800778
779
780 </td> <!-- entry_type -->
781
782 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800783 <p>A color transform matrix to use to transform
784from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800785 </td>
786
787 <td class="entry_units">
788 </td>
789
790 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800791 <p>Output values are expected to be in the range
792(0,<wbr/>1)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800793 </td>
794
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800795 <td class="entry_tags">
796 </td>
797
798 </tr>
799 <tr class="entries_header">
800 <th class="th_details" colspan="5">Details</th>
801 </tr>
802 <tr class="entry_cont">
803 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800804 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800805<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 -0800806directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800807<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 -0800808<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800809for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800810reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700811 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800812 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800813
814
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800815 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
816 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700817
818
819 <tr class="entry" id="controls_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800820 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800821 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800822 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700823 <td class="entry_type">
824 <span class="entry_type_name">float</span>
825 <span class="entry_type_container">x</span>
826
827 <span class="entry_type_array">
828 4
829 </span>
830 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800831 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700832
833
834 </td> <!-- entry_type -->
835
836 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800837 <p>Gains applying to Bayer color channels for
838white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700839 </td>
840
841 <td class="entry_units">
842 </td>
843
844 <td class="entry_range">
845 </td>
846
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800847 <td class="entry_tags">
848 </td>
849
850 </tr>
851 <tr class="entries_header">
852 <th class="th_details" colspan="5">Details</th>
853 </tr>
854 <tr class="entry_cont">
855 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800856 <p>The 4-channel white-balance gains are defined in
857the order of [R G_<wbr/>even G_<wbr/>odd B],<wbr/> where G_<wbr/>even is the gain
858for green pixels on even rows of the output,<wbr/> and G_<wbr/>odd
859is the gain for greenpixels on the odd rows.<wbr/> if a HAL
860does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
861it should use the G_<wbr/>even value,<wbr/>and write G_<wbr/>odd equal to
862G_<wbr/>even in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800863<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800864<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 -0800865directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800866<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800867<p>The ouput should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -0800868the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800869 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800870 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800871
872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800873 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
874 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800875
876
877
878 <!-- end of kind -->
879 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800880 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800881
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700882 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800883 <tr>
884 <th class="th_name">Property Name</th>
885 <th class="th_type">Type</th>
886 <th class="th_description">Description</th>
887 <th class="th_units">Units</th>
888 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800889 <th class="th_tags">Tags</th>
890 </tr>
891 </thead>
892
893 <tbody>
894
895
896
897
898
899
900
901
902
903
Zhijun He69fc0ea2013-07-17 09:42:58 -0700904 <tr class="entry" id="dynamic_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800905 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800906 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800907 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800908 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700909 <span class="entry_type_name">rational</span>
910 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800911
Zhijun He69fc0ea2013-07-17 09:42:58 -0700912 <span class="entry_type_array">
913 3 x 3
914 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800916 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800917
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800918
919 </td> <!-- entry_type -->
920
921 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800922 <p>A color transform matrix to use to transform
923from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700924 </td>
925
926 <td class="entry_units">
927 </td>
928
929 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800930 <p>Output values are expected to be in the range
931(0,<wbr/>1)</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700932 </td>
933
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800934 <td class="entry_tags">
935 </td>
936
937 </tr>
938 <tr class="entries_header">
939 <th class="th_details" colspan="5">Details</th>
940 </tr>
941 <tr class="entry_cont">
942 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800943 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800944<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 -0800945directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800946<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 -0800947<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800948for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800949reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700950 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800951 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800952
953
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800954 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
955 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700956
957
958 <tr class="entry" id="dynamic_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800959 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800960 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800961 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700962 <td class="entry_type">
963 <span class="entry_type_name">float</span>
964 <span class="entry_type_container">x</span>
965
966 <span class="entry_type_array">
967 4
968 </span>
969 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800970 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700971
972
973 </td> <!-- entry_type -->
974
975 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800976 <p>Gains applying to Bayer color channels for
977white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800978 </td>
979
980 <td class="entry_units">
981 </td>
982
983 <td class="entry_range">
984 </td>
985
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800986 <td class="entry_tags">
987 </td>
988
989 </tr>
990 <tr class="entries_header">
991 <th class="th_details" colspan="5">Details</th>
992 </tr>
993 <tr class="entry_cont">
994 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800995 <p>The 4-channel white-balance gains are defined in
996the order of [R G_<wbr/>even G_<wbr/>odd B],<wbr/> where G_<wbr/>even is the gain
997for green pixels on even rows of the output,<wbr/> and G_<wbr/>odd
998is the gain for greenpixels on the odd rows.<wbr/> if a HAL
999does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
1000it should use the G_<wbr/>even value,<wbr/>and write G_<wbr/>odd equal to
1001G_<wbr/>even in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001002<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001003<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 -08001004directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001005<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001006<p>The ouput should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -08001007the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001008 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001009 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001010
1011
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001012 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1013 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001014
1015
1016
1017 <!-- end of kind -->
1018 </tbody>
1019
1020 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001021 <tr><td colspan="6" id="section_control" class="section">control</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001022
1023
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001024 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001025
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001026 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001027 <tr>
1028 <th class="th_name">Property Name</th>
1029 <th class="th_type">Type</th>
1030 <th class="th_description">Description</th>
1031 <th class="th_units">Units</th>
1032 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001033 <th class="th_tags">Tags</th>
1034 </tr>
1035 </thead>
1036
1037 <tbody>
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048 <tr class="entry" id="controls_android.control.aeAntibandingMode">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001049 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001050 android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001051 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001052 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001053 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001054
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001055 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001056
1057 <ul class="entry_type_enum">
1058 <li>
1059 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001060 <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
1061avoid banding problems.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001062 </li>
1063 <li>
1064 <span class="entry_type_enum_name">50HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001065 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1066avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067 </li>
1068 <li>
1069 <span class="entry_type_enum_name">60HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001070 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1071avoid banding problems with 60Hz illumination
1072sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073 </li>
1074 <li>
1075 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001076 <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
1077antibanding routine to the current illumination
1078conditions.<wbr/> This is the default.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001079 </li>
1080 </ul>
1081
1082 </td> <!-- entry_type -->
1083
1084 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001085 <p>The desired setting for the camera device's auto-exposure
1086algorithm's antibanding compensation.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001087 </td>
1088
1089 <td class="entry_units">
1090 </td>
1091
1092 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001093 <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 -08001094 </td>
1095
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001096 <td class="entry_tags">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001097 <ul class="entry_tags">
1098 <li><a href="#tag_BC">BC</a></li>
1099 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001100 </td>
1101
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001102 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001103 <tr class="entries_header">
1104 <th class="th_details" colspan="5">Details</th>
1105 </tr>
1106 <tr class="entry_cont">
1107 <td class="entry_details" colspan="5">
1108 <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
1109lights,<wbr/> flicker at the rate of the power supply frequency
1110(60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
1111typically not noticeable to a person,<wbr/> it can be visible to
1112a camera device.<wbr/> If a camera sets its exposure time to the
1113wrong value,<wbr/> the flicker may become visible in the
1114viewfinder as flicker or in a final captured image,<wbr/> as a
1115set of variable-brightness bands across the image.<wbr/></p>
1116<p>Therefore,<wbr/> the auto-exposure routines of camera devices
1117include antibanding routines that ensure that the chosen
1118exposure value will not cause such banding.<wbr/> The choice of
1119exposure time depends on the rate of flicker,<wbr/> which the
1120camera device can detect automatically,<wbr/> or the expected
1121rate can be selected by the application using this
1122control.<wbr/></p>
1123<p>A given camera device may not support all of the possible
1124options for the antibanding mode.<wbr/> The
1125<a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
1126the available modes for a given camera device.<wbr/></p>
1127<p>The default mode is AUTO,<wbr/> which must be supported by all
1128camera devices.<wbr/></p>
1129<p>If manual exposure control is enabled (by setting
1130<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/>
1131then this setting has no effect,<wbr/> and the application must
1132ensure it selects exposure times that do not cause banding
1133issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
1134the application in this.<wbr/></p>
1135 </td>
1136 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001137
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001138 <tr class="entries_header">
1139 <th class="th_details" colspan="5">HAL Implementation Details</th>
1140 </tr>
1141 <tr class="entry_cont">
1142 <td class="entry_details" colspan="5">
1143 <p>For all capture request templates,<wbr/> this field must be set
1144to AUTO.<wbr/> AUTO is the only mode that must supported;
1145OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
1146<p>If manual exposure control is enabled (by setting
1147<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/>
1148then the exposure values provided by the application must not be
1149adjusted for antibanding.<wbr/></p>
1150 </td>
1151 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001152
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001153 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1154 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001155
1156
1157 <tr class="entry" id="controls_android.control.aeExposureCompensation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001158 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001159 android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001160 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001162 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001163
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001164 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001165
1166
1167 </td> <!-- entry_type -->
1168
1169 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001170 <p>Adjustment to AE target image
1171brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001172 </td>
1173
1174 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08001175 count of positive/<wbr/>negative EV steps
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001176 </td>
1177
1178 <td class="entry_range">
1179 </td>
1180
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001181 <td class="entry_tags">
1182 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001183 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001184 </ul>
1185 </td>
1186
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001187 </tr>
1188 <tr class="entries_header">
1189 <th class="th_details" colspan="5">Details</th>
1190 </tr>
1191 <tr class="entry_cont">
1192 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001193 <p>For example,<wbr/> if EV step is 0.<wbr/>333,<wbr/> '6' will mean an
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001194exposure compensation of +2 EV; -3 will mean an exposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001195compensation of -1</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001196 </td>
1197 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001198
1199
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001200 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1201 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001202
1203
1204 <tr class="entry" id="controls_android.control.aeLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001205 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001206 android.<wbr/>control.<wbr/>ae<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001207 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001208 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001209 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001210
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001211 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001212
1213 <ul class="entry_type_enum">
1214 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001215 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001216 <span class="entry_type_enum_notes"><p>Autoexposure lock is disabled; the AE algorithm
1217is free to update its parameters.<wbr/></p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001218 </li>
1219 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001220 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001221 <span class="entry_type_enum_notes"><p>Autoexposure lock is enabled; the AE algorithm
1222must not update the exposure and sensitivity parameters
1223while the lock is active</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001224 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001225 </ul>
1226
1227 </td> <!-- entry_type -->
1228
1229 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001230 <p>Whether AE is currently locked to its latest
1231calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001232 </td>
1233
1234 <td class="entry_units">
1235 </td>
1236
1237 <td class="entry_range">
1238 </td>
1239
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001240 <td class="entry_tags">
1241 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001242 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001243 </ul>
1244 </td>
1245
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001246 </tr>
1247 <tr class="entries_header">
1248 <th class="th_details" colspan="5">Details</th>
1249 </tr>
1250 <tr class="entry_cont">
1251 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001252 <p>Note that even when AE is locked,<wbr/> the flash may be
1253fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
1254ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001255 </td>
1256 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001257
1258
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001259 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1260 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261
1262
1263 <tr class="entry" id="controls_android.control.aeMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001264 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001265 android.<wbr/>control.<wbr/>ae<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001266 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001267 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001268 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001269
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001270 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001271
1272 <ul class="entry_type_enum">
1273 <li>
1274 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001275 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
1276the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1277<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
1278<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
1279device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
1280a flash unit for this camera device.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001281 </li>
1282 <li>
1283 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001284 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
1285with no flash control.<wbr/> The application's values for
1286<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1287<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1288<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
1289application has control over the various
1290android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001291 </li>
1292 <li>
1293 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001294 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1295the camera's flash unit,<wbr/> firing it in low-light
1296conditions.<wbr/> The flash may be fired during a
1297precapture sequence (triggered by
1298<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
1299for captures for which the
1300<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1301STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001302 </li>
1303 <li>
1304 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001305 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1306the camera's flash unit,<wbr/> always firing it for still
1307captures.<wbr/> The flash may be fired during a precapture
1308sequence (triggered by
1309<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
1310be fired for captures for which the
1311<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1312STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001313 </li>
1314 <li>
1315 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001316 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
1317reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
1318a red eye reduction flash will fire during the
1319precapture sequence.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001320 </li>
1321 </ul>
1322
1323 </td> <!-- entry_type -->
1324
1325 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001326 <p>The desired mode for the camera device's
1327auto-exposure routine.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001328 </td>
1329
1330 <td class="entry_units">
1331 </td>
1332
1333 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001334 <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 -08001335 </td>
1336
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001337 <td class="entry_tags">
1338 <ul class="entry_tags">
1339 <li><a href="#tag_BC">BC</a></li>
1340 </ul>
1341 </td>
1342
1343 </tr>
1344 <tr class="entries_header">
1345 <th class="th_details" colspan="5">Details</th>
1346 </tr>
1347 <tr class="entry_cont">
1348 <td class="entry_details" colspan="5">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001349 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
1350AUTO.<wbr/></p>
1351<p>When set to any of the ON modes,<wbr/> the camera device's
1352auto-exposure routine is enabled,<wbr/> overriding the
1353application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
1354and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1355<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1356<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
1357is selected,<wbr/> the camera device's flash unit controls are
1358also overridden.<wbr/></p>
1359<p>The FLASH modes are only available if the camera device
1360has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
1361<p>If flash TORCH mode is desired,<wbr/> this field must be set to
1362ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
1363<p>When set to any of the ON modes,<wbr/> the values chosen by the
1364camera device auto-exposure routine for the overridden
1365fields for a given capture will be available in its
1366CaptureResult.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001367 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001368 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001369
1370
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001371 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1372 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001373
1374
1375 <tr class="entry" id="controls_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001376 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001377 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001378 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001379 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001380 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 <span class="entry_type_container">x</span>
1382
1383 <span class="entry_type_array">
1384 5 x area_count
1385 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001386 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001387
1388
1389 </td> <!-- entry_type -->
1390
1391 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001392 <p>List of areas to use for
1393metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001394 </td>
1395
1396 <td class="entry_units">
1397 </td>
1398
1399 <td class="entry_range">
1400 </td>
1401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001402 <td class="entry_tags">
1403 <ul class="entry_tags">
1404 <li><a href="#tag_BC">BC</a></li>
1405 </ul>
1406 </td>
1407
1408 </tr>
1409 <tr class="entries_header">
1410 <th class="th_details" colspan="5">Details</th>
1411 </tr>
1412 <tr class="entry_cont">
1413 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001414 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1415xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1416specified coordinates.<wbr/></p>
1417<p>The coordinate system is based on the active pixel array,<wbr/>
1418with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001419(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1420<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 -08001421bottom-right pixel in the active pixel array.<wbr/> The weight
1422should be nonnegative.<wbr/></p>
1423<p>If all regions have 0 weight,<wbr/> then no specific metering area
1424needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001425outside 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 -08001426should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001427used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001428 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001429 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001430
1431
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001432 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1433 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001434
1435
1436 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001437 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001438 android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001439 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001440 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001441 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001442 <span class="entry_type_container">x</span>
1443
1444 <span class="entry_type_array">
1445 2
1446 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001447 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001448
1449
1450 </td> <!-- entry_type -->
1451
1452 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001453 <p>Range over which fps can be adjusted to
1454maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001455 </td>
1456
1457 <td class="entry_units">
1458 </td>
1459
1460 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001461 <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 -08001462 </td>
1463
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001464 <td class="entry_tags">
1465 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001466 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001467 </ul>
1468 </td>
1469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001470 </tr>
1471 <tr class="entries_header">
1472 <th class="th_details" colspan="5">Details</th>
1473 </tr>
1474 <tr class="entry_cont">
1475 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001476 <p>Only constrains AE algorithm,<wbr/> not manual control
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001477of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001478 </td>
1479 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001480
1481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001482 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1483 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001484
1485
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001486 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001487 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001488 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001489 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001490 <td class="entry_type">
1491 <span class="entry_type_name entry_type_name_enum">byte</span>
1492
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001493 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001494
1495 <ul class="entry_type_enum">
1496 <li>
1497 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001498 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001499 </li>
1500 <li>
1501 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001502 <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
1503by the camera device.<wbr/> The exact effect of the precapture
1504trigger depends on the current AE mode and state.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001505 </li>
1506 </ul>
1507
1508 </td> <!-- entry_type -->
1509
1510 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001511 <p>Whether the camera device will trigger a precapture
1512metering sequence when it processes this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001513 </td>
1514
1515 <td class="entry_units">
1516 </td>
1517
1518 <td class="entry_range">
1519 </td>
1520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001521 <td class="entry_tags">
1522 <ul class="entry_tags">
1523 <li><a href="#tag_BC">BC</a></li>
1524 </ul>
1525 </td>
1526
1527 </tr>
1528 <tr class="entries_header">
1529 <th class="th_details" colspan="5">Details</th>
1530 </tr>
1531 <tr class="entry_cont">
1532 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001533 <p>This entry is normally set to IDLE,<wbr/> or is not
1534included at all in the request settings.<wbr/> When included and
Zhijun He92e698d2014-01-13 16:24:31 -08001535set to START,<wbr/> the camera device will trigger the autoexposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001536precapture metering sequence.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001537<p>The effect of AE precapture trigger depends on the current
Zhijun He92e698d2014-01-13 16:24:31 -08001538AE mode and state; see <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture
1539state transition details.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001540 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001541 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001542
1543
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001544 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1545 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001546
1547
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001548 <tr class="entry" id="controls_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001549 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001550 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001551 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001552 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001553 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001554
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001555 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001556
1557 <ul class="entry_type_enum">
1558 <li>
1559 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001560 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
1561<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
1562application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001563 </li>
1564 <li>
1565 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001566 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
1567<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
1568is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
1569the autofocus trigger action is called.<wbr/> When that trigger
1570is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
1571the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
1572<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
1573and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001574 </li>
1575 <li>
1576 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001577 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
1578autofocus trigger action is called.<wbr/></p>
1579<p>When that trigger is activated,<wbr/> AF must transition to
1580ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
1581NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
1582position to default,<wbr/> and sets the AF state to
1583INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001584 </li>
1585 <li>
1586 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001587 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1588position continually to attempt to provide a
1589constantly-in-focus image stream.<wbr/></p>
1590<p>The focusing behavior should be suitable for good quality
1591video recording; typically this means slower focus
1592movement and no overshoots.<wbr/> When the AF trigger is not
1593involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
1594and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
1595states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
1596the algorithm should immediately transition into
1597AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1598lens position until a cancel AF trigger is received.<wbr/></p>
1599<p>Once cancel is received,<wbr/> the algorithm should transition
1600back to INACTIVE and resume passive scan.<wbr/> Note that this
1601behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
1602ongoing PASSIVE_<wbr/>SCAN must immediately be
1603canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001604 </li>
1605 <li>
1606 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001607 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1608position continually to attempt to provide a
1609constantly-in-focus image stream.<wbr/></p>
1610<p>The focusing behavior should be suitable for still image
1611capture; typically this means focusing as fast as
1612possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
1613algorithm should start in INACTIVE state,<wbr/> and then
1614transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
1615appropriate as it attempts to maintain focus.<wbr/> When the AF
1616trigger is activated,<wbr/> the algorithm should finish its
1617PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
1618AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1619lens position until a cancel AF trigger is received.<wbr/></p>
1620<p>When the AF cancel trigger is activated,<wbr/> the algorithm
1621should transition back to INACTIVE and then act as if it
1622has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001623 </li>
1624 <li>
1625 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001626 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
1627trigger is ignored,<wbr/> AF state should always be
1628INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001629 </li>
1630 </ul>
1631
1632 </td> <!-- entry_type -->
1633
1634 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001635 <p>Whether AF is currently enabled,<wbr/> and what
1636mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001637 </td>
1638
1639 <td class="entry_units">
1640 </td>
1641
1642 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001643 <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 -08001644 </td>
1645
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001646 <td class="entry_tags">
1647 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001648 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001649 </ul>
1650 </td>
1651
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001652 </tr>
1653 <tr class="entries_header">
1654 <th class="th_details" colspan="5">Details</th>
1655 </tr>
1656 <tr class="entry_cont">
1657 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001658 <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 -08001659<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
1660the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
1661in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001662 </td>
1663 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001664
1665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1667 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001668
1669
1670 <tr class="entry" id="controls_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001671 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001672 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001673 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001674 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001675 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 <span class="entry_type_container">x</span>
1677
1678 <span class="entry_type_array">
1679 5 x area_count
1680 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682
1683
1684 </td> <!-- entry_type -->
1685
1686 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001687 <p>List of areas to use for focus
1688estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001689 </td>
1690
1691 <td class="entry_units">
1692 </td>
1693
1694 <td class="entry_range">
1695 </td>
1696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001697 <td class="entry_tags">
1698 <ul class="entry_tags">
1699 <li><a href="#tag_BC">BC</a></li>
1700 </ul>
1701 </td>
1702
1703 </tr>
1704 <tr class="entries_header">
1705 <th class="th_details" colspan="5">Details</th>
1706 </tr>
1707 <tr class="entry_cont">
1708 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001709 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1710xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1711specified coordinates.<wbr/></p>
1712<p>The coordinate system is based on the active pixel array,<wbr/>
1713with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001714(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1715<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 -08001716bottom-right pixel in the active pixel array.<wbr/> The weight
1717should be nonnegative.<wbr/></p>
1718<p>If all regions have 0 weight,<wbr/> then no specific focus area
1719needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001720outside 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 -08001721should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001722used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001723 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001724 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001725
1726
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001727 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1728 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001729
1730
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001731 <tr class="entry" id="controls_android.control.afTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001732 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001733 android.<wbr/>control.<wbr/>af<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001734 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001735 <td class="entry_type">
1736 <span class="entry_type_name entry_type_name_enum">byte</span>
1737
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001738 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001739
1740 <ul class="entry_type_enum">
1741 <li>
1742 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001743 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001744 </li>
1745 <li>
1746 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001747 <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001748 </li>
1749 <li>
1750 <span class="entry_type_enum_name">CANCEL</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001751 <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
1752state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001753 </li>
1754 </ul>
1755
1756 </td> <!-- entry_type -->
1757
1758 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001759 <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001760 </td>
1761
1762 <td class="entry_units">
1763 </td>
1764
1765 <td class="entry_range">
1766 </td>
1767
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001768 <td class="entry_tags">
1769 <ul class="entry_tags">
1770 <li><a href="#tag_BC">BC</a></li>
1771 </ul>
1772 </td>
1773
1774 </tr>
1775 <tr class="entries_header">
1776 <th class="th_details" colspan="5">Details</th>
1777 </tr>
1778 <tr class="entry_cont">
1779 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001780 <p>This entry is normally set to IDLE,<wbr/> or is not
1781included at all in the request settings.<wbr/></p>
Zhijun He92e698d2014-01-13 16:24:31 -08001782<p>When included and set to START,<wbr/> the camera device will trigger the
1783autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
1784<p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
1785and return to its initial AF state.<wbr/></p>
1786<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 -07001787 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001788 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001789
1790
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001791 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1792 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001793
1794
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001795 <tr class="entry" id="controls_android.control.awbLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001796 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001797 android.<wbr/>control.<wbr/>awb<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001798 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001799 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001800 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001801
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001802 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001803
1804 <ul class="entry_type_enum">
1805 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001806 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001807 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is disabled; the AWB
1808algorithm is free to update its parameters if in AUTO
1809mode.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001810 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001811 <li>
1812 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001813 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is enabled; the AWB
1814algorithm must not update the exposure and sensitivity
1815parameters while the lock is active</p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001816 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001817 </ul>
1818
1819 </td> <!-- entry_type -->
1820
1821 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001822 <p>Whether AWB is currently locked to its
1823latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001824 </td>
1825
1826 <td class="entry_units">
1827 </td>
1828
1829 <td class="entry_range">
1830 </td>
1831
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001832 <td class="entry_tags">
1833 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001834 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001835 </ul>
1836 </td>
1837
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001838 </tr>
1839 <tr class="entries_header">
1840 <th class="th_details" colspan="5">Details</th>
1841 </tr>
1842 <tr class="entry_cont">
1843 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001844 <p>Note that AWB lock is only meaningful for AUTO
1845mode; in other modes,<wbr/> AWB is already fixed to a specific
1846setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001847 </td>
1848 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001849
1850
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001851 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1852 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001853
1854
1855 <tr class="entry" id="controls_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001856 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001857 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001858 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001859 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001860 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001861
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001862 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001863
1864 <ul class="entry_type_enum">
1865 <li>
1866 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001867 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1868the application-selected color transform matrix
1869(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
1870(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
1871device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001872 </li>
1873 <li>
1874 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001875 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
1876the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
1877and <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 -08001878 </li>
1879 <li>
1880 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001881 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1882the camera device uses incandescent light as the assumed scene
1883illumination for white balance.<wbr/> While the exact white balance
1884transforms are up to the camera device,<wbr/> they will approximately
1885match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001886 </li>
1887 <li>
1888 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001889 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1890the camera device uses fluorescent light as the assumed scene
1891illumination for white balance.<wbr/> While the exact white balance
1892transforms are up to the camera device,<wbr/> they will approximately
1893match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001894 </li>
1895 <li>
1896 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001897 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1898the camera device uses warm fluorescent light as the assumed scene
1899illumination for white balance.<wbr/> While the exact white balance
1900transforms are up to the camera device,<wbr/> they will approximately
1901match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001902 </li>
1903 <li>
1904 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001905 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1906the camera device uses daylight light as the assumed scene
1907illumination for white balance.<wbr/> While the exact white balance
1908transforms are up to the camera device,<wbr/> they will approximately
1909match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001910 </li>
1911 <li>
1912 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001913 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1914the camera device uses cloudy daylight light as the assumed scene
1915illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001916 </li>
1917 <li>
1918 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001919 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1920the camera device uses twilight light as the assumed scene
1921illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001922 </li>
1923 <li>
1924 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001925 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1926the camera device uses shade light as the assumed scene
1927illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001928 </li>
1929 </ul>
1930
1931 </td> <!-- entry_type -->
1932
1933 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001934 <p>Whether AWB is currently setting the color
1935transform fields,<wbr/> and what its illumination target
1936is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001937 </td>
1938
1939 <td class="entry_units">
1940 </td>
1941
1942 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001943 <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 -08001944 </td>
1945
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001946 <td class="entry_tags">
1947 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001948 <li><a href="#tag_BC">BC</a></li>
1949 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001950 </ul>
1951 </td>
1952
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001953 </tr>
1954 <tr class="entries_header">
1955 <th class="th_details" colspan="5">Details</th>
1956 </tr>
1957 <tr class="entry_cont">
1958 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08001959 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
1960<p>When set to the ON mode,<wbr/> the camera device's auto white balance
1961routine is enabled,<wbr/> overriding the application's selected
1962<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
1963<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
1964<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
1965routine is disabled.<wbr/> The applicantion manually controls the white
1966balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
1967and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
1968<p>When set to any other modes,<wbr/> the camera device's auto white balance
1969routine is disabled.<wbr/> The camera device uses each particular illumination
1970target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001971 </td>
1972 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001973
1974
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001975 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1976 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001977
1978
1979 <tr class="entry" id="controls_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001980 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001981 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001982 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001983 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001984 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001985 <span class="entry_type_container">x</span>
1986
1987 <span class="entry_type_array">
1988 5 x area_count
1989 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001990 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001991
1992
1993 </td> <!-- entry_type -->
1994
1995 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001996 <p>List of areas to use for illuminant
1997estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001998 </td>
1999
2000 <td class="entry_units">
2001 </td>
2002
2003 <td class="entry_range">
2004 </td>
2005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002006 <td class="entry_tags">
2007 <ul class="entry_tags">
2008 <li><a href="#tag_BC">BC</a></li>
2009 </ul>
2010 </td>
2011
2012 </tr>
2013 <tr class="entries_header">
2014 <th class="th_details" colspan="5">Details</th>
2015 </tr>
2016 <tr class="entry_cont">
2017 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002018 <p>Only used in AUTO mode.<wbr/></p>
2019<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
2020xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
2021specified coordinates.<wbr/></p>
2022<p>The coordinate system is based on the active pixel array,<wbr/>
2023with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002024(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
2025<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 -08002026bottom-right pixel in the active pixel array.<wbr/> The weight
2027should be nonnegative.<wbr/></p>
2028<p>If all regions have 0 weight,<wbr/> then no specific metering area
2029needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002030outside 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 -08002031should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08002032used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002033 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002034 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002035
2036
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002037 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2038 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002039
2040
2041 <tr class="entry" id="controls_android.control.captureIntent">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002042 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002043 android.<wbr/>control.<wbr/>capture<wbr/>Intent
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002044 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002045 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002046 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002047
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002048 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002049
2050 <ul class="entry_type_enum">
2051 <li>
2052 <span class="entry_type_enum_name">CUSTOM</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002053 <span class="entry_type_enum_notes"><p>This request doesn't fall into the other
2054categories.<wbr/> Default to preview-like
2055behavior.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002056 </li>
2057 <li>
2058 <span class="entry_type_enum_name">PREVIEW</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002059 <span class="entry_type_enum_notes"><p>This request is for a preview-like usecase.<wbr/> The
2060precapture trigger may be used to start off a metering
2061w/<wbr/>flash sequence</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002062 </li>
2063 <li>
2064 <span class="entry_type_enum_name">STILL_CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002065 <span class="entry_type_enum_notes"><p>This request is for a still capture-type
2066usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002067 </li>
2068 <li>
2069 <span class="entry_type_enum_name">VIDEO_RECORD</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002070 <span class="entry_type_enum_notes"><p>This request is for a video recording
2071usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002072 </li>
2073 <li>
2074 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002075 <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
2076image while recording video) usecase</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002077 </li>
2078 <li>
2079 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002080 <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
2081application will stream full-resolution images and
2082reprocess one or several later for a final
2083capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002084 </li>
2085 </ul>
2086
2087 </td> <!-- entry_type -->
2088
2089 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08002090 <p>Information to the camera device 3A (auto-exposure,<wbr/>
2091auto-focus,<wbr/> auto-white balance) routines about the purpose
2092of this capture,<wbr/> to help the camera device to decide optimal 3A
2093strategy.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002094 </td>
2095
2096 <td class="entry_units">
2097 </td>
2098
2099 <td class="entry_range">
Zhijun Heea27bc32014-01-15 13:47:59 -08002100 <p>All must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002101 </td>
2102
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002103 <td class="entry_tags">
2104 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002105 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002106 </ul>
2107 </td>
2108
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002109 </tr>
2110 <tr class="entries_header">
2111 <th class="th_details" colspan="5">Details</th>
2112 </tr>
2113 <tr class="entry_cont">
2114 <td class="entry_details" colspan="5">
Zhijun Heea27bc32014-01-15 13:47:59 -08002115 <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
2116and any 3A routine is active.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002117 </td>
2118 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002119
2120
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002121 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2122 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002123
2124
2125 <tr class="entry" id="controls_android.control.effectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002126 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002127 android.<wbr/>control.<wbr/>effect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002128 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002129 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002130 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002131
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002133
2134 <ul class="entry_type_enum">
2135 <li>
2136 <span class="entry_type_enum_name">OFF</span>
2137 </li>
2138 <li>
2139 <span class="entry_type_enum_name">MONO</span>
2140 <span class="entry_type_enum_optional">optional</span>
2141 </li>
2142 <li>
2143 <span class="entry_type_enum_name">NEGATIVE</span>
2144 <span class="entry_type_enum_optional">optional</span>
2145 </li>
2146 <li>
2147 <span class="entry_type_enum_name">SOLARIZE</span>
2148 <span class="entry_type_enum_optional">optional</span>
2149 </li>
2150 <li>
2151 <span class="entry_type_enum_name">SEPIA</span>
2152 <span class="entry_type_enum_optional">optional</span>
2153 </li>
2154 <li>
2155 <span class="entry_type_enum_name">POSTERIZE</span>
2156 <span class="entry_type_enum_optional">optional</span>
2157 </li>
2158 <li>
2159 <span class="entry_type_enum_name">WHITEBOARD</span>
2160 <span class="entry_type_enum_optional">optional</span>
2161 </li>
2162 <li>
2163 <span class="entry_type_enum_name">BLACKBOARD</span>
2164 <span class="entry_type_enum_optional">optional</span>
2165 </li>
2166 <li>
2167 <span class="entry_type_enum_name">AQUA</span>
2168 <span class="entry_type_enum_optional">optional</span>
2169 </li>
2170 </ul>
2171
2172 </td> <!-- entry_type -->
2173
2174 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002175 <p>Whether any special color effect is in use.<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002176Only used if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002177 </td>
2178
2179 <td class="entry_units">
2180 </td>
2181
2182 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002183 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002184 </td>
2185
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002186 <td class="entry_tags">
2187 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002188 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002189 </ul>
2190 </td>
2191
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002192 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002193
2194
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002195 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2196 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002197
2198
2199 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002200 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002201 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002202 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002203 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002204 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002205
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002207
2208 <ul class="entry_type_enum">
2209 <li>
2210 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002211 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2212routines are disabled,<wbr/> no other settings in
2213android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002214 </li>
2215 <li>
2216 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002217 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2218Manual control of capture parameters is disabled.<wbr/> All
2219controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2220effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002221 </li>
2222 <li>
2223 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002224 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2225control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2226controls; the HAL must ignore those settings while
2227USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2228scene mode).<wbr/> Other control entries are still active.<wbr/>
2229This setting can only be used if availableSceneModes !=
2230UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002231 </li>
2232 </ul>
2233
2234 </td> <!-- entry_type -->
2235
2236 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002237 <p>Overall mode of 3A control
2238routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002239 </td>
2240
2241 <td class="entry_units">
2242 </td>
2243
2244 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002245 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002246 </td>
2247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002248 <td class="entry_tags">
2249 <ul class="entry_tags">
2250 <li><a href="#tag_BC">BC</a></li>
2251 </ul>
2252 </td>
2253
2254 </tr>
2255 <tr class="entries_header">
2256 <th class="th_details" colspan="5">Details</th>
2257 </tr>
2258 <tr class="entry_cont">
2259 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002260 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002261by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002262capture parameters itself.<wbr/></p>
2263<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002264android.<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 -08002265<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002266android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002267one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002268as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002269<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 -08002270 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002271 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002272
2273
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002274 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2275 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276
2277
2278 <tr class="entry" id="controls_android.control.sceneMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002279 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002280 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002281 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002282 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002283 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002285 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002286
2287 <ul class="entry_type_enum">
2288 <li>
2289 <span class="entry_type_enum_name">UNSUPPORTED</span>
2290 <span class="entry_type_enum_value">0</span>
2291 </li>
2292 <li>
2293 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002294 <span class="entry_type_enum_notes"><p>if face detection support exists Use face
2295detection data to drive 3A routines.<wbr/> If face detection
2296statistics are disabled,<wbr/> should still operate correctly
2297(but not return face detection statistics to the
2298framework).<wbr/></p>
2299<p>Unlike the other scene modes,<wbr/> aeMode,<wbr/> awbMode,<wbr/> and afMode
2300remain active when FACE_<wbr/>PRIORITY is set.<wbr/> This is due to
2301compatibility concerns with the old camera
2302API</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002303 </li>
2304 <li>
2305 <span class="entry_type_enum_name">ACTION</span>
2306 <span class="entry_type_enum_optional">optional</span>
2307 </li>
2308 <li>
2309 <span class="entry_type_enum_name">PORTRAIT</span>
2310 <span class="entry_type_enum_optional">optional</span>
2311 </li>
2312 <li>
2313 <span class="entry_type_enum_name">LANDSCAPE</span>
2314 <span class="entry_type_enum_optional">optional</span>
2315 </li>
2316 <li>
2317 <span class="entry_type_enum_name">NIGHT</span>
2318 <span class="entry_type_enum_optional">optional</span>
2319 </li>
2320 <li>
2321 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
2322 <span class="entry_type_enum_optional">optional</span>
2323 </li>
2324 <li>
2325 <span class="entry_type_enum_name">THEATRE</span>
2326 <span class="entry_type_enum_optional">optional</span>
2327 </li>
2328 <li>
2329 <span class="entry_type_enum_name">BEACH</span>
2330 <span class="entry_type_enum_optional">optional</span>
2331 </li>
2332 <li>
2333 <span class="entry_type_enum_name">SNOW</span>
2334 <span class="entry_type_enum_optional">optional</span>
2335 </li>
2336 <li>
2337 <span class="entry_type_enum_name">SUNSET</span>
2338 <span class="entry_type_enum_optional">optional</span>
2339 </li>
2340 <li>
2341 <span class="entry_type_enum_name">STEADYPHOTO</span>
2342 <span class="entry_type_enum_optional">optional</span>
2343 </li>
2344 <li>
2345 <span class="entry_type_enum_name">FIREWORKS</span>
2346 <span class="entry_type_enum_optional">optional</span>
2347 </li>
2348 <li>
2349 <span class="entry_type_enum_name">SPORTS</span>
2350 <span class="entry_type_enum_optional">optional</span>
2351 </li>
2352 <li>
2353 <span class="entry_type_enum_name">PARTY</span>
2354 <span class="entry_type_enum_optional">optional</span>
2355 </li>
2356 <li>
2357 <span class="entry_type_enum_name">CANDLELIGHT</span>
2358 <span class="entry_type_enum_optional">optional</span>
2359 </li>
2360 <li>
2361 <span class="entry_type_enum_name">BARCODE</span>
2362 <span class="entry_type_enum_optional">optional</span>
2363 </li>
2364 </ul>
2365
2366 </td> <!-- entry_type -->
2367
2368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002369 <p>Which scene mode is active when
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002370<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = SCENE_<wbr/>MODE</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002371 </td>
2372
2373 <td class="entry_units">
2374 </td>
2375
2376 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002377 <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 -08002378 </td>
2379
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002380 <td class="entry_tags">
2381 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002382 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002383 </ul>
2384 </td>
2385
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002386 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002387
2388
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002389 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2390 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002391
2392
2393 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002394 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002395 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002396 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002397 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002398 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002399
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002400 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002401
2402 <ul class="entry_type_enum">
2403 <li>
2404 <span class="entry_type_enum_name">OFF</span>
2405 </li>
2406 <li>
2407 <span class="entry_type_enum_name">ON</span>
2408 </li>
2409 </ul>
2410
2411 </td> <!-- entry_type -->
2412
2413 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002414 <p>Whether video stabilization is
2415active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002416 </td>
2417
2418 <td class="entry_units">
2419 </td>
2420
2421 <td class="entry_range">
2422 </td>
2423
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002424 <td class="entry_tags">
2425 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002426 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002427 </ul>
2428 </td>
2429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002430 </tr>
2431 <tr class="entries_header">
2432 <th class="th_details" colspan="5">Details</th>
2433 </tr>
2434 <tr class="entry_cont">
2435 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002436 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002437<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 -08002438stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002439 </td>
2440 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002441
2442
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002443 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2444 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002445
2446
2447
2448 <!-- end of kind -->
2449 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002450 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002451
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002452 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002453 <tr>
2454 <th class="th_name">Property Name</th>
2455 <th class="th_type">Type</th>
2456 <th class="th_description">Description</th>
2457 <th class="th_units">Units</th>
2458 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002459 <th class="th_tags">Tags</th>
2460 </tr>
2461 </thead>
2462
2463 <tbody>
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002475 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002476 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002477 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002478 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002479 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002480 <span class="entry_type_container">x</span>
2481
2482 <span class="entry_type_array">
2483 n
2484 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002485 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002486 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002487
2488
2489 </td> <!-- entry_type -->
2490
2491 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002492 <p>The set of auto-exposure antibanding modes that are
2493supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002494 </td>
2495
2496 <td class="entry_units">
2497 </td>
2498
2499 <td class="entry_range">
2500 </td>
2501
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002502 <td class="entry_tags">
2503 </td>
2504
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002505 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002506 <tr class="entries_header">
2507 <th class="th_details" colspan="5">Details</th>
2508 </tr>
2509 <tr class="entry_cont">
2510 <td class="entry_details" colspan="5">
2511 <p>Not all of the auto-exposure anti-banding modes may be
2512supported by a given camera device.<wbr/> This field lists the
2513valid anti-banding modes that the application may request
2514for this camera device; they must include AUTO.<wbr/></p>
2515 </td>
2516 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002517
2518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002519 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2520 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002521
2522
2523 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002524 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002525 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002526 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002527 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002528 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002529 <span class="entry_type_container">x</span>
2530
2531 <span class="entry_type_array">
2532 n
2533 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002534 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002535 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002536
2537
2538 </td> <!-- entry_type -->
2539
2540 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002541 <p>The set of auto-exposure modes that are supported by this
2542camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </td>
2544
2545 <td class="entry_units">
2546 </td>
2547
2548 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002549 </td>
2550
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002551 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002552 <ul class="entry_tags">
2553 <li><a href="#tag_BC">BC</a></li>
2554 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002555 </td>
2556
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002557 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002558 <tr class="entries_header">
2559 <th class="th_details" colspan="5">Details</th>
2560 </tr>
2561 <tr class="entry_cont">
2562 <td class="entry_details" colspan="5">
2563 <p>Not all the auto-exposure modes may be supported by a
2564given camera device,<wbr/> especially if no flash unit is
2565available.<wbr/> This entry lists the valid modes for
2566<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2567<p>All camera devices support ON,<wbr/> and all camera devices with
2568flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2569ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2570<p>Full-capability camera devices always support OFF mode,<wbr/>
2571which enables application control of camera exposure time,<wbr/>
2572sensitivity,<wbr/> and frame duration.<wbr/></p>
2573 </td>
2574 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002575
2576
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002577 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2578 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002579
2580
2581 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002582 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002583 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002584 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002585 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002586 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002587 <span class="entry_type_container">x</span>
2588
2589 <span class="entry_type_array">
2590 2 x n
2591 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002592 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002593 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002594
2595
2596 </td> <!-- entry_type -->
2597
2598 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002599 <p>List of frame rate ranges supported by the
2600AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002601 </td>
2602
2603 <td class="entry_units">
2604 </td>
2605
2606 <td class="entry_range">
2607 </td>
2608
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002609 <td class="entry_tags">
2610 </td>
2611
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002612 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002613
2614
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002615 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2616 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002617
2618
2619 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002620 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002621 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002622 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002623 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002624 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002625 <span class="entry_type_container">x</span>
2626
2627 <span class="entry_type_array">
2628 2
2629 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002630 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002631
2632
2633 </td> <!-- entry_type -->
2634
2635 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002636 <p>Maximum and minimum exposure compensation
2637setting,<wbr/> in counts of
2638android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002639 </td>
2640
2641 <td class="entry_units">
2642 </td>
2643
2644 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002645 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2646size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002647 </td>
2648
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002649 <td class="entry_tags">
2650 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002651 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002652 </ul>
2653 </td>
2654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002655 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002656
2657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002658 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2659 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002660
2661
2662 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002663 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002664 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002665 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002666 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002667 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002668
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002669 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670
2671
2672 </td> <!-- entry_type -->
2673
2674 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002675 <p>Smallest step by which exposure compensation
2676can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002677 </td>
2678
2679 <td class="entry_units">
2680 </td>
2681
2682 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002683 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002684 </td>
2685
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002686 <td class="entry_tags">
2687 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002688 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002689 </ul>
2690 </td>
2691
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002692 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002693
2694
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002695 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2696 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002697
2698
2699 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002700 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002701 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002702 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002703 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002704 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002705 <span class="entry_type_container">x</span>
2706
2707 <span class="entry_type_array">
2708 n
2709 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002710 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002711 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002712
2713
2714 </td> <!-- entry_type -->
2715
2716 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002717 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002718selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002719 </td>
2720
2721 <td class="entry_units">
2722 </td>
2723
2724 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002725 </td>
2726
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002727 <td class="entry_tags">
2728 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002729 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002730 </ul>
2731 </td>
2732
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002733 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002734 <tr class="entries_header">
2735 <th class="th_details" colspan="5">Details</th>
2736 </tr>
2737 <tr class="entry_cont">
2738 <td class="entry_details" colspan="5">
2739 <p>Not all the auto-focus modes may be supported by a
2740given camera device.<wbr/> This entry lists the valid modes for
2741<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2742<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2743adjustable 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>)
2744will support AUTO mode.<wbr/></p>
2745 </td>
2746 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002747
2748
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002749 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2750 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002751
2752
2753 <tr class="entry" id="static_android.control.availableEffects">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002754 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002755 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002756 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002758 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002759 <span class="entry_type_container">x</span>
2760
2761 <span class="entry_type_array">
2762 n
2763 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002764 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002765 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002766
2767
2768 </td> <!-- entry_type -->
2769
2770 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002771 <p>what subset of the full color effect enum
2772list is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002773 </td>
2774
2775 <td class="entry_units">
2776 </td>
2777
2778 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002779 <p>OFF must be listed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002780 </td>
2781
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002782 <td class="entry_tags">
2783 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002784 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785 </ul>
2786 </td>
2787
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002788 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002789
2790
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002791 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2792 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002793
2794
2795 <tr class="entry" id="static_android.control.availableSceneModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002796 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002797 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002798 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002799 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002800 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002801 <span class="entry_type_container">x</span>
2802
2803 <span class="entry_type_array">
2804 n
2805 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002806 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002807 <div class="entry_type_notes">list of enums from android.<wbr/>control.<wbr/>scene<wbr/>Mode,<wbr/> plus UNSUPPORTED to indicate no scene modes are supported</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808
2809
2810 </td> <!-- entry_type -->
2811
2812 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002813 <p>what subset of the scene mode enum list is
2814supported.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002815 </td>
2816
2817 <td class="entry_units">
2818 </td>
2819
2820 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002821 <p>SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY must be supported if face
2822detection is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002823 </td>
2824
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002825 <td class="entry_tags">
2826 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002827 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002828 </ul>
2829 </td>
2830
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002831 </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.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002839 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002840 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
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>
Igor Murashkin0b080452013-12-27 15:30:25 -08002850 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002851
2852
2853 </td> <!-- entry_type -->
2854
2855 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002856 <p>List of video stabilization modes that can
2857be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002858 </td>
2859
2860 <td class="entry_units">
2861 </td>
2862
2863 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002864 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002865 </td>
2866
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002867 <td class="entry_tags">
2868 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002869 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002870 </ul>
2871 </td>
2872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002873 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002874
2875
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002876 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2877 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002878
2879
2880 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08002881 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002882 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002883 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002884 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002885 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002886 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002887
Alex Raya4251d92013-04-30 16:43:44 -07002888 <span class="entry_type_array">
2889 n
2890 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002891 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08002892 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002893
2894
2895 </td> <!-- entry_type -->
2896
2897 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08002898 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
2899that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900 </td>
2901
2902 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002903 </td>
2904
2905 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002906 </td>
2907
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002908 <td class="entry_tags">
2909 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002910 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002911 </ul>
2912 </td>
2913
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002914 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08002915 <tr class="entries_header">
2916 <th class="th_details" colspan="5">Details</th>
2917 </tr>
2918 <tr class="entry_cont">
2919 <td class="entry_details" colspan="5">
2920 <p>Not all the auto-white-balance modes may be supported by a
2921given camera device.<wbr/> This entry lists the valid modes for
2922<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
2923<p>All camera devices will support ON mode.<wbr/></p>
2924<p>Full-capability camera devices will always support OFF mode,<wbr/>
2925which enables application control of white balance,<wbr/> by using
2926<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>
2927 </td>
2928 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002929
2930
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002931 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2932 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002933
2934
2935 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002936 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002937 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002938 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002939 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002940 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002941
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002942 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002943
2944
2945 </td> <!-- entry_type -->
2946
2947 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002948 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
2949regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002950 </td>
2951
2952 <td class="entry_units">
2953 </td>
2954
2955 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08002956 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002957 </td>
2958
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002959 <td class="entry_tags">
2960 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002961 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962 </ul>
2963 </td>
2964
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002965 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002966
2967
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002968 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2969 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002970
2971
2972 <tr class="entry" id="static_android.control.sceneModeOverrides">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002973 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002974 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002975 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002976 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002977 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 <span class="entry_type_container">x</span>
2979
2980 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002981 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002982 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002983 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002984
2985
2986 </td> <!-- entry_type -->
2987
2988 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002989 <p>List of AE,<wbr/> AWB,<wbr/> and AF modes to use for
2990each available scene mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002991 </td>
2992
2993 <td class="entry_units">
2994 </td>
2995
2996 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002997 <p>For each listed scene mode,<wbr/> lists the aeMode,<wbr/>
2998awbMode,<wbr/> and afMode that the HAL wants to use for that
2999scene mode.<wbr/></p>
3000<p>For each entry,<wbr/> the order is {aeMode,<wbr/> awbMode,<wbr/> afMode} in
3001order of increasing index</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003002 </td>
3003
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003004 <td class="entry_tags">
3005 <ul class="entry_tags">
3006 <li><a href="#tag_BC">BC</a></li>
3007 </ul>
3008 </td>
3009
3010 </tr>
3011 <tr class="entries_header">
3012 <th class="th_details" colspan="5">Details</th>
3013 </tr>
3014 <tr class="entry_cont">
3015 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003016 <p>When a scene mode is enabled,<wbr/> the HAL is expected
3017to override aeMode,<wbr/> awbMode,<wbr/> and afMode with its
3018preferred settings for that scene mode.<wbr/></p>
3019<p>To simplify communication with old camera API applications,<wbr/>
3020the service wants this override list in the static metadata.<wbr/>
3021The order of this list matches that of availableSceneModes,<wbr/>
3022with 3 entires for each scene mode.<wbr/> The overrides listed
3023for SCENE_<wbr/>MODE_<wbr/>FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3024mode,<wbr/> the application-set aeMode,<wbr/> awbMode,<wbr/> and afMode are
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003025used instead,<wbr/> like they are when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
Igor Murashkin0b080452013-12-27 15:30:25 -08003026AUTO.<wbr/></p>
3027<p>It is recommended that for FACE_<wbr/>PRIORITY,<wbr/> the overrides
3028should be set to 0.<wbr/> As an example,<wbr/> if availableSceneModes is
3029{ FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT },<wbr/> then the service expects
3030this field to have 9 entries; for example { 0 ,<wbr/> 0,<wbr/> 0,<wbr/>
3031ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
3032INCANDESCENT,<wbr/> AUTO }</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003033 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003034 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003035
3036
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003037 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3038 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003039
3040
3041
3042 <!-- end of kind -->
3043 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003044 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003045
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003046 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003047 <tr>
3048 <th class="th_name">Property Name</th>
3049 <th class="th_type">Type</th>
3050 <th class="th_description">Description</th>
3051 <th class="th_units">Units</th>
3052 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003053 <th class="th_tags">Tags</th>
3054 </tr>
3055 </thead>
3056
3057 <tbody>
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003069 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003070 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003071 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003072 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003073 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003074
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003075 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003076
3077
3078 </td> <!-- entry_type -->
3079
3080 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003081 <p>The ID sent with the latest
3082CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003083 </td>
3084
3085 <td class="entry_units">
3086 </td>
3087
3088 <td class="entry_range">
3089 </td>
3090
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003091 <td class="entry_tags">
3092 </td>
3093
3094 </tr>
3095 <tr class="entries_header">
3096 <th class="th_details" colspan="5">Details</th>
3097 </tr>
3098 <tr class="entry_cont">
3099 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003100 <p>Must be 0 if no
3101CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3102by HAL.<wbr/> Always updated even if AE algorithm ignores the
3103trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003104 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003105 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003106
3107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003108 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3109 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003110
3111
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003112 <tr class="entry" id="dynamic_android.control.aeMode">
3113 <td class="entry_name" rowspan="3">
3114 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3115 </td>
3116 <td class="entry_type">
3117 <span class="entry_type_name entry_type_name_enum">byte</span>
3118
3119 <span class="entry_type_visibility"> [public]</span>
3120
3121 <ul class="entry_type_enum">
3122 <li>
3123 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003124 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3125the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3126<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3127<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3128device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3129a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003130 </li>
3131 <li>
3132 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003133 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3134with no flash control.<wbr/> The application's values for
3135<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3136<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3137<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3138application has control over the various
3139android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003140 </li>
3141 <li>
3142 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003143 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3144the camera's flash unit,<wbr/> firing it in low-light
3145conditions.<wbr/> The flash may be fired during a
3146precapture sequence (triggered by
3147<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3148for captures for which the
3149<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3150STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003151 </li>
3152 <li>
3153 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003154 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3155the camera's flash unit,<wbr/> always firing it for still
3156captures.<wbr/> The flash may be fired during a precapture
3157sequence (triggered by
3158<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3159be fired for captures for which the
3160<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3161STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003162 </li>
3163 <li>
3164 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003165 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3166reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3167a red eye reduction flash will fire during the
3168precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003169 </li>
3170 </ul>
3171
3172 </td> <!-- entry_type -->
3173
3174 <td class="entry_description">
3175 <p>The desired mode for the camera device's
3176auto-exposure routine.<wbr/></p>
3177 </td>
3178
3179 <td class="entry_units">
3180 </td>
3181
3182 <td class="entry_range">
3183 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3184 </td>
3185
3186 <td class="entry_tags">
3187 <ul class="entry_tags">
3188 <li><a href="#tag_BC">BC</a></li>
3189 </ul>
3190 </td>
3191
3192 </tr>
3193 <tr class="entries_header">
3194 <th class="th_details" colspan="5">Details</th>
3195 </tr>
3196 <tr class="entry_cont">
3197 <td class="entry_details" colspan="5">
3198 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3199AUTO.<wbr/></p>
3200<p>When set to any of the ON modes,<wbr/> the camera device's
3201auto-exposure routine is enabled,<wbr/> overriding the
3202application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3203and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3204<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3205<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3206is selected,<wbr/> the camera device's flash unit controls are
3207also overridden.<wbr/></p>
3208<p>The FLASH modes are only available if the camera device
3209has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3210<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3211ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3212<p>When set to any of the ON modes,<wbr/> the values chosen by the
3213camera device auto-exposure routine for the overridden
3214fields for a given capture will be available in its
3215CaptureResult.<wbr/></p>
3216 </td>
3217 </tr>
3218
3219
3220 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3221 <!-- end of entry -->
3222
3223
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003224 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003225 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003226 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003227 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003228 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003229 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003230 <span class="entry_type_container">x</span>
3231
3232 <span class="entry_type_array">
3233 5 x area_count
3234 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003235 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003236
3237
3238 </td> <!-- entry_type -->
3239
3240 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003241 <p>List of areas to use for
3242metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003243 </td>
3244
3245 <td class="entry_units">
3246 </td>
3247
3248 <td class="entry_range">
3249 </td>
3250
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003251 <td class="entry_tags">
3252 <ul class="entry_tags">
3253 <li><a href="#tag_BC">BC</a></li>
3254 </ul>
3255 </td>
3256
3257 </tr>
3258 <tr class="entries_header">
3259 <th class="th_details" colspan="5">Details</th>
3260 </tr>
3261 <tr class="entry_cont">
3262 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003263 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3264xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3265specified coordinates.<wbr/></p>
3266<p>The coordinate system is based on the active pixel array,<wbr/>
3267with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003268(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3269<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 -08003270bottom-right pixel in the active pixel array.<wbr/> The weight
3271should be nonnegative.<wbr/></p>
3272<p>If all regions have 0 weight,<wbr/> then no specific metering area
3273needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003274outside 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 -08003275should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003276used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003277 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003278 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003279
3280
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003281 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3282 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003283
3284
3285 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003286 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003287 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003288 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003289 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003290 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003291
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003292 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003293
3294 <ul class="entry_type_enum">
3295 <li>
3296 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003297 <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 -08003298this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003299 </li>
3300 <li>
3301 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003302 <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 -08003303for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003304 </li>
3305 <li>
3306 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003307 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003308current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003309 </li>
3310 <li>
3311 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003312 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003313 </li>
3314 <li>
3315 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003316 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3317needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003318capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003319 </li>
3320 <li>
3321 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003322 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003323(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3324and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003325completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003326FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003327 </li>
3328 </ul>
3329
3330 </td> <!-- entry_type -->
3331
3332 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003333 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003334 </td>
3335
3336 <td class="entry_units">
3337 </td>
3338
3339 <td class="entry_range">
3340 </td>
3341
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003342 <td class="entry_tags">
3343 </td>
3344
3345 </tr>
3346 <tr class="entries_header">
3347 <th class="th_details" colspan="5">Details</th>
3348 </tr>
3349 <tr class="entry_cont">
3350 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003351 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3352resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3353or <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
3354the algorithm states to INACTIVE.<wbr/></p>
3355<p>The camera device can do several state transitions between two results,<wbr/> if it is
3356allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3357seen in a result.<wbr/></p>
3358<p>The state in the result is the state for this image (in sync with this image): if
3359AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3360be good to use.<wbr/></p>
3361<p>Below are state transition tables for different AE modes.<wbr/></p>
3362<table>
3363<thead>
3364<tr>
3365<th align="center">State</th>
3366<th align="center">Transition Cause</th>
3367<th align="center">New State</th>
3368<th align="center">Notes</th>
3369</tr>
3370</thead>
3371<tbody>
3372<tr>
3373<td align="center">INACTIVE</td>
3374<td align="center"></td>
3375<td align="center">INACTIVE</td>
3376<td align="center">Camera device auto exposure algorithm is disabled</td>
3377</tr>
3378</tbody>
3379</table>
3380<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3381<table>
3382<thead>
3383<tr>
3384<th align="center">State</th>
3385<th align="center">Transition Cause</th>
3386<th align="center">New State</th>
3387<th align="center">Notes</th>
3388</tr>
3389</thead>
3390<tbody>
3391<tr>
3392<td align="center">INACTIVE</td>
3393<td align="center">Camera device initiates AE scan</td>
3394<td align="center">SEARCHING</td>
3395<td align="center">Values changing</td>
3396</tr>
3397<tr>
3398<td align="center">INACTIVE</td>
3399<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3400<td align="center">LOCKED</td>
3401<td align="center">Values locked</td>
3402</tr>
3403<tr>
3404<td align="center">SEARCHING</td>
3405<td align="center">Camera device finishes AE scan</td>
3406<td align="center">CONVERGED</td>
3407<td align="center">Good values,<wbr/> not changing</td>
3408</tr>
3409<tr>
3410<td align="center">SEARCHING</td>
3411<td align="center">Camera device finishes AE scan</td>
3412<td align="center">FLASH_<wbr/>REQUIRED</td>
3413<td align="center">Converged but too dark w/<wbr/>o flash</td>
3414</tr>
3415<tr>
3416<td align="center">SEARCHING</td>
3417<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3418<td align="center">LOCKED</td>
3419<td align="center">Values locked</td>
3420</tr>
3421<tr>
3422<td align="center">CONVERGED</td>
3423<td align="center">Camera device initiates AE scan</td>
3424<td align="center">SEARCHING</td>
3425<td align="center">Values changing</td>
3426</tr>
3427<tr>
3428<td align="center">CONVERGED</td>
3429<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3430<td align="center">LOCKED</td>
3431<td align="center">Values locked</td>
3432</tr>
3433<tr>
3434<td align="center">FLASH_<wbr/>REQUIRED</td>
3435<td align="center">Camera device initiates AE scan</td>
3436<td align="center">SEARCHING</td>
3437<td align="center">Values changing</td>
3438</tr>
3439<tr>
3440<td align="center">FLASH_<wbr/>REQUIRED</td>
3441<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3442<td align="center">LOCKED</td>
3443<td align="center">Values locked</td>
3444</tr>
3445<tr>
3446<td align="center">LOCKED</td>
3447<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3448<td align="center">SEARCHING</td>
3449<td align="center">Values not good after unlock</td>
3450</tr>
3451<tr>
3452<td align="center">LOCKED</td>
3453<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3454<td align="center">CONVERGED</td>
3455<td align="center">Values good after unlock</td>
3456</tr>
3457<tr>
3458<td align="center">LOCKED</td>
3459<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3460<td align="center">FLASH_<wbr/>REQUIRED</td>
3461<td align="center">Exposure good,<wbr/> but too dark</td>
3462</tr>
3463<tr>
3464<td align="center">PRECAPTURE</td>
3465<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3466<td align="center">CONVERGED</td>
3467<td align="center">Ready for high-quality capture</td>
3468</tr>
3469<tr>
3470<td align="center">PRECAPTURE</td>
3471<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3472<td align="center">LOCKED</td>
3473<td align="center">Ready for high-quality capture</td>
3474</tr>
3475<tr>
3476<td align="center">Any state</td>
3477<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3478<td align="center">PRECAPTURE</td>
3479<td align="center">Start AE precapture metering sequence</td>
3480</tr>
3481</tbody>
3482</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003483 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003484 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003485
3486
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003487 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3488 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003489
3490
3491 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003492 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003493 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003494 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003496 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003497
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003498 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003499
3500 <ul class="entry_type_enum">
3501 <li>
3502 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003503 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3504<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3505application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003506 </li>
3507 <li>
3508 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003509 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3510<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
3511is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3512the autofocus trigger action is called.<wbr/> When that trigger
3513is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3514the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3515<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3516and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003517 </li>
3518 <li>
3519 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003520 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3521autofocus trigger action is called.<wbr/></p>
3522<p>When that trigger is activated,<wbr/> AF must transition to
3523ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3524NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3525position to default,<wbr/> and sets the AF state to
3526INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003527 </li>
3528 <li>
3529 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003530 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3531position continually to attempt to provide a
3532constantly-in-focus image stream.<wbr/></p>
3533<p>The focusing behavior should be suitable for good quality
3534video recording; typically this means slower focus
3535movement and no overshoots.<wbr/> When the AF trigger is not
3536involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3537and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3538states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3539the algorithm should immediately transition into
3540AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3541lens position until a cancel AF trigger is received.<wbr/></p>
3542<p>Once cancel is received,<wbr/> the algorithm should transition
3543back to INACTIVE and resume passive scan.<wbr/> Note that this
3544behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3545ongoing PASSIVE_<wbr/>SCAN must immediately be
3546canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003547 </li>
3548 <li>
3549 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003550 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3551position continually to attempt to provide a
3552constantly-in-focus image stream.<wbr/></p>
3553<p>The focusing behavior should be suitable for still image
3554capture; typically this means focusing as fast as
3555possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3556algorithm should start in INACTIVE state,<wbr/> and then
3557transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3558appropriate as it attempts to maintain focus.<wbr/> When the AF
3559trigger is activated,<wbr/> the algorithm should finish its
3560PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3561AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3562lens position until a cancel AF trigger is received.<wbr/></p>
3563<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3564should transition back to INACTIVE and then act as if it
3565has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003566 </li>
3567 <li>
3568 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003569 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3570trigger is ignored,<wbr/> AF state should always be
3571INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003572 </li>
3573 </ul>
3574
3575 </td> <!-- entry_type -->
3576
3577 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003578 <p>Whether AF is currently enabled,<wbr/> and what
3579mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003580 </td>
3581
3582 <td class="entry_units">
3583 </td>
3584
3585 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003586 <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 -08003587 </td>
3588
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003589 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003590 <ul class="entry_tags">
3591 <li><a href="#tag_BC">BC</a></li>
3592 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003593 </td>
3594
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003595 </tr>
3596 <tr class="entries_header">
3597 <th class="th_details" colspan="5">Details</th>
3598 </tr>
3599 <tr class="entry_cont">
3600 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003601 <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 -08003602<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3603the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3604in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003605 </td>
3606 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003607
3608
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003609 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3610 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003611
3612
3613 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003614 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003615 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003616 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003617 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003618 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003619 <span class="entry_type_container">x</span>
3620
3621 <span class="entry_type_array">
3622 5 x area_count
3623 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003624 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003625
3626
3627 </td> <!-- entry_type -->
3628
3629 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003630 <p>List of areas to use for focus
3631estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003632 </td>
3633
3634 <td class="entry_units">
3635 </td>
3636
3637 <td class="entry_range">
3638 </td>
3639
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003640 <td class="entry_tags">
3641 <ul class="entry_tags">
3642 <li><a href="#tag_BC">BC</a></li>
3643 </ul>
3644 </td>
3645
3646 </tr>
3647 <tr class="entries_header">
3648 <th class="th_details" colspan="5">Details</th>
3649 </tr>
3650 <tr class="entry_cont">
3651 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003652 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3653xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3654specified coordinates.<wbr/></p>
3655<p>The coordinate system is based on the active pixel array,<wbr/>
3656with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003657(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3658<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 -08003659bottom-right pixel in the active pixel array.<wbr/> The weight
3660should be nonnegative.<wbr/></p>
3661<p>If all regions have 0 weight,<wbr/> then no specific focus area
3662needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003663outside 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 -08003664should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003665used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003666 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003668
3669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003670 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3671 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003672
3673
3674 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003675 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003676 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003677 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003679 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003682
3683 <ul class="entry_type_enum">
3684 <li>
3685 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003686 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3687to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3688this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003689 </li>
3690 <li>
3691 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003692 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3693currently doing an AF scan initiated by a continuous
3694autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003695 </li>
3696 <li>
3697 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003698 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3699believes it is in focus,<wbr/> but may restart scanning at
3700any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003701 </li>
3702 <li>
3703 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003704 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3705an AF scan because it was triggered by AF
3706trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003707 </li>
3708 <li>
3709 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003710 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3711believes it is focused correctly and is
3712locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003713 </li>
3714 <li>
3715 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003716 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3717failed to focus successfully and is
3718locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003719 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003720 <li>
3721 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003722 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3723passive scan without finding focus,<wbr/> and may restart
3724scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003725 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003726 </ul>
3727
3728 </td> <!-- entry_type -->
3729
3730 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003731 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003732 </td>
3733
3734 <td class="entry_units">
3735 </td>
3736
3737 <td class="entry_range">
3738 </td>
3739
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003740 <td class="entry_tags">
3741 </td>
3742
3743 </tr>
3744 <tr class="entries_header">
3745 <th class="th_details" colspan="5">Details</th>
3746 </tr>
3747 <tr class="entry_cont">
3748 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003749 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3750resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3751or <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
3752the algorithm states to INACTIVE.<wbr/></p>
3753<p>The camera device can do several state transitions between two results,<wbr/> if it is
3754allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3755seen in a result.<wbr/></p>
3756<p>The state in the result is the state for this image (in sync with this image): if
3757AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3758be sharp.<wbr/></p>
3759<p>Below are state transition tables for different AF modes.<wbr/></p>
3760<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>
3761<table>
3762<thead>
3763<tr>
3764<th align="center">State</th>
3765<th align="center">Transition Cause</th>
3766<th align="center">New State</th>
3767<th align="center">Notes</th>
3768</tr>
3769</thead>
3770<tbody>
3771<tr>
3772<td align="center">INACTIVE</td>
3773<td align="center"></td>
3774<td align="center">INACTIVE</td>
3775<td align="center">Never changes</td>
3776</tr>
3777</tbody>
3778</table>
3779<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>
3780<table>
3781<thead>
3782<tr>
3783<th align="center">State</th>
3784<th align="center">Transition Cause</th>
3785<th align="center">New State</th>
3786<th align="center">Notes</th>
3787</tr>
3788</thead>
3789<tbody>
3790<tr>
3791<td align="center">INACTIVE</td>
3792<td align="center">AF_<wbr/>TRIGGER</td>
3793<td align="center">ACTIVE_<wbr/>SCAN</td>
3794<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3795</tr>
3796<tr>
3797<td align="center">ACTIVE_<wbr/>SCAN</td>
3798<td align="center">AF sweep done</td>
3799<td align="center">FOCUSED_<wbr/>LOCKED</td>
3800<td align="center">Focused,<wbr/> Lens now locked</td>
3801</tr>
3802<tr>
3803<td align="center">ACTIVE_<wbr/>SCAN</td>
3804<td align="center">AF sweep done</td>
3805<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3806<td align="center">Not focused,<wbr/> Lens now locked</td>
3807</tr>
3808<tr>
3809<td align="center">ACTIVE_<wbr/>SCAN</td>
3810<td align="center">AF_<wbr/>CANCEL</td>
3811<td align="center">INACTIVE</td>
3812<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3813</tr>
3814<tr>
3815<td align="center">FOCUSED_<wbr/>LOCKED</td>
3816<td align="center">AF_<wbr/>CANCEL</td>
3817<td align="center">INACTIVE</td>
3818<td align="center">Cancel/<wbr/>reset AF</td>
3819</tr>
3820<tr>
3821<td align="center">FOCUSED_<wbr/>LOCKED</td>
3822<td align="center">AF_<wbr/>TRIGGER</td>
3823<td align="center">ACTIVE_<wbr/>SCAN</td>
3824<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3825</tr>
3826<tr>
3827<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3828<td align="center">AF_<wbr/>CANCEL</td>
3829<td align="center">INACTIVE</td>
3830<td align="center">Cancel/<wbr/>reset AF</td>
3831</tr>
3832<tr>
3833<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3834<td align="center">AF_<wbr/>TRIGGER</td>
3835<td align="center">ACTIVE_<wbr/>SCAN</td>
3836<td align="center">Start new sweep,<wbr/> Lens now moving</td>
3837</tr>
3838<tr>
3839<td align="center">Any state</td>
3840<td align="center">Mode change</td>
3841<td align="center">INACTIVE</td>
3842<td align="center"></td>
3843</tr>
3844</tbody>
3845</table>
3846<p>When <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> is AF_<wbr/>MODE_<wbr/>CONTINUOUS_<wbr/>VIDEO:</p>
3847<table>
3848<thead>
3849<tr>
3850<th align="center">State</th>
3851<th align="center">Transition Cause</th>
3852<th align="center">New State</th>
3853<th align="center">Notes</th>
3854</tr>
3855</thead>
3856<tbody>
3857<tr>
3858<td align="center">INACTIVE</td>
3859<td align="center">Camera device initiates new scan</td>
3860<td align="center">PASSIVE_<wbr/>SCAN</td>
3861<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3862</tr>
3863<tr>
3864<td align="center">INACTIVE</td>
3865<td align="center">AF_<wbr/>TRIGGER</td>
3866<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3867<td align="center">AF state query,<wbr/> Lens now locked</td>
3868</tr>
3869<tr>
3870<td align="center">PASSIVE_<wbr/>SCAN</td>
3871<td align="center">Camera device completes current scan</td>
3872<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3873<td align="center">End AF scan,<wbr/> Lens now locked</td>
3874</tr>
3875<tr>
3876<td align="center">PASSIVE_<wbr/>SCAN</td>
3877<td align="center">Camera device fails current scan</td>
3878<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3879<td align="center">End AF scan,<wbr/> Lens now locked</td>
3880</tr>
3881<tr>
3882<td align="center">PASSIVE_<wbr/>SCAN</td>
3883<td align="center">AF_<wbr/>TRIGGER</td>
3884<td align="center">FOCUSED_<wbr/>LOCKED</td>
3885<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
3886</tr>
3887<tr>
3888<td align="center">PASSIVE_<wbr/>SCAN</td>
3889<td align="center">AF_<wbr/>TRIGGER</td>
3890<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3891<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
3892</tr>
3893<tr>
3894<td align="center">PASSIVE_<wbr/>SCAN</td>
3895<td align="center">AF_<wbr/>CANCEL</td>
3896<td align="center">INACTIVE</td>
3897<td align="center">Reset lens position,<wbr/> Lens now locked</td>
3898</tr>
3899<tr>
3900<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3901<td align="center">Camera device initiates new scan</td>
3902<td align="center">PASSIVE_<wbr/>SCAN</td>
3903<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3904</tr>
3905<tr>
3906<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3907<td align="center">Camera device initiates new scan</td>
3908<td align="center">PASSIVE_<wbr/>SCAN</td>
3909<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3910</tr>
3911<tr>
3912<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3913<td align="center">AF_<wbr/>TRIGGER</td>
3914<td align="center">FOCUSED_<wbr/>LOCKED</td>
3915<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3916</tr>
3917<tr>
3918<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3919<td align="center">AF_<wbr/>TRIGGER</td>
3920<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3921<td align="center">Immediate trans.<wbr/> Lens now locked</td>
3922</tr>
3923<tr>
3924<td align="center">FOCUSED_<wbr/>LOCKED</td>
3925<td align="center">AF_<wbr/>TRIGGER</td>
3926<td align="center">FOCUSED_<wbr/>LOCKED</td>
3927<td align="center">No effect</td>
3928</tr>
3929<tr>
3930<td align="center">FOCUSED_<wbr/>LOCKED</td>
3931<td align="center">AF_<wbr/>CANCEL</td>
3932<td align="center">INACTIVE</td>
3933<td align="center">Restart AF scan</td>
3934</tr>
3935<tr>
3936<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3937<td align="center">AF_<wbr/>TRIGGER</td>
3938<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3939<td align="center">No effect</td>
3940</tr>
3941<tr>
3942<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3943<td align="center">AF_<wbr/>CANCEL</td>
3944<td align="center">INACTIVE</td>
3945<td align="center">Restart AF scan</td>
3946</tr>
3947</tbody>
3948</table>
3949<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>
3950<table>
3951<thead>
3952<tr>
3953<th align="center">State</th>
3954<th align="center">Transition Cause</th>
3955<th align="center">New State</th>
3956<th align="center">Notes</th>
3957</tr>
3958</thead>
3959<tbody>
3960<tr>
3961<td align="center">INACTIVE</td>
3962<td align="center">Camera device initiates new scan</td>
3963<td align="center">PASSIVE_<wbr/>SCAN</td>
3964<td align="center">Start AF scan,<wbr/> Lens now moving</td>
3965</tr>
3966<tr>
3967<td align="center">INACTIVE</td>
3968<td align="center">AF_<wbr/>TRIGGER</td>
3969<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3970<td align="center">AF state query,<wbr/> Lens now locked</td>
3971</tr>
3972<tr>
3973<td align="center">PASSIVE_<wbr/>SCAN</td>
3974<td align="center">Camera device completes current scan</td>
3975<td align="center">PASSIVE_<wbr/>FOCUSED</td>
3976<td align="center">End AF scan,<wbr/> Lens now locked</td>
3977</tr>
3978<tr>
3979<td align="center">PASSIVE_<wbr/>SCAN</td>
3980<td align="center">Camera device fails current scan</td>
3981<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
3982<td align="center">End AF scan,<wbr/> Lens now locked</td>
3983</tr>
3984<tr>
3985<td align="center">PASSIVE_<wbr/>SCAN</td>
3986<td align="center">AF_<wbr/>TRIGGER</td>
3987<td align="center">FOCUSED_<wbr/>LOCKED</td>
3988<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
3989</tr>
3990<tr>
3991<td align="center">PASSIVE_<wbr/>SCAN</td>
3992<td align="center">AF_<wbr/>TRIGGER</td>
3993<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3994<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
3995</tr>
3996<tr>
3997<td align="center">PASSIVE_<wbr/>SCAN</td>
3998<td align="center">AF_<wbr/>CANCEL</td>
3999<td align="center">INACTIVE</td>
4000<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4001</tr>
4002<tr>
4003<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4004<td align="center">Camera device initiates new scan</td>
4005<td align="center">PASSIVE_<wbr/>SCAN</td>
4006<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4007</tr>
4008<tr>
4009<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4010<td align="center">Camera device initiates new scan</td>
4011<td align="center">PASSIVE_<wbr/>SCAN</td>
4012<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4013</tr>
4014<tr>
4015<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4016<td align="center">AF_<wbr/>TRIGGER</td>
4017<td align="center">FOCUSED_<wbr/>LOCKED</td>
4018<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4019</tr>
4020<tr>
4021<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4022<td align="center">AF_<wbr/>TRIGGER</td>
4023<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4024<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4025</tr>
4026<tr>
4027<td align="center">FOCUSED_<wbr/>LOCKED</td>
4028<td align="center">AF_<wbr/>TRIGGER</td>
4029<td align="center">FOCUSED_<wbr/>LOCKED</td>
4030<td align="center">No effect</td>
4031</tr>
4032<tr>
4033<td align="center">FOCUSED_<wbr/>LOCKED</td>
4034<td align="center">AF_<wbr/>CANCEL</td>
4035<td align="center">INACTIVE</td>
4036<td align="center">Restart AF scan</td>
4037</tr>
4038<tr>
4039<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4040<td align="center">AF_<wbr/>TRIGGER</td>
4041<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4042<td align="center">No effect</td>
4043</tr>
4044<tr>
4045<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4046<td align="center">AF_<wbr/>CANCEL</td>
4047<td align="center">INACTIVE</td>
4048<td align="center">Restart AF scan</td>
4049</tr>
4050</tbody>
4051</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004052 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004053 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004054
4055
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004056 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4057 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004058
4059
4060 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004061 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004062 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004063 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004064 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004065 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004066
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004067 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004068
4069
4070 </td> <!-- entry_type -->
4071
4072 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004073 <p>The ID sent with the latest
4074CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004075 </td>
4076
4077 <td class="entry_units">
4078 </td>
4079
4080 <td class="entry_range">
4081 </td>
4082
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004083 <td class="entry_tags">
4084 </td>
4085
4086 </tr>
4087 <tr class="entries_header">
4088 <th class="th_details" colspan="5">Details</th>
4089 </tr>
4090 <tr class="entry_cont">
4091 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004092 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4093received yet by HAL.<wbr/> Always updated even if AF algorithm
4094ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004095 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004096 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004097
4098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004099 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4100 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004101
4102
4103 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004104 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004105 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004106 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004107 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004108 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004109
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004110 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004111
4112 <ul class="entry_type_enum">
4113 <li>
4114 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004115 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4116the application-selected color transform matrix
4117(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4118(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4119device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004120 </li>
4121 <li>
4122 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004123 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4124the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4125and <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 -08004126 </li>
4127 <li>
4128 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004129 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4130the camera device uses incandescent light as the assumed scene
4131illumination for white balance.<wbr/> While the exact white balance
4132transforms are up to the camera device,<wbr/> they will approximately
4133match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004134 </li>
4135 <li>
4136 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004137 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4138the camera device uses fluorescent light as the assumed scene
4139illumination for white balance.<wbr/> While the exact white balance
4140transforms are up to the camera device,<wbr/> they will approximately
4141match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004142 </li>
4143 <li>
4144 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004145 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4146the camera device uses warm fluorescent light as the assumed scene
4147illumination for white balance.<wbr/> While the exact white balance
4148transforms are up to the camera device,<wbr/> they will approximately
4149match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004150 </li>
4151 <li>
4152 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004153 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4154the camera device uses daylight light as the assumed scene
4155illumination for white balance.<wbr/> While the exact white balance
4156transforms are up to the camera device,<wbr/> they will approximately
4157match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004158 </li>
4159 <li>
4160 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004161 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4162the camera device uses cloudy daylight light as the assumed scene
4163illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004164 </li>
4165 <li>
4166 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004167 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4168the camera device uses twilight light as the assumed scene
4169illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004170 </li>
4171 <li>
4172 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004173 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4174the camera device uses shade light as the assumed scene
4175illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004176 </li>
4177 </ul>
4178
4179 </td> <!-- entry_type -->
4180
4181 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004182 <p>Whether AWB is currently setting the color
4183transform fields,<wbr/> and what its illumination target
4184is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004185 </td>
4186
4187 <td class="entry_units">
4188 </td>
4189
4190 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004191 <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 -08004192 </td>
4193
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004194 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004195 <ul class="entry_tags">
4196 <li><a href="#tag_BC">BC</a></li>
4197 <li><a href="#tag_AWB">AWB</a></li>
4198 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004199 </td>
4200
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004201 </tr>
4202 <tr class="entries_header">
4203 <th class="th_details" colspan="5">Details</th>
4204 </tr>
4205 <tr class="entry_cont">
4206 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004207 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4208<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4209routine is enabled,<wbr/> overriding the application's selected
4210<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
4211<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4212<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4213routine is disabled.<wbr/> The applicantion manually controls the white
4214balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4215and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4216<p>When set to any other modes,<wbr/> the camera device's auto white balance
4217routine is disabled.<wbr/> The camera device uses each particular illumination
4218target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004219 </td>
4220 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004221
4222
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004223 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4224 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004225
4226
4227 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004228 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004229 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004230 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004231 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004232 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004233 <span class="entry_type_container">x</span>
4234
4235 <span class="entry_type_array">
4236 5 x area_count
4237 </span>
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
4241 </td> <!-- entry_type -->
4242
4243 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004244 <p>List of areas to use for illuminant
4245estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004246 </td>
4247
4248 <td class="entry_units">
4249 </td>
4250
4251 <td class="entry_range">
4252 </td>
4253
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004254 <td class="entry_tags">
4255 <ul class="entry_tags">
4256 <li><a href="#tag_BC">BC</a></li>
4257 </ul>
4258 </td>
4259
4260 </tr>
4261 <tr class="entries_header">
4262 <th class="th_details" colspan="5">Details</th>
4263 </tr>
4264 <tr class="entry_cont">
4265 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004266 <p>Only used in AUTO mode.<wbr/></p>
4267<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4268xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4269specified coordinates.<wbr/></p>
4270<p>The coordinate system is based on the active pixel array,<wbr/>
4271with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004272(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4273<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 -08004274bottom-right pixel in the active pixel array.<wbr/> The weight
4275should be nonnegative.<wbr/></p>
4276<p>If all regions have 0 weight,<wbr/> then no specific metering area
4277needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004278outside 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 -08004279should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004280used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004281 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004282 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004283
4284
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004285 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4286 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004287
4288
4289 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004290 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004291 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004292 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004293 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004294 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004295
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004296 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004297
4298 <ul class="entry_type_enum">
4299 <li>
4300 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004301 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4302starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004303 </li>
4304 <li>
4305 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004306 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004307values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004308 </li>
4309 <li>
4310 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004311 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004312current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004313 </li>
4314 <li>
4315 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004316 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004317 </li>
4318 </ul>
4319
4320 </td> <!-- entry_type -->
4321
4322 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004323 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004324 </td>
4325
4326 <td class="entry_units">
4327 </td>
4328
4329 <td class="entry_range">
4330 </td>
4331
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004332 <td class="entry_tags">
4333 </td>
4334
4335 </tr>
4336 <tr class="entries_header">
4337 <th class="th_details" colspan="5">Details</th>
4338 </tr>
4339 <tr class="entry_cont">
4340 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004341 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4342resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4343or <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
4344the algorithm states to INACTIVE.<wbr/></p>
4345<p>The camera device can do several state transitions between two results,<wbr/> if it is
4346allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4347a result.<wbr/></p>
4348<p>The state in the result is the state for this image (in sync with this image): if
4349AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4350be good to use.<wbr/></p>
4351<p>Below are state transition tables for different AWB modes.<wbr/></p>
4352<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4353<table>
4354<thead>
4355<tr>
4356<th align="center">State</th>
4357<th align="center">Transition Cause</th>
4358<th align="center">New State</th>
4359<th align="center">Notes</th>
4360</tr>
4361</thead>
4362<tbody>
4363<tr>
4364<td align="center">INACTIVE</td>
4365<td align="center"></td>
4366<td align="center">INACTIVE</td>
4367<td align="center">Camera device auto white balance algorithm is disabled</td>
4368</tr>
4369</tbody>
4370</table>
4371<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4372<table>
4373<thead>
4374<tr>
4375<th align="center">State</th>
4376<th align="center">Transition Cause</th>
4377<th align="center">New State</th>
4378<th align="center">Notes</th>
4379</tr>
4380</thead>
4381<tbody>
4382<tr>
4383<td align="center">INACTIVE</td>
4384<td align="center">Camera device initiates AWB scan</td>
4385<td align="center">SEARCHING</td>
4386<td align="center">Values changing</td>
4387</tr>
4388<tr>
4389<td align="center">INACTIVE</td>
4390<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4391<td align="center">LOCKED</td>
4392<td align="center">Values locked</td>
4393</tr>
4394<tr>
4395<td align="center">SEARCHING</td>
4396<td align="center">Camera device finishes AWB scan</td>
4397<td align="center">CONVERGED</td>
4398<td align="center">Good values,<wbr/> not changing</td>
4399</tr>
4400<tr>
4401<td align="center">SEARCHING</td>
4402<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4403<td align="center">LOCKED</td>
4404<td align="center">Values locked</td>
4405</tr>
4406<tr>
4407<td align="center">CONVERGED</td>
4408<td align="center">Camera device initiates AWB scan</td>
4409<td align="center">SEARCHING</td>
4410<td align="center">Values changing</td>
4411</tr>
4412<tr>
4413<td align="center">CONVERGED</td>
4414<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4415<td align="center">LOCKED</td>
4416<td align="center">Values locked</td>
4417</tr>
4418<tr>
4419<td align="center">LOCKED</td>
4420<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4421<td align="center">SEARCHING</td>
4422<td align="center">Values not good after unlock</td>
4423</tr>
4424<tr>
4425<td align="center">LOCKED</td>
4426<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4427<td align="center">CONVERGED</td>
4428<td align="center">Values good after unlock</td>
4429</tr>
4430</tbody>
4431</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004432 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004433 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004434
4435
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004436 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4437 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004438
4439
4440 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004441 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004442 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004443 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004444 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004445 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004446
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004447 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004448
4449 <ul class="entry_type_enum">
4450 <li>
4451 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004452 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4453routines are disabled,<wbr/> no other settings in
4454android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004455 </li>
4456 <li>
4457 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004458 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4459Manual control of capture parameters is disabled.<wbr/> All
4460controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4461effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004462 </li>
4463 <li>
4464 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004465 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4466control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4467controls; the HAL must ignore those settings while
4468USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4469scene mode).<wbr/> Other control entries are still active.<wbr/>
4470This setting can only be used if availableSceneModes !=
4471UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004472 </li>
4473 </ul>
4474
4475 </td> <!-- entry_type -->
4476
4477 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004478 <p>Overall mode of 3A control
4479routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004480 </td>
4481
4482 <td class="entry_units">
4483 </td>
4484
4485 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004486 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004487 </td>
4488
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004489 <td class="entry_tags">
4490 <ul class="entry_tags">
4491 <li><a href="#tag_BC">BC</a></li>
4492 </ul>
4493 </td>
4494
4495 </tr>
4496 <tr class="entries_header">
4497 <th class="th_details" colspan="5">Details</th>
4498 </tr>
4499 <tr class="entry_cont">
4500 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004501 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004502by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004503capture parameters itself.<wbr/></p>
4504<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004505android.<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 -08004506<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004507android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004508one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004509as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004510<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 -08004511 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004512 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004513
4514
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004515 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4516 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004517
4518
4519
4520 <!-- end of kind -->
4521 </tbody>
4522
4523 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004524 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004525
4526
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004527 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004528
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004529 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004530 <tr>
4531 <th class="th_name">Property Name</th>
4532 <th class="th_type">Type</th>
4533 <th class="th_description">Description</th>
4534 <th class="th_units">Units</th>
4535 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004536 <th class="th_tags">Tags</th>
4537 </tr>
4538 </thead>
4539
4540 <tbody>
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004552 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004553 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004554 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004555 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004556 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004557
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004558 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004559
4560 <ul class="entry_type_enum">
4561 <li>
4562 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004563 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4564Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004565 </li>
4566 <li>
4567 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004568 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4569rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004570 </li>
4571 </ul>
4572
4573 </td> <!-- entry_type -->
4574
4575 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004576 <p>Controls the quality of the demosaicing
4577processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004578 </td>
4579
4580 <td class="entry_units">
4581 </td>
4582
4583 <td class="entry_range">
4584 </td>
4585
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004586 <td class="entry_tags">
4587 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004588 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004589 </ul>
4590 </td>
4591
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004592 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004593
4594
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004595 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4596 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004597
4598
4599
4600 <!-- end of kind -->
4601 </tbody>
4602
4603 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004604 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004605
4606
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004607 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004608
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004609 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004610 <tr>
4611 <th class="th_name">Property Name</th>
4612 <th class="th_type">Type</th>
4613 <th class="th_description">Description</th>
4614 <th class="th_units">Units</th>
4615 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004616 <th class="th_tags">Tags</th>
4617 </tr>
4618 </thead>
4619
4620 <tbody>
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004632 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004633 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004634 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004635 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004636 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004637
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004638 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004639
4640 <ul class="entry_type_enum">
4641 <li>
4642 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004643 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004644 </li>
4645 <li>
4646 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004647 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4648output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004649 </li>
4650 <li>
4651 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004652 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4653quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004654 </li>
4655 </ul>
4656
4657 </td> <!-- entry_type -->
4658
4659 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004660 <p>Operation mode for edge
4661enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004662 </td>
4663
4664 <td class="entry_units">
4665 </td>
4666
4667 <td class="entry_range">
4668 </td>
4669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004670 <td class="entry_tags">
4671 </td>
4672
4673 </tr>
4674 <tr class="entries_header">
4675 <th class="th_details" colspan="5">Details</th>
4676 </tr>
4677 <tr class="entry_cont">
4678 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004679 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4680enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004681<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004682will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004683camera device will use the highest-quality enhancement algorithms,<wbr/>
4684even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004685not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004686 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004687 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004688
4689
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004690 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4691 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004692
4693
4694 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004695 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004696 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004697 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004699 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004701 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004702
4703
4704 </td> <!-- entry_type -->
4705
4706 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004707 <p>Control the amount of edge enhancement
4708applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004709 </td>
4710
4711 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004712 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004713 </td>
4714
4715 <td class="entry_range">
4716 </td>
4717
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004718 <td class="entry_tags">
4719 </td>
4720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004721 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004722
4723
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004724 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4725 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004726
4727
4728
4729 <!-- end of kind -->
4730 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004731 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004732
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004733 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004734 <tr>
4735 <th class="th_name">Property Name</th>
4736 <th class="th_type">Type</th>
4737 <th class="th_description">Description</th>
4738 <th class="th_units">Units</th>
4739 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004740 <th class="th_tags">Tags</th>
4741 </tr>
4742 </thead>
4743
4744 <tbody>
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004756 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004757 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004758 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004759 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004760 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004761
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004762 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004763
4764 <ul class="entry_type_enum">
4765 <li>
4766 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004767 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004768 </li>
4769 <li>
4770 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004771 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4772output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004773 </li>
4774 <li>
4775 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004776 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4777quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004778 </li>
4779 </ul>
4780
4781 </td> <!-- entry_type -->
4782
4783 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004784 <p>Operation mode for edge
4785enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004786 </td>
4787
4788 <td class="entry_units">
4789 </td>
4790
4791 <td class="entry_range">
4792 </td>
4793
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004794 <td class="entry_tags">
4795 </td>
4796
4797 </tr>
4798 <tr class="entries_header">
4799 <th class="th_details" colspan="5">Details</th>
4800 </tr>
4801 <tr class="entry_cont">
4802 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004803 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4804enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004805<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004806will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004807camera device will use the highest-quality enhancement algorithms,<wbr/>
4808even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004809not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004810 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004811 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004812
4813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004814 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4815 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004816
4817
4818
4819 <!-- end of kind -->
4820 </tbody>
4821
4822 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004823 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004824
4825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004826 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004827
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004828 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004829 <tr>
4830 <th class="th_name">Property Name</th>
4831 <th class="th_type">Type</th>
4832 <th class="th_description">Description</th>
4833 <th class="th_units">Units</th>
4834 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004835 <th class="th_tags">Tags</th>
4836 </tr>
4837 </thead>
4838
4839 <tbody>
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004851 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004852 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004853 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004855 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004856
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004857 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004858
4859
4860 </td> <!-- entry_type -->
4861
4862 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004863 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004864 </td>
4865
4866 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004867 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004868 </td>
4869
4870 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004871 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004872 </td>
4873
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004874 <td class="entry_tags">
4875 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004876 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004877 </ul>
4878 </td>
4879
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004880 </tr>
4881 <tr class="entries_header">
4882 <th class="th_details" colspan="5">Details</th>
4883 </tr>
4884 <tr class="entry_cont">
4885 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004886 <p>Power for snapshot may use a different scale than
4887for torch mode.<wbr/> Only one entry for torch mode will be
4888used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004889 </td>
4890 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004891
4892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4894 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004895
4896
4897 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004898 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004899 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004900 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004901 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004902 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004903
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004904 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004905
4906
4907 </td> <!-- entry_type -->
4908
4909 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004910 <p>Firing time of flash relative to start of
4911exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004912 </td>
4913
4914 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004915 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004916 </td>
4917
4918 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004919 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004920 </td>
4921
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004922 <td class="entry_tags">
4923 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004924 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004925 </ul>
4926 </td>
4927
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004928 </tr>
4929 <tr class="entries_header">
4930 <th class="th_details" colspan="5">Details</th>
4931 </tr>
4932 <tr class="entry_cont">
4933 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004934 <p>Clamped to (0,<wbr/> exposure time - flash
4935duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004936 </td>
4937 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004938
4939
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004940 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4941 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004942
4943
4944 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08004945 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004946 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004947 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004948 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004949 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004950
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004951 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952
4953 <ul class="entry_type_enum">
4954 <li>
4955 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08004956 <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 -08004957 </li>
4958 <li>
4959 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08004960 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
4961for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
4962<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963 </li>
4964 <li>
4965 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08004966 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004967 </li>
4968 </ul>
4969
4970 </td> <!-- entry_type -->
4971
4972 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08004973 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004974 </td>
4975
4976 <td class="entry_units">
4977 </td>
4978
4979 <td class="entry_range">
4980 </td>
4981
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004982 <td class="entry_tags">
4983 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004984 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004985 </ul>
4986 </td>
4987
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004988 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08004989 <tr class="entries_header">
4990 <th class="th_details" colspan="5">Details</th>
4991 </tr>
4992 <tr class="entry_cont">
4993 <td class="entry_details" colspan="5">
4994 <p>This control is only effective when flash unit is available
4995(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
4996<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/>
4997Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
4998ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
4999<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5000<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5001device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5002control should be used along with AE precapture metering sequence
5003(<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>
5004<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5005for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5006 </td>
5007 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005008
5009
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005010 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5011 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005012
5013
5014
5015 <!-- end of kind -->
5016 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005017 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005018
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005019 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005020 <tr>
5021 <th class="th_name">Property Name</th>
5022 <th class="th_type">Type</th>
5023 <th class="th_description">Description</th>
5024 <th class="th_units">Units</th>
5025 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005026 <th class="th_tags">Tags</th>
5027 </tr>
5028 </thead>
5029
5030 <tbody>
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005044 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005045 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005046 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005047 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005048 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005049
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005050 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005051
5052
5053 </td> <!-- entry_type -->
5054
5055 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005056 <p>Whether this camera has a
5057flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005058 </td>
5059
5060 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005061 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005062 </td>
5063
5064 <td class="entry_range">
5065 </td>
5066
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005067 <td class="entry_tags">
5068 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005069 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005070 </ul>
5071 </td>
5072
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005073 </tr>
5074 <tr class="entries_header">
5075 <th class="th_details" colspan="5">Details</th>
5076 </tr>
5077 <tr class="entry_cont">
5078 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005079 <p>If no flash,<wbr/> none of the flash controls do
5080anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005081 </td>
5082 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005083
5084
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005085 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5086 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005087
5088
5089 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005090 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005091 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005092 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005093 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005094 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005095
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005096 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005097
5098
5099 </td> <!-- entry_type -->
5100
5101 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005102 <p>Time taken before flash can fire
5103again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005104 </td>
5105
5106 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005107 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005108 </td>
5109
5110 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005111 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005112 </td>
5113
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005114 <td class="entry_tags">
5115 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005116 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005117 </ul>
5118 </td>
5119
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005120 </tr>
5121 <tr class="entries_header">
5122 <th class="th_details" colspan="5">Details</th>
5123 </tr>
5124 <tr class="entry_cont">
5125 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005126 <p>1 second too long/<wbr/>too short for recharge? Should
5127this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005128 </td>
5129 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005130
5131
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005132 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5133 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134
5135
5136
5137
5138
5139 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005140 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005141 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005142 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005143 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005144 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005145
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005146 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005147
5148
5149 </td> <!-- entry_type -->
5150
5151 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005152 <p>The x,<wbr/>y whitepoint of the
5153flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005154 </td>
5155
5156 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005157 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005158 </td>
5159
5160 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005161 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005162 </td>
5163
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005164 <td class="entry_tags">
5165 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005166 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005167 </ul>
5168 </td>
5169
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005170 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005171
5172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005173 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5174 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005175
5176
5177 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005178 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005179 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005180 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005181 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005182 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005183
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005184 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005185
5186
5187 </td> <!-- entry_type -->
5188
5189 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005190 <p>Max energy output of the flash for a full
5191power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005192 </td>
5193
5194 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005195 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196 </td>
5197
5198 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005199 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005200 </td>
5201
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005202 <td class="entry_tags">
5203 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005204 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005205 </ul>
5206 </td>
5207
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005208 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005209
5210
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005211 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5212 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005213
5214
5215
5216 <!-- end of kind -->
5217 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005218 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005219
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005220 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005221 <tr>
5222 <th class="th_name">Property Name</th>
5223 <th class="th_type">Type</th>
5224 <th class="th_description">Description</th>
5225 <th class="th_units">Units</th>
5226 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005227 <th class="th_tags">Tags</th>
5228 </tr>
5229 </thead>
5230
5231 <tbody>
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005243 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005244 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005245 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005246 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005247 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005248
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005249 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005250
5251
5252 </td> <!-- entry_type -->
5253
5254 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005255 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005256 </td>
5257
5258 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005259 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005260 </td>
5261
5262 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005263 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005264 </td>
5265
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005266 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005267 <ul class="entry_tags">
5268 <li><a href="#tag_V1">V1</a></li>
5269 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005270 </td>
5271
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005272 </tr>
5273 <tr class="entries_header">
5274 <th class="th_details" colspan="5">Details</th>
5275 </tr>
5276 <tr class="entry_cont">
5277 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005278 <p>Power for snapshot may use a different scale than
5279for torch mode.<wbr/> Only one entry for torch mode will be
5280used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005281 </td>
5282 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005283
5284
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005285 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5286 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005287
5288
5289 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005290 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005291 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005292 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005293 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005294 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005295
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005296 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005297
5298
5299 </td> <!-- entry_type -->
5300
5301 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005302 <p>Firing time of flash relative to start of
5303exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005304 </td>
5305
5306 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005307 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005308 </td>
5309
5310 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005311 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005312 </td>
5313
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005314 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005315 <ul class="entry_tags">
5316 <li><a href="#tag_V1">V1</a></li>
5317 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005318 </td>
5319
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005320 </tr>
5321 <tr class="entries_header">
5322 <th class="th_details" colspan="5">Details</th>
5323 </tr>
5324 <tr class="entry_cont">
5325 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005326 <p>Clamped to (0,<wbr/> exposure time - flash
5327duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005328 </td>
5329 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005330
5331
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005332 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5333 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005334
5335
5336 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005337 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005338 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005339 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005340 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005341 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005342
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005343 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005344
5345 <ul class="entry_type_enum">
5346 <li>
5347 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005348 <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 -08005349 </li>
5350 <li>
5351 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005352 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5353for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5354<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005355 </li>
5356 <li>
5357 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005358 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005359 </li>
5360 </ul>
5361
5362 </td> <!-- entry_type -->
5363
5364 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005365 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005366 </td>
5367
5368 <td class="entry_units">
5369 </td>
5370
5371 <td class="entry_range">
5372 </td>
5373
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005374 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005375 <ul class="entry_tags">
5376 <li><a href="#tag_BC">BC</a></li>
5377 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005378 </td>
5379
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005380 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005381 <tr class="entries_header">
5382 <th class="th_details" colspan="5">Details</th>
5383 </tr>
5384 <tr class="entry_cont">
5385 <td class="entry_details" colspan="5">
5386 <p>This control is only effective when flash unit is available
5387(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5388<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/>
5389Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5390ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5391<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5392<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5393device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5394control should be used along with AE precapture metering sequence
5395(<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>
5396<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5397for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5398 </td>
5399 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005400
5401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005402 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5403 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005404
5405
5406 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005407 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005408 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005409 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005410 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005411 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005412
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005413 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005414
5415 <ul class="entry_type_enum">
5416 <li>
5417 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005418 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005419 </li>
5420 <li>
5421 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005422 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5423charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005424 </li>
5425 <li>
5426 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005427 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5428ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005429 </li>
5430 <li>
5431 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005432 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5433for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005434 </li>
5435 </ul>
5436
5437 </td> <!-- entry_type -->
5438
5439 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005440 <p>Current state of the flash
5441unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442 </td>
5443
5444 <td class="entry_units">
5445 </td>
5446
5447 <td class="entry_range">
5448 </td>
5449
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005450 <td class="entry_tags">
5451 </td>
5452
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005453 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005454
5455
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005456 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5457 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005458
5459
5460
5461 <!-- end of kind -->
5462 </tbody>
5463
5464 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005465 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005466
5467
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005468 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005469
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005470 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005471 <tr>
5472 <th class="th_name">Property Name</th>
5473 <th class="th_type">Type</th>
5474 <th class="th_description">Description</th>
5475 <th class="th_units">Units</th>
5476 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005477 <th class="th_tags">Tags</th>
5478 </tr>
5479 </thead>
5480
5481 <tbody>
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005493 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005494 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005495 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005496 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005497 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005498
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005499 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005500
5501 <ul class="entry_type_enum">
5502 <li>
5503 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005504 <span class="entry_type_enum_notes"><p>No geometric correction is
5505applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005506 </li>
5507 <li>
5508 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005509 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5510bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005511 </li>
5512 <li>
5513 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005514 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5515quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005516 </li>
5517 </ul>
5518
5519 </td> <!-- entry_type -->
5520
5521 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005522 <p>Operating mode of geometric
5523correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005524 </td>
5525
5526 <td class="entry_units">
5527 </td>
5528
5529 <td class="entry_range">
5530 </td>
5531
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005532 <td class="entry_tags">
5533 </td>
5534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005535 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005536
5537
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005538 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5539 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005540
5541
5542 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005543 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005544 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005545 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005546 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005547 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005549 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005550
5551
5552 </td> <!-- entry_type -->
5553
5554 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005555 <p>Control the amount of shading correction
5556applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005557 </td>
5558
5559 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005560 unitless: 1-10; 10 is full shading
5561 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005562 </td>
5563
5564 <td class="entry_range">
5565 </td>
5566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005567 <td class="entry_tags">
5568 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005569 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005570 </ul>
5571 </td>
5572
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005573 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005574
5575
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005576 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5577 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005578
5579
5580
5581 <!-- end of kind -->
5582 </tbody>
5583
5584 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005585 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005586
5587
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005588 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005589
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005590 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005591 <tr>
5592 <th class="th_name">Property Name</th>
5593 <th class="th_type">Type</th>
5594 <th class="th_description">Description</th>
5595 <th class="th_units">Units</th>
5596 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005597 <th class="th_tags">Tags</th>
5598 </tr>
5599 </thead>
5600
5601 <tbody>
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005613 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005614 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005615 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005616 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005617 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005618
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005619 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005620
5621 <ul class="entry_type_enum">
5622 <li>
5623 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005624 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5625applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005626 </li>
5627 <li>
5628 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005629 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5630Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005631 </li>
5632 <li>
5633 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005634 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5635quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005636 </li>
5637 </ul>
5638
5639 </td> <!-- entry_type -->
5640
5641 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005642 <p>Set operational mode for hot pixel
5643correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005644 </td>
5645
5646 <td class="entry_units">
5647 </td>
5648
5649 <td class="entry_range">
5650 </td>
5651
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005652 <td class="entry_tags">
5653 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005654 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005655 </ul>
5656 </td>
5657
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005658 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005659
5660
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005661 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5662 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005663
5664
5665
5666 <!-- end of kind -->
5667 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005668 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005669
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005670 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005671 <tr>
5672 <th class="th_name">Property Name</th>
5673 <th class="th_type">Type</th>
5674 <th class="th_description">Description</th>
5675 <th class="th_units">Units</th>
5676 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005677 <th class="th_tags">Tags</th>
5678 </tr>
5679 </thead>
5680
5681 <tbody>
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005695 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005696 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005697 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005699 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005700 <span class="entry_type_container">x</span>
5701
5702 <span class="entry_type_array">
5703 2 x n
5704 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005705 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005706 <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 -08005707
5708
5709 </td> <!-- entry_type -->
5710
5711 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005712 <p>Location of hot/<wbr/>defective pixels on
5713sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005714 </td>
5715
5716 <td class="entry_units">
5717 </td>
5718
5719 <td class="entry_range">
5720 </td>
5721
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005722 <td class="entry_tags">
5723 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005724 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005725 </ul>
5726 </td>
5727
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005728 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005729
5730
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005731 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5732 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005733
5734
5735
5736
5737
5738
5739 <!-- end of kind -->
5740 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005741 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005742
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005743 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005744 <tr>
5745 <th class="th_name">Property Name</th>
5746 <th class="th_type">Type</th>
5747 <th class="th_description">Description</th>
5748 <th class="th_units">Units</th>
5749 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005750 <th class="th_tags">Tags</th>
5751 </tr>
5752 </thead>
5753
5754 <tbody>
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005766 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005767 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005768 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005769 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005770 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005771
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005772 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005773
5774 <ul class="entry_type_enum">
5775 <li>
5776 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005777 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5778applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005779 </li>
5780 <li>
5781 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005782 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5783Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005784 </li>
5785 <li>
5786 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005787 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5788quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005789 </li>
5790 </ul>
5791
5792 </td> <!-- entry_type -->
5793
5794 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005795 <p>Set operational mode for hot pixel
5796correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 </td>
5798
5799 <td class="entry_units">
5800 </td>
5801
5802 <td class="entry_range">
5803 </td>
5804
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005805 <td class="entry_tags">
5806 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005807 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005808 </ul>
5809 </td>
5810
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005811 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005812
5813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005814 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5815 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005816
5817
5818
5819 <!-- end of kind -->
5820 </tbody>
5821
5822 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005823 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005824
5825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005826 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005827
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005828 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005829 <tr>
5830 <th class="th_name">Property Name</th>
5831 <th class="th_type">Type</th>
5832 <th class="th_description">Description</th>
5833 <th class="th_units">Units</th>
5834 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005835 <th class="th_tags">Tags</th>
5836 </tr>
5837 </thead>
5838
5839 <tbody>
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005851 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005852 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005853 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005855 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856 <span class="entry_type_container">x</span>
5857
5858 <span class="entry_type_array">
5859 3
5860 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005861 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005862 <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 -08005863
5864
5865 </td> <!-- entry_type -->
5866
5867 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005868 <p>GPS coordinates to include in output JPEG
5869EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005870 </td>
5871
5872 <td class="entry_units">
5873 </td>
5874
5875 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005876 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005877 </td>
5878
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005879 <td class="entry_tags">
5880 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005881 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005882 </ul>
5883 </td>
5884
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005885 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005886
5887
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005888 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5889 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005890
5891
5892 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005893 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005894 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005895 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005896 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005897 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005898
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005899 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005900
5901
5902 </td> <!-- entry_type -->
5903
5904 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005905 <p>32 characters describing GPS algorithm to
5906include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005907 </td>
5908
5909 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005910 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005911 </td>
5912
5913 <td class="entry_range">
5914 </td>
5915
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005916 <td class="entry_tags">
5917 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005918 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005919 </ul>
5920 </td>
5921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005922 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005923
5924
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005925 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5926 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005927
5928
5929 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005930 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005931 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005932 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005933 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005934 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005936 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005937
5938
5939 </td> <!-- entry_type -->
5940
5941 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005942 <p>Time GPS fix was made to include in
5943EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005944 </td>
5945
5946 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005947 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005948 </td>
5949
5950 <td class="entry_range">
5951 </td>
5952
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005953 <td class="entry_tags">
5954 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005955 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005956 </ul>
5957 </td>
5958
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005959 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005960
5961
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005962 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5963 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005964
5965
5966 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005967 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005968 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005969 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005970 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005971 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005973 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005974
5975
5976 </td> <!-- entry_type -->
5977
5978 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005979 <p>Orientation of JPEG image to
5980write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005981 </td>
5982
5983 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005984 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005985 </td>
5986
5987 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005988 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005989 </td>
5990
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005991 <td class="entry_tags">
5992 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005993 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005994 </ul>
5995 </td>
5996
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005997 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005998
5999
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006000 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6001 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006002
6003
6004 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006005 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006006 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006007 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006008 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006009 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006010
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006011 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006012
6013
6014 </td> <!-- entry_type -->
6015
6016 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006017 <p>Compression quality of the final JPEG
6018image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006019 </td>
6020
6021 <td class="entry_units">
6022 </td>
6023
6024 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006025 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006026 </td>
6027
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006028 <td class="entry_tags">
6029 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006030 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006031 </ul>
6032 </td>
6033
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006034 </tr>
6035 <tr class="entries_header">
6036 <th class="th_details" colspan="5">Details</th>
6037 </tr>
6038 <tr class="entry_cont">
6039 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006040 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006041 </td>
6042 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006043
6044
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006045 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6046 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006047
6048
6049 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006050 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006051 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006052 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006053 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006054 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006056 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006057
6058
6059 </td> <!-- entry_type -->
6060
6061 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006062 <p>Compression quality of JPEG
6063thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006064 </td>
6065
6066 <td class="entry_units">
6067 </td>
6068
6069 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006070 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006071 </td>
6072
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006073 <td class="entry_tags">
6074 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006075 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006076 </ul>
6077 </td>
6078
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006079 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006080
6081
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006082 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6083 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006084
6085
6086 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006087 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006088 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006089 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006090 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006091 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006092 <span class="entry_type_container">x</span>
6093
6094 <span class="entry_type_array">
6095 2
6096 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006097 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098
6099
6100 </td> <!-- entry_type -->
6101
6102 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006103 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006104 </td>
6105
6106 <td class="entry_units">
6107 </td>
6108
6109 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006110 <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 -08006111 </td>
6112
6113 <td class="entry_tags">
6114 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006115 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006116 </ul>
6117 </td>
6118
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006119 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006120 <tr class="entries_header">
6121 <th class="th_details" colspan="5">Details</th>
6122 </tr>
6123 <tr class="entry_cont">
6124 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006125 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6126but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006127<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6128the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006129 </td>
6130 </tr>
6131
6132
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006133 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6134 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006135
6136
6137
6138 <!-- end of kind -->
6139 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006140 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006141
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006142 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143 <tr>
6144 <th class="th_name">Property Name</th>
6145 <th class="th_type">Type</th>
6146 <th class="th_description">Description</th>
6147 <th class="th_units">Units</th>
6148 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006149 <th class="th_tags">Tags</th>
6150 </tr>
6151 </thead>
6152
6153 <tbody>
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006165 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006166 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006167 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006168 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006169 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006170 <span class="entry_type_container">x</span>
6171
6172 <span class="entry_type_array">
6173 2 x n
6174 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006175 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006176
6177
6178 </td> <!-- entry_type -->
6179
6180 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006181 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006182 </td>
6183
6184 <td class="entry_units">
6185 </td>
6186
6187 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006188 <p>Will include at least one valid resolution,<wbr/> plus
6189(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006190 </td>
6191
6192 <td class="entry_tags">
6193 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006194 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006195 </ul>
6196 </td>
6197
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006198 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006199 <tr class="entries_header">
6200 <th class="th_details" colspan="5">Details</th>
6201 </tr>
6202 <tr class="entry_cont">
6203 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006204 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006205<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006206<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6207If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6208<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006209aspect 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 -08006210The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006211in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006212<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 -08006213one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6214and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006215<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006216</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006217 </td>
6218 </tr>
6219
6220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006221 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6222 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006223
6224
6225 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006226 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006227 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006228 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006229 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006230 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006231
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006232 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006233
6234
6235 </td> <!-- entry_type -->
6236
6237 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006238 <p>Maximum size in bytes for the compressed
6239JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006240 </td>
6241
6242 <td class="entry_units">
6243 </td>
6244
6245 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006246 <p>Must be large enough to fit any JPEG produced by
6247the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006248 </td>
6249
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006250 <td class="entry_tags">
6251 </td>
6252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006253 </tr>
6254 <tr class="entries_header">
6255 <th class="th_details" colspan="5">Details</th>
6256 </tr>
6257 <tr class="entry_cont">
6258 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006259 <p>This is used for sizing the gralloc buffers for
6260JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006261 </td>
6262 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006263
6264
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006265 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6266 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006267
6268
6269
6270 <!-- end of kind -->
6271 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006272 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006273
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006274 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006275 <tr>
6276 <th class="th_name">Property Name</th>
6277 <th class="th_type">Type</th>
6278 <th class="th_description">Description</th>
6279 <th class="th_units">Units</th>
6280 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006281 <th class="th_tags">Tags</th>
6282 </tr>
6283 </thead>
6284
6285 <tbody>
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006297 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006298 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006299 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006300 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006301 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006302 <span class="entry_type_container">x</span>
6303
6304 <span class="entry_type_array">
6305 3
6306 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006307 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006308 <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 -08006309
6310
6311 </td> <!-- entry_type -->
6312
6313 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006314 <p>GPS coordinates to include in output JPEG
6315EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006316 </td>
6317
6318 <td class="entry_units">
6319 </td>
6320
6321 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006322 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006323 </td>
6324
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006325 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006326 <ul class="entry_tags">
6327 <li><a href="#tag_BC">BC</a></li>
6328 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006329 </td>
6330
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006331 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006332
6333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006334 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6335 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006336
6337
6338 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006339 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006340 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006341 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006343 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006344
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006345 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006346
6347
6348 </td> <!-- entry_type -->
6349
6350 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006351 <p>32 characters describing GPS algorithm to
6352include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006353 </td>
6354
6355 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006356 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006357 </td>
6358
6359 <td class="entry_range">
6360 </td>
6361
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006362 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006363 <ul class="entry_tags">
6364 <li><a href="#tag_BC">BC</a></li>
6365 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006366 </td>
6367
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006368 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006369
6370
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006371 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6372 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006373
6374
6375 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006376 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006377 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006378 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006379 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006380 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006381
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006382 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006383
6384
6385 </td> <!-- entry_type -->
6386
6387 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006388 <p>Time GPS fix was made to include in
6389EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006390 </td>
6391
6392 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006393 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006394 </td>
6395
6396 <td class="entry_range">
6397 </td>
6398
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006399 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006400 <ul class="entry_tags">
6401 <li><a href="#tag_BC">BC</a></li>
6402 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006403 </td>
6404
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006405 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006406
6407
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006408 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6409 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006410
6411
6412 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006413 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006414 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006415 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006416 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006417 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006418
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006419 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006420
6421
6422 </td> <!-- entry_type -->
6423
6424 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006425 <p>Orientation of JPEG image to
6426write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006427 </td>
6428
6429 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006430 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006431 </td>
6432
6433 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006434 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006435 </td>
6436
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006437 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006438 <ul class="entry_tags">
6439 <li><a href="#tag_BC">BC</a></li>
6440 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006441 </td>
6442
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006443 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006444
6445
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006446 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6447 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006448
6449
6450 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006451 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006452 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006453 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006454 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006455 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006456
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006457 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006458
6459
6460 </td> <!-- entry_type -->
6461
6462 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006463 <p>Compression quality of the final JPEG
6464image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006465 </td>
6466
6467 <td class="entry_units">
6468 </td>
6469
6470 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006471 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006472 </td>
6473
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006474 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006475 <ul class="entry_tags">
6476 <li><a href="#tag_BC">BC</a></li>
6477 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006478 </td>
6479
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006480 </tr>
6481 <tr class="entries_header">
6482 <th class="th_details" colspan="5">Details</th>
6483 </tr>
6484 <tr class="entry_cont">
6485 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006486 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006487 </td>
6488 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006489
6490
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006491 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6492 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006493
6494
6495 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006496 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006497 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006498 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006499 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006500 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006501
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006502 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006503
6504
6505 </td> <!-- entry_type -->
6506
6507 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006508 <p>The size of the compressed JPEG image,<wbr/> in
6509bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006510 </td>
6511
6512 <td class="entry_units">
6513 </td>
6514
6515 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006516 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006517 </td>
6518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006519 <td class="entry_tags">
6520 </td>
6521
6522 </tr>
6523 <tr class="entries_header">
6524 <th class="th_details" colspan="5">Details</th>
6525 </tr>
6526 <tr class="entry_cont">
6527 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006528 <p>If no JPEG output is produced for the request,<wbr/>
6529this must be 0.<wbr/></p>
6530<p>Otherwise,<wbr/> this describes the real size of the compressed
6531JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006532if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6533has <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 -08006534the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6535500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006536 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006537 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006538
6539
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006540 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6541 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006542
6543
6544 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006545 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006546 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006547 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006548 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006549 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006550
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006551 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006552
6553
6554 </td> <!-- entry_type -->
6555
6556 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006557 <p>Compression quality of JPEG
6558thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006559 </td>
6560
6561 <td class="entry_units">
6562 </td>
6563
6564 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006565 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006566 </td>
6567
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006568 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006569 <ul class="entry_tags">
6570 <li><a href="#tag_BC">BC</a></li>
6571 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006572 </td>
6573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006574 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006575
6576
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006577 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6578 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006579
6580
6581 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006582 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006583 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006584 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006585 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006586 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006587 <span class="entry_type_container">x</span>
6588
6589 <span class="entry_type_array">
6590 2
6591 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006592 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006593
6594
6595 </td> <!-- entry_type -->
6596
6597 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006598 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006599 </td>
6600
6601 <td class="entry_units">
6602 </td>
6603
6604 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006605 <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 -08006606 </td>
6607
6608 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006609 <ul class="entry_tags">
6610 <li><a href="#tag_BC">BC</a></li>
6611 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006612 </td>
6613
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006614 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006615 <tr class="entries_header">
6616 <th class="th_details" colspan="5">Details</th>
6617 </tr>
6618 <tr class="entry_cont">
6619 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006620 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6621but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006622<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6623the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006624 </td>
6625 </tr>
6626
6627
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006628 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6629 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006630
6631
6632
6633 <!-- end of kind -->
6634 </tbody>
6635
6636 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006637 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006638
6639
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006640 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006641
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006642 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006643 <tr>
6644 <th class="th_name">Property Name</th>
6645 <th class="th_type">Type</th>
6646 <th class="th_description">Description</th>
6647 <th class="th_units">Units</th>
6648 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006649 <th class="th_tags">Tags</th>
6650 </tr>
6651 </thead>
6652
6653 <tbody>
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006665 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006666 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006667 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006669 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006670
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006671 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006672
6673
6674 </td> <!-- entry_type -->
6675
6676 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006677 <p>The ratio of lens focal length to the effective
6678aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006679 </td>
6680
6681 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006682 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006683 </td>
6684
6685 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006686 <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 -08006687 </td>
6688
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006689 <td class="entry_tags">
6690 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006691 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006692 </ul>
6693 </td>
6694
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006695 </tr>
6696 <tr class="entries_header">
6697 <th class="th_details" colspan="5">Details</th>
6698 </tr>
6699 <tr class="entry_cont">
6700 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006701 <p>This will only be supported on the camera devices that
6702have variable aperture lens.<wbr/> The aperture value can only be
6703one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6704<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6705this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6706<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6707to achieve manual exposure control.<wbr/></p>
6708<p>The requested aperture value may take several frames to reach the
6709requested value; the camera device will report the current (intermediate)
6710aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6711<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6712the ON modes,<wbr/> this will be overridden by the camera device
6713auto-exposure algorithm,<wbr/> the overridden values are then provided
6714back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006715 </td>
6716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006717
6718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006719 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6720 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006721
6722
6723 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006724 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006725 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006726 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006728 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006729
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006730 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006731
6732
6733 </td> <!-- entry_type -->
6734
6735 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006736 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006737 </td>
6738
6739 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006740 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006741 </td>
6742
6743 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006744 <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 -08006745 </td>
6746
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006747 <td class="entry_tags">
6748 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006749 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006750 </ul>
6751 </td>
6752
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006753 </tr>
6754 <tr class="entries_header">
6755 <th class="th_details" colspan="5">Details</th>
6756 </tr>
6757 <tr class="entry_cont">
6758 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006759 <p>This will not be supported on most camera devices.<wbr/> On devices
6760where this is supported,<wbr/> this may only be set to one of the
6761values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6762<p>Lens filters are typically used to lower the amount of light the
6763sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6764step is the standard logarithmic representation,<wbr/> which are
6765non-negative,<wbr/> and inversely proportional to the amount of light
6766hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6767in no reduction of the incoming light,<wbr/> and setting this to 2 would
6768mean that the filter is set to reduce incoming light by two stops
6769(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006770 </td>
6771 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006772
6773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006774 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6775 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006776
6777
6778 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006779 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006780 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006781 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006782 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006783 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006784
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006785 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006786
6787
6788 </td> <!-- entry_type -->
6789
6790 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006791 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006792 </td>
6793
6794 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006795 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006796 </td>
6797
6798 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006799 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800 </td>
6801
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006802 <td class="entry_tags">
6803 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006804 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006805 </ul>
6806 </td>
6807
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006808 </tr>
6809 <tr class="entries_header">
6810 <th class="th_details" colspan="5">Details</th>
6811 </tr>
6812 <tr class="entry_cont">
6813 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006814 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006815 </td>
6816 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006817
6818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006819 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6820 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006821
6822
6823 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006824 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006825 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006826 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006827 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006828 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006829
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006830 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006831
6832
6833 </td> <!-- entry_type -->
6834
6835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006836 <p>Distance to plane of sharpest focus,<wbr/>
6837measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006838 </td>
6839
6840 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006841 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006842 </td>
6843
6844 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006845 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006846 </td>
6847
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006848 <td class="entry_tags">
6849 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006850 <li><a href="#tag_BC">BC</a></li>
6851 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006852 </ul>
6853 </td>
6854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006855 </tr>
6856 <tr class="entries_header">
6857 <th class="th_details" colspan="5">Details</th>
6858 </tr>
6859 <tr class="entry_cont">
6860 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006861 <p>0 = infinity focus.<wbr/> Used value should be clamped
6862to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006863 </td>
6864 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006865
6866
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006867 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6868 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869
6870
6871 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006872 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006873 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006874 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006875 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006876 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006877
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006878 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006879
6880 <ul class="entry_type_enum">
6881 <li>
6882 <span class="entry_type_enum_name">OFF</span>
6883 </li>
6884 <li>
6885 <span class="entry_type_enum_name">ON</span>
6886 <span class="entry_type_enum_optional">optional</span>
6887 </li>
6888 </ul>
6889
6890 </td> <!-- entry_type -->
6891
6892 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006893 <p>Whether optical image stabilization is
6894enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006895 </td>
6896
6897 <td class="entry_units">
6898 </td>
6899
6900 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006901 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006902 </td>
6903
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006904 <td class="entry_tags">
6905 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006906 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006907 </ul>
6908 </td>
6909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006910 </tr>
6911 <tr class="entries_header">
6912 <th class="th_details" colspan="5">Details</th>
6913 </tr>
6914 <tr class="entry_cont">
6915 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006916 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006917 </td>
6918 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006919
6920
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006921 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6922 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006923
6924
6925
6926 <!-- end of kind -->
6927 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006928 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006930 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006931 <tr>
6932 <th class="th_name">Property Name</th>
6933 <th class="th_type">Type</th>
6934 <th class="th_description">Description</th>
6935 <th class="th_units">Units</th>
6936 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006937 <th class="th_tags">Tags</th>
6938 </tr>
6939 </thead>
6940
6941 <tbody>
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006955 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006956 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006957 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006958 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006959 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006960 <span class="entry_type_container">x</span>
6961
6962 <span class="entry_type_array">
6963 n
6964 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006965 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006966
6967
6968 </td> <!-- entry_type -->
6969
6970 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006971 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08006972values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006973 </td>
6974
6975 <td class="entry_units">
6976 </td>
6977
6978 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08006979 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006980 </td>
6981
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982 <td class="entry_tags">
6983 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006984 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006985 </ul>
6986 </td>
6987
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006988 </tr>
6989 <tr class="entries_header">
6990 <th class="th_details" colspan="5">Details</th>
6991 </tr>
6992 <tr class="entry_cont">
6993 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006994 <p>If the camera device doesn't support variable apertures,<wbr/>
6995listed value will be the fixed aperture.<wbr/></p>
6996<p>If the camera device supports variable apertures,<wbr/> the aperture value
6997in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006998 </td>
6999 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007000
7001
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007002 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7003 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007004
7005
7006 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007007 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007008 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007009 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007010 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007011 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007012 <span class="entry_type_container">x</span>
7013
7014 <span class="entry_type_array">
7015 n
7016 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007017 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007018
7019
7020 </td> <!-- entry_type -->
7021
7022 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007023 <p>List of supported neutral density filter values for
7024<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025 </td>
7026
7027 <td class="entry_units">
7028 </td>
7029
7030 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007031 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007032 </td>
7033
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007034 <td class="entry_tags">
7035 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007036 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007037 </ul>
7038 </td>
7039
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007040 </tr>
7041 <tr class="entries_header">
7042 <th class="th_details" colspan="5">Details</th>
7043 </tr>
7044 <tr class="entry_cont">
7045 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007046 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7047availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7048list contains only the exact filter density values available on
7049this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007050 </td>
7051 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007052
7053
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007054 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7055 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007056
7057
7058 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007059 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007060 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007061 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007062 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007063 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007064 <span class="entry_type_container">x</span>
7065
7066 <span class="entry_type_array">
7067 n
7068 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007069 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007070 <div class="entry_type_notes">the list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007071
7072
7073 </td> <!-- entry_type -->
7074
7075 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007076 <p>If fitted with optical zoom,<wbr/> what focal
7077lengths are available.<wbr/> If not,<wbr/> the static focal
7078length</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007079 </td>
7080
7081 <td class="entry_units">
7082 </td>
7083
7084 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007085 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007086 </td>
7087
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007088 <td class="entry_tags">
7089 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007090 <li><a href="#tag_BC">BC</a></li>
7091 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007092 </ul>
7093 </td>
7094
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007095 </tr>
7096 <tr class="entries_header">
7097 <th class="th_details" colspan="5">Details</th>
7098 </tr>
7099 <tr class="entry_cont">
7100 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007101 <p>If optical zoom not supported,<wbr/> only one value
7102should be reported</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007103 </td>
7104 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007105
7106
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007107 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7108 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007109
7110
7111 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007112 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007113 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007114 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007115 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007116 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007117 <span class="entry_type_container">x</span>
7118
7119 <span class="entry_type_array">
7120 n
7121 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007122 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007123 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007124
7125
7126 </td> <!-- entry_type -->
7127
7128 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007129 <p>List of supported optical image
7130stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007131 </td>
7132
7133 <td class="entry_units">
7134 </td>
7135
7136 <td class="entry_range">
7137 </td>
7138
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007139 <td class="entry_tags">
7140 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007141 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007142 </ul>
7143 </td>
7144
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007145 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007146
7147
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007148 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7149 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007150
7151
7152 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007153 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007154 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007155 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007156 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007157 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007158 <span class="entry_type_container">x</span>
7159
7160 <span class="entry_type_array">
7161 2 x 3 x n x m
7162 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007163 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007164 <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 -08007165
7166
7167 </td> <!-- entry_type -->
7168
7169 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007170 <p>A low-resolution map for correction of
7171geometric distortions and chromatic aberrations,<wbr/> per
7172color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007173 </td>
7174
7175 <td class="entry_units">
7176 </td>
7177
7178 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007179 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007180 </td>
7181
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007182 <td class="entry_tags">
7183 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007184 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007185 </ul>
7186 </td>
7187
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007188 </tr>
7189 <tr class="entries_header">
7190 <th class="th_details" colspan="5">Details</th>
7191 </tr>
7192 <tr class="entry_cont">
7193 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007194 <p>[DNG wants a function instead].<wbr/> What's easiest
7195for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7196j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7197j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7198entry 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 -08007199 </td>
7200 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007201
7202
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007203 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7204 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007205
7206
7207 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007208 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007209 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007210 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007211 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007212 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007213 <span class="entry_type_container">x</span>
7214
7215 <span class="entry_type_array">
7216 2
7217 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007218 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007219 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007220
7221
7222 </td> <!-- entry_type -->
7223
7224 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007225 <p>Dimensions of geometric correction
7226map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007227 </td>
7228
7229 <td class="entry_units">
7230 </td>
7231
7232 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007233 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007234 </td>
7235
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007236 <td class="entry_tags">
7237 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007238 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007239 </ul>
7240 </td>
7241
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007242 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007243
7244
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007245 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7246 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007247
7248
7249 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007250 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007251 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007252 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007253 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007254 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007255
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007256 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007257
7258
7259 </td> <!-- entry_type -->
7260
7261 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007262 <p>Hyperfocal distance for this lens; set to
72630 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007264 </td>
7265
7266 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007267 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007268 </td>
7269
7270 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007271 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007272 </td>
7273
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007274 <td class="entry_tags">
7275 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007276 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007277 </ul>
7278 </td>
7279
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007280 </tr>
7281 <tr class="entries_header">
7282 <th class="th_details" colspan="5">Details</th>
7283 </tr>
7284 <tr class="entry_cont">
7285 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007286 <p>The hyperfocal distance is used for the old
7287API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007288 </td>
7289 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007290
7291
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007292 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7293 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007294
7295
7296 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007297 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007298 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007299 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007300 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007301 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007302
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007303 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007304
7305
7306 </td> <!-- entry_type -->
7307
7308 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007309 <p>Shortest distance from frontmost surface
7310of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007311 </td>
7312
7313 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007314 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007315 </td>
7316
7317 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007318 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007319 </td>
7320
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007321 <td class="entry_tags">
7322 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007323 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007324 </ul>
7325 </td>
7326
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007327 </tr>
7328 <tr class="entries_header">
7329 <th class="th_details" colspan="5">Details</th>
7330 </tr>
7331 <tr class="entry_cont">
7332 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007333 <p>If the lens is fixed-focus,<wbr/> this should be
73340</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007335 </td>
7336 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007337
7338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007339 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7340 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007341
7342
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007343 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007344 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007345 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007346 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007347 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007348 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007349 <span class="entry_type_container">x</span>
7350
7351 <span class="entry_type_array">
7352 2
7353 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007354 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007355 <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 -08007356
7357
7358 </td> <!-- entry_type -->
7359
7360 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007361 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007362 </td>
7363
7364 <td class="entry_units">
7365 </td>
7366
7367 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007368 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007369 </td>
7370
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007371 <td class="entry_tags">
7372 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007373 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007374 </ul>
7375 </td>
7376
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007377 </tr>
7378 <tr class="entries_header">
7379 <th class="th_details" colspan="5">Details</th>
7380 </tr>
7381 <tr class="entry_cont">
7382 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007383 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7384must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007385 </td>
7386 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007387
7388
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007389 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7390 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391
7392
7393
7394
7395
7396 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007397 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007398 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007399 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007400 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007401 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007402
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007403 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007404
7405 <ul class="entry_type_enum">
7406 <li>
7407 <span class="entry_type_enum_name">FRONT</span>
7408 </li>
7409 <li>
7410 <span class="entry_type_enum_name">BACK</span>
7411 </li>
7412 </ul>
7413
7414 </td> <!-- entry_type -->
7415
7416 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007417 <p>Direction the camera faces relative to
7418device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007419 </td>
7420
7421 <td class="entry_units">
7422 </td>
7423
7424 <td class="entry_range">
7425 </td>
7426
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007427 <td class="entry_tags">
7428 </td>
7429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007430 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007431
7432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007433 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7434 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007435
7436
7437 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007438 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007439 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007440 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007441 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007442 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007443 <span class="entry_type_container">x</span>
7444
7445 <span class="entry_type_array">
7446 2
7447 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007448 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007449 <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 -08007450
7451
7452 </td> <!-- entry_type -->
7453
7454 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007455 <p>Relative angle of camera optical axis to the
7456perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457 </td>
7458
7459 <td class="entry_units">
7460 </td>
7461
7462 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007463 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007464 </td>
7465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007466 <td class="entry_tags">
7467 <ul class="entry_tags">
7468 <li><a href="#tag_ADV">ADV</a></li>
7469 </ul>
7470 </td>
7471
7472 </tr>
7473 <tr class="entries_header">
7474 <th class="th_details" colspan="5">Details</th>
7475 </tr>
7476 <tr class="entry_cont">
7477 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007478 <p>Examples:</p>
7479<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007480is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007481<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007482device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007483<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7484the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007485<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007486direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007487 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007488 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007489
7490
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007491 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7492 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007493
7494
7495 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007496 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007497 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007498 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007499 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007500 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007501 <span class="entry_type_container">x</span>
7502
7503 <span class="entry_type_array">
7504 3, location in mm, in the sensor coordinate
7505 system
7506 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007507 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508
7509
7510 </td> <!-- entry_type -->
7511
7512 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007513 <p>Coordinates of camera optical axis on
7514device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007515 </td>
7516
7517 <td class="entry_units">
7518 </td>
7519
7520 <td class="entry_range">
7521 </td>
7522
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007523 <td class="entry_tags">
7524 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007525 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007526 </ul>
7527 </td>
7528
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007529 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007530
7531
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007532 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7533 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007534
7535
7536
7537 <!-- end of kind -->
7538 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007539 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007540
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007541 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007542 <tr>
7543 <th class="th_name">Property Name</th>
7544 <th class="th_type">Type</th>
7545 <th class="th_description">Description</th>
7546 <th class="th_units">Units</th>
7547 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007548 <th class="th_tags">Tags</th>
7549 </tr>
7550 </thead>
7551
7552 <tbody>
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007564 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007565 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007566 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007567 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007568 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007569
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007570 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007571
7572
7573 </td> <!-- entry_type -->
7574
7575 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007576 <p>The ratio of lens focal length to the effective
7577aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007578 </td>
7579
7580 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007581 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007582 </td>
7583
7584 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007585 <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 -08007586 </td>
7587
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007588 <td class="entry_tags">
7589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007590 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007591 </ul>
7592 </td>
7593
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007594 </tr>
7595 <tr class="entries_header">
7596 <th class="th_details" colspan="5">Details</th>
7597 </tr>
7598 <tr class="entry_cont">
7599 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007600 <p>This will only be supported on the camera devices that
7601have variable aperture lens.<wbr/> The aperture value can only be
7602one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7603<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7604this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7605<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7606to achieve manual exposure control.<wbr/></p>
7607<p>The requested aperture value may take several frames to reach the
7608requested value; the camera device will report the current (intermediate)
7609aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7610<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7611the ON modes,<wbr/> this will be overridden by the camera device
7612auto-exposure algorithm,<wbr/> the overridden values are then provided
7613back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007614 </td>
7615 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007616
7617
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007618 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7619 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007620
7621
7622 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007623 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007624 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007625 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007626 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007627 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007628
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007629 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630
7631
7632 </td> <!-- entry_type -->
7633
7634 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007635 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636 </td>
7637
7638 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007639 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007640 </td>
7641
7642 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007643 <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 -08007644 </td>
7645
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007646 <td class="entry_tags">
7647 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007648 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007649 </ul>
7650 </td>
7651
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007652 </tr>
7653 <tr class="entries_header">
7654 <th class="th_details" colspan="5">Details</th>
7655 </tr>
7656 <tr class="entry_cont">
7657 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007658 <p>This will not be supported on most camera devices.<wbr/> On devices
7659where this is supported,<wbr/> this may only be set to one of the
7660values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7661<p>Lens filters are typically used to lower the amount of light the
7662sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7663step is the standard logarithmic representation,<wbr/> which are
7664non-negative,<wbr/> and inversely proportional to the amount of light
7665hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7666in no reduction of the incoming light,<wbr/> and setting this to 2 would
7667mean that the filter is set to reduce incoming light by two stops
7668(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007669 </td>
7670 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007671
7672
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007673 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7674 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007675
7676
7677 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007678 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007679 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007680 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007681 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007682 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007683
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007684 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007685
7686
7687 </td> <!-- entry_type -->
7688
7689 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007690 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007691 </td>
7692
7693 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007694 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007695 </td>
7696
7697 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007698 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007699 </td>
7700
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007701 <td class="entry_tags">
7702 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007703 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007704 </ul>
7705 </td>
7706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007707 </tr>
7708 <tr class="entries_header">
7709 <th class="th_details" colspan="5">Details</th>
7710 </tr>
7711 <tr class="entry_cont">
7712 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007713 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007714 </td>
7715 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007716
7717
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007718 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7719 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007720
7721
7722 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007723 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007724 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007725 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007726 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007727 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007728
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007729 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007730
7731
7732 </td> <!-- entry_type -->
7733
7734 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007735 <p>Distance to plane of sharpest focus,<wbr/>
7736measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007737 </td>
7738
7739 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007740 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007741 </td>
7742
7743 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007744 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007745 </td>
7746
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007747 <td class="entry_tags">
7748 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007749 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007750 </ul>
7751 </td>
7752
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007753 </tr>
7754 <tr class="entries_header">
7755 <th class="th_details" colspan="5">Details</th>
7756 </tr>
7757 <tr class="entry_cont">
7758 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007759 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007760 </td>
7761 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007762
7763
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007764 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7765 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007766
7767
7768 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007769 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007770 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007771 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007772 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007773 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007774 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007775
Zhijun He50451ad2013-09-26 10:27:47 -07007776 <span class="entry_type_array">
7777 2
7778 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007779 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007780 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007781
7782
7783 </td> <!-- entry_type -->
7784
7785 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007786 <p>The range of scene distances that are in
7787sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007788 </td>
7789
7790 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007791 pair of focus distances in diopters: (near,<wbr/>
7792 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007793 </td>
7794
7795 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007796 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007797 </td>
7798
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007799 <td class="entry_tags">
7800 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007801 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007802 </ul>
7803 </td>
7804
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007805 </tr>
7806 <tr class="entries_header">
7807 <th class="th_details" colspan="5">Details</th>
7808 </tr>
7809 <tr class="entry_cont">
7810 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007811 <p>If variable focus not supported,<wbr/> can still report
7812fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007813 </td>
7814 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007815
7816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007817 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7818 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007819
7820
7821 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007823 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007824 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007825 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007826 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007827
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007828 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007829
7830 <ul class="entry_type_enum">
7831 <li>
7832 <span class="entry_type_enum_name">OFF</span>
7833 </li>
7834 <li>
7835 <span class="entry_type_enum_name">ON</span>
7836 <span class="entry_type_enum_optional">optional</span>
7837 </li>
7838 </ul>
7839
7840 </td> <!-- entry_type -->
7841
7842 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007843 <p>Whether optical image stabilization is
7844enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007845 </td>
7846
7847 <td class="entry_units">
7848 </td>
7849
7850 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007851 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007852 </td>
7853
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007854 <td class="entry_tags">
7855 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007856 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007857 </ul>
7858 </td>
7859
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007860 </tr>
7861 <tr class="entries_header">
7862 <th class="th_details" colspan="5">Details</th>
7863 </tr>
7864 <tr class="entry_cont">
7865 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007866 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007867 </td>
7868 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007869
7870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007871 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7872 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007873
7874
7875 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007876 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007877 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007878 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007879 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007880 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007881
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007882 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007883
7884 <ul class="entry_type_enum">
7885 <li>
7886 <span class="entry_type_enum_name">STATIONARY</span>
7887 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07007888 <li>
7889 <span class="entry_type_enum_name">MOVING</span>
7890 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007891 </ul>
7892
7893 </td> <!-- entry_type -->
7894
7895 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007896 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007897 </td>
7898
7899 <td class="entry_units">
7900 </td>
7901
7902 <td class="entry_range">
7903 </td>
7904
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007905 <td class="entry_tags">
7906 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007907 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007908 </ul>
7909 </td>
7910
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007911 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007912
7913
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007914 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7915 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007916
7917
7918
7919 <!-- end of kind -->
7920 </tbody>
7921
7922 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007923 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007924
7925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007926 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007927
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007928 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007929 <tr>
7930 <th class="th_name">Property Name</th>
7931 <th class="th_type">Type</th>
7932 <th class="th_description">Description</th>
7933 <th class="th_units">Units</th>
7934 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007935 <th class="th_tags">Tags</th>
7936 </tr>
7937 </thead>
7938
7939 <tbody>
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007951 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007952 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007953 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007955 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007957 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007958
7959 <ul class="entry_type_enum">
7960 <li>
7961 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08007962 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007963 </li>
7964 <li>
7965 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08007966 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
7967output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007968 </li>
7969 <li>
7970 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08007971 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
7972quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007973 </li>
7974 </ul>
7975
7976 </td> <!-- entry_type -->
7977
7978 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007979 <p>Mode of operation for the noise reduction
7980algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007981 </td>
7982
7983 <td class="entry_units">
7984 </td>
7985
7986 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007987 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007988 </td>
7989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007990 <td class="entry_tags">
7991 <ul class="entry_tags">
7992 <li><a href="#tag_V1">V1</a></li>
7993 </ul>
7994 </td>
7995
7996 </tr>
7997 <tr class="entries_header">
7998 <th class="th_details" colspan="5">Details</th>
7999 </tr>
8000 <tr class="entry_cont">
8001 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008002 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8003will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008004<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8005will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8006will use the highest-quality noise filtering algorithms,<wbr/>
8007even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008008slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008009 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008010 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008011
8012
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008013 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8014 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008015
8016
8017 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008018 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008019 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008020 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008022 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008024 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008025
8026
8027 </td> <!-- entry_type -->
8028
8029 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008030 <p>Control the amount of noise reduction
8031applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008032 </td>
8033
8034 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008035 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008036 </td>
8037
8038 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008039 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008040 </td>
8041
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008042 <td class="entry_tags">
8043 </td>
8044
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008045 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008046
8047
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008048 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8049 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008050
8051
8052
8053 <!-- end of kind -->
8054 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008055 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008056
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008057 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008058 <tr>
8059 <th class="th_name">Property Name</th>
8060 <th class="th_type">Type</th>
8061 <th class="th_description">Description</th>
8062 <th class="th_units">Units</th>
8063 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008064 <th class="th_tags">Tags</th>
8065 </tr>
8066 </thead>
8067
8068 <tbody>
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008080 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008081 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008082 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008083 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008084 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008085
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008086 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008087
8088 <ul class="entry_type_enum">
8089 <li>
8090 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008091 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008092 </li>
8093 <li>
8094 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008095 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8096output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008097 </li>
8098 <li>
8099 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008100 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8101quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102 </li>
8103 </ul>
8104
8105 </td> <!-- entry_type -->
8106
8107 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008108 <p>Mode of operation for the noise reduction
8109algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008110 </td>
8111
8112 <td class="entry_units">
8113 </td>
8114
8115 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008116 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008117 </td>
8118
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008119 <td class="entry_tags">
8120 <ul class="entry_tags">
8121 <li><a href="#tag_V1">V1</a></li>
8122 </ul>
8123 </td>
8124
8125 </tr>
8126 <tr class="entries_header">
8127 <th class="th_details" colspan="5">Details</th>
8128 </tr>
8129 <tr class="entry_cont">
8130 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008131 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8132will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008133<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8134will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8135will use the highest-quality noise filtering algorithms,<wbr/>
8136even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008137slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008138 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008139 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008140
8141
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008142 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8143 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008144
8145
8146
8147 <!-- end of kind -->
8148 </tbody>
8149
8150 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008151 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008152
8153
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008154 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008155
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008156 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008157 <tr>
8158 <th class="th_name">Property Name</th>
8159 <th class="th_type">Type</th>
8160 <th class="th_description">Description</th>
8161 <th class="th_units">Units</th>
8162 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008163 <th class="th_tags">Tags</th>
8164 </tr>
8165 </thead>
8166
8167 <tbody>
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008179 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008180 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008183 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008184
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008185 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008186
8187
8188 </td> <!-- entry_type -->
8189
8190 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008191 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008192scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008193region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8194and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008195 </td>
8196
8197 <td class="entry_units">
8198 </td>
8199
8200 <td class="entry_range">
8201 </td>
8202
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008203 <td class="entry_tags">
8204 </td>
8205
8206 </tr>
8207 <tr class="entries_header">
8208 <th class="th_details" colspan="5">Details</th>
8209 </tr>
8210 <tr class="entry_cont">
8211 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008212 <p>Normalized coordinates refer to those in the
8213(-1000,<wbr/>1000) range mentioned in the
8214android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008215<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008216sensor array-relative coordinates for all region data.<wbr/> Does
8217not need to be listed in static metadata.<wbr/> Support will be
8218removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008219 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008220 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008221
8222
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008223 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8224 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008225
8226
8227 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008228 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008229 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008230 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008231 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008232 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008234 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008235
8236
8237 </td> <!-- entry_type -->
8238
8239 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008240 <p>If set to 1,<wbr/> then the camera service always
8241switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8242trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008243 </td>
8244
8245 <td class="entry_units">
8246 </td>
8247
8248 <td class="entry_range">
8249 </td>
8250
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008251 <td class="entry_tags">
8252 </td>
8253
8254 </tr>
8255 <tr class="entries_header">
8256 <th class="th_details" colspan="5">Details</th>
8257 </tr>
8258 <tr class="entry_cont">
8259 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008260 <p>HAL implementations should implement AF trigger
8261modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8262CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8263not need to be listed in static metadata.<wbr/> Support will be
8264removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008265 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008266 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008267
8268
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008269 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8270 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008271
8272
8273 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008274 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008275 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008276 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008277 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008278 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008279
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008280 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008281
8282
8283 </td> <!-- entry_type -->
8284
8285 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008286 <p>If set to 1,<wbr/> the camera service uses
8287CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8288HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8289shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008290 </td>
8291
8292 <td class="entry_units">
8293 </td>
8294
8295 <td class="entry_range">
8296 </td>
8297
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008298 <td class="entry_tags">
8299 </td>
8300
8301 </tr>
8302 <tr class="entries_header">
8303 <th class="th_details" colspan="5">Details</th>
8304 </tr>
8305 <tr class="entry_cont">
8306 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008307 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008308to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008309zero-shutter-lag,<wbr/> instead of relying on an explicit
8310format setting.<wbr/> Does not need to be listed in static
8311metadata.<wbr/> Support will be removed in future versions of
8312camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008313 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008314 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008315
8316
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008317 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8318 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008319
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008320
8321 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008322 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008323 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008324 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008325 <td class="entry_type">
8326 <span class="entry_type_name">byte</span>
8327
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008328 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008329
8330
8331 </td> <!-- entry_type -->
8332
8333 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008334 <p>If set to 1,<wbr/> the HAL will always split result
8335metadata for a single capture into multiple buffers,<wbr/>
8336returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008337 </td>
8338
8339 <td class="entry_units">
8340 </td>
8341
8342 <td class="entry_range">
8343 </td>
8344
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008345 <td class="entry_tags">
8346 </td>
8347
8348 </tr>
8349 <tr class="entries_header">
8350 <th class="th_details" colspan="5">Details</th>
8351 </tr>
8352 <tr class="entry_cont">
8353 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008354 <p>Does not need to be listed in static
8355metadata.<wbr/> Support for partial results will be reworked in
8356future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008357working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008358consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008359 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008360 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008361
8362
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008363 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8364 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008365
8366
8367
8368 <!-- end of kind -->
8369 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008370 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008371
8372 <thead class="entries_header">
8373 <tr>
8374 <th class="th_name">Property Name</th>
8375 <th class="th_type">Type</th>
8376 <th class="th_description">Description</th>
8377 <th class="th_units">Units</th>
8378 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008379 <th class="th_tags">Tags</th>
8380 </tr>
8381 </thead>
8382
8383 <tbody>
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008395 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008396 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008397 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008398 <td class="entry_type">
8399 <span class="entry_type_name entry_type_name_enum">byte</span>
8400
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008401 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008402
8403 <ul class="entry_type_enum">
8404 <li>
8405 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008406 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8407for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008408 </li>
8409 <li>
8410 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008411 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8412capture.<wbr/> More result buffers for this capture will be sent
8413by the HAL,<wbr/> the last of which will be marked
8414FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008415 </li>
8416 </ul>
8417
8418 </td> <!-- entry_type -->
8419
8420 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008421 <p>Whether a result given to the framework is the
8422final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008423subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008424values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008425 </td>
8426
8427 <td class="entry_units">
8428 </td>
8429
8430 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008431 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008432 </td>
8433
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008434 <td class="entry_tags">
8435 </td>
8436
8437 </tr>
8438 <tr class="entries_header">
8439 <th class="th_details" colspan="5">Details</th>
8440 </tr>
8441 <tr class="entry_cont">
8442 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008443 <p>The entries in the result metadata buffers for a
8444single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008445FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008446requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8447always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8448before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8449in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8450capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8451only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008452 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008453 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008454
8455
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008456 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8457 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008458
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008459
8460
8461 <!-- end of kind -->
8462 </tbody>
8463
8464 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008465 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008466
8467
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008468 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008469
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008470 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008471 <tr>
8472 <th class="th_name">Property Name</th>
8473 <th class="th_type">Type</th>
8474 <th class="th_description">Description</th>
8475 <th class="th_units">Units</th>
8476 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008477 <th class="th_tags">Tags</th>
8478 </tr>
8479 </thead>
8480
8481 <tbody>
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008493 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008494 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008495 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008496 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008497 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008498
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008499 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008500
8501
8502 </td> <!-- entry_type -->
8503
8504 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008505 <p>A frame counter set by the framework.<wbr/> Must
8506be maintained unchanged in output frame.<wbr/> This value monotonically
8507increases with every new result (that is,<wbr/> each new result has a unique
8508frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008509 </td>
8510
8511 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008512 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008513 </td>
8514
8515 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008516 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008517 </td>
8518
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008519 <td class="entry_tags">
8520 </td>
8521
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008522 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008523
8524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008527
8528
8529 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008530 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008531 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008532 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008534 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008535
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008536 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008537
8538
8539 </td> <!-- entry_type -->
8540
8541 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008542 <p>An application-specified ID for the current
8543request.<wbr/> Must be maintained unchanged in output
8544frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008545 </td>
8546
8547 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008548 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008549 </td>
8550
8551 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008552 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008553 </td>
8554
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008555 <td class="entry_tags">
8556 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008557 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008558 </ul>
8559 </td>
8560
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008561 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008562
8563
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008564 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8565 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008566
8567
8568 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008569 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008570 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008571 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008572 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008573 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008574 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008575
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008576 <span class="entry_type_array">
8577 n
8578 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008579 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008580
8581
8582 </td> <!-- entry_type -->
8583
8584 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008585 <p>List which camera reprocess stream is used
8586for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008587 </td>
8588
8589 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008590 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008591 </td>
8592
8593 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008594 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8595reprocess stream ID.<wbr/></p>
8596<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8597reprocess streams may be included in a single request; they
8598must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008599 </td>
8600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008601 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008602 <ul class="entry_tags">
8603 <li><a href="#tag_HAL2">HAL2</a></li>
8604 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008605 </td>
8606
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008607 </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">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008613 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008614REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008615 </td>
8616 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008617
8618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008619 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8620 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008621
8622
8623 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008624 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008625 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008626 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008628 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008630 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008631
8632 <ul class="entry_type_enum">
8633 <li>
8634 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008635 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8636for application-bound buffer data.<wbr/> If no
8637application-bound streams exist,<wbr/> no frame should be
8638placed in the output frame queue.<wbr/> If such streams
8639exist,<wbr/> a frame should be placed on the output queue
8640with null metadata but with the necessary output buffer
8641information.<wbr/> Timestamp information should still be
8642included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008643 </li>
8644 <li>
8645 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008646 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8647only be produced if they are separately
8648enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008649 </li>
8650 </ul>
8651
8652 </td> <!-- entry_type -->
8653
8654 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008655 <p>How much metadata to produce on
8656output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008657 </td>
8658
8659 <td class="entry_units">
8660 </td>
8661
8662 <td class="entry_range">
8663 </td>
8664
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008665 <td class="entry_tags">
8666 </td>
8667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008668 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008669
8670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008671 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8672 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008673
8674
8675 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008676 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008677 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008678 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008679 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008680 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008681 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008682
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008683 <span class="entry_type_array">
8684 n
8685 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008686 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008687
8688
8689 </td> <!-- entry_type -->
8690
8691 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008692 <p>Lists which camera output streams image data
8693from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008694 </td>
8695
8696 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008697 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008698 </td>
8699
8700 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008701 <p>List must only include streams that have been
8702created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008703 </td>
8704
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008705 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008706 <ul class="entry_tags">
8707 <li><a href="#tag_HAL2">HAL2</a></li>
8708 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008709 </td>
8710
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008711 </tr>
8712 <tr class="entries_header">
8713 <th class="th_details" colspan="5">Details</th>
8714 </tr>
8715 <tr class="entry_cont">
8716 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008717 <p>If no output streams are listed,<wbr/> then the image
8718data should simply be discarded.<wbr/> The image data must
8719still be captured for metadata and statistics production,<wbr/>
8720and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008721 </td>
8722 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008723
8724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008725 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8726 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008727
8728
8729 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008730 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008731 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008732 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008734 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008735
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008736 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008737
8738 <ul class="entry_type_enum">
8739 <li>
8740 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008741 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8742and process it according to the
8743settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008744 </li>
8745 <li>
8746 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008747 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8748android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8749source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8750needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008751 </li>
8752 </ul>
8753
8754 </td> <!-- entry_type -->
8755
8756 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008757 <p>The type of the request; either CAPTURE or
8758REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008759 </td>
8760
8761 <td class="entry_units">
8762 </td>
8763
8764 <td class="entry_range">
8765 </td>
8766
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008767 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008768 <ul class="entry_tags">
8769 <li><a href="#tag_HAL2">HAL2</a></li>
8770 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008771 </td>
8772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008773 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008774
8775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008776 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8777 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008778
8779
8780
8781 <!-- end of kind -->
8782 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008783 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008784
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008785 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008786 <tr>
8787 <th class="th_name">Property Name</th>
8788 <th class="th_type">Type</th>
8789 <th class="th_description">Description</th>
8790 <th class="th_units">Units</th>
8791 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008792 <th class="th_tags">Tags</th>
8793 </tr>
8794 </thead>
8795
8796 <tbody>
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008808 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008809 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008810 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008812 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008813 <span class="entry_type_container">x</span>
8814
8815 <span class="entry_type_array">
8816 3
8817 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008818 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008819
8820
8821 </td> <!-- entry_type -->
8822
8823 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008824 <p>How many output streams can be allocated at
8825the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008826 </td>
8827
8828 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008829 The number of raw sensor streams; the number of
8830 processed,<wbr/> uncompressed streams; and the number of
8831 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008832 </td>
8833
8834 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008835 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008836for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008837 </td>
8838
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008839 <td class="entry_tags">
8840 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008841 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008842 </ul>
8843 </td>
8844
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008845 </tr>
8846 <tr class="entries_header">
8847 <th class="th_details" colspan="5">Details</th>
8848 </tr>
8849 <tr class="entry_cont">
8850 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008851 <p>Video snapshot with preview callbacks requires 3
8852processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
8853one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008854 </td>
8855 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008856
8857
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008858 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8859 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008860
8861
8862 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008863 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008864 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008865 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008866 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008867 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008868 <span class="entry_type_container">x</span>
8869
8870 <span class="entry_type_array">
8871 1
8872 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008873 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008874
8875
8876 </td> <!-- entry_type -->
8877
8878 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008879 <p>How many reprocessing streams of any type
8880can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008881 </td>
8882
8883 <td class="entry_units">
8884 </td>
8885
8886 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008887 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008888 </td>
8889
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008890 <td class="entry_tags">
8891 </td>
8892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008893 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008894
8895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008896 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8897 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008898
8899
8900
8901 <!-- end of kind -->
8902 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008903 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008904
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008905 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008906 <tr>
8907 <th class="th_name">Property Name</th>
8908 <th class="th_type">Type</th>
8909 <th class="th_description">Description</th>
8910 <th class="th_units">Units</th>
8911 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008912 <th class="th_tags">Tags</th>
8913 </tr>
8914 </thead>
8915
8916 <tbody>
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008928 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008929 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008930 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008931 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008932 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008933
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008934 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008935
8936
8937 </td> <!-- entry_type -->
8938
8939 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008940 <p>A frame counter set by the framework.<wbr/> This value monotonically
8941increases with every new result (that is,<wbr/> each new result has a unique
8942frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008943 </td>
8944
8945 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008946 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008947 </td>
8948
8949 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08008950 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008951 </td>
8952
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008953 <td class="entry_tags">
8954 </td>
8955
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008956 </tr>
8957 <tr class="entries_header">
8958 <th class="th_details" colspan="5">Details</th>
8959 </tr>
8960 <tr class="entry_cont">
8961 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008962 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008963 </td>
8964 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008965
8966
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008967 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8968 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008969
8970
8971 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008972 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008973 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008974 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008975 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008976 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008977
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008978 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008979
8980
8981 </td> <!-- entry_type -->
8982
8983 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008984 <p>An application-specified ID for the current
8985request.<wbr/> Must be maintained unchanged in output
8986frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008987 </td>
8988
8989 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008990 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008991 </td>
8992
8993 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008994 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008995 </td>
8996
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008997 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008998 <ul class="entry_tags">
8999 <li><a href="#tag_V1">V1</a></li>
9000 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009001 </td>
9002
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009003 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009004
9005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009006 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9007 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009008
9009
9010 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009011 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009012 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009013 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009015 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009016
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009017 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009018
9019 <ul class="entry_type_enum">
9020 <li>
9021 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009022 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9023for application-bound buffer data.<wbr/> If no
9024application-bound streams exist,<wbr/> no frame should be
9025placed in the output frame queue.<wbr/> If such streams
9026exist,<wbr/> a frame should be placed on the output queue
9027with null metadata but with the necessary output buffer
9028information.<wbr/> Timestamp information should still be
9029included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009030 </li>
9031 <li>
9032 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009033 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9034only be produced if they are separately
9035enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009036 </li>
9037 </ul>
9038
9039 </td> <!-- entry_type -->
9040
9041 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009042 <p>How much metadata to produce on
9043output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009044 </td>
9045
9046 <td class="entry_units">
9047 </td>
9048
9049 <td class="entry_range">
9050 </td>
9051
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009052 <td class="entry_tags">
9053 </td>
9054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009055 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009056
9057
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009058 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9059 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009060
9061
9062 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009063 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009064 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009065 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009066 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009067 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009068 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009069
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009070 <span class="entry_type_array">
9071 n
9072 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009073 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009074
9075
9076 </td> <!-- entry_type -->
9077
9078 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009079 <p>Lists which camera output streams image data
9080from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009081 </td>
9082
9083 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009084 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009085 </td>
9086
9087 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009088 <p>List must only include streams that have been
9089created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009090 </td>
9091
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009092 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009093 <ul class="entry_tags">
9094 <li><a href="#tag_HAL2">HAL2</a></li>
9095 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009096 </td>
9097
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009098 </tr>
9099 <tr class="entries_header">
9100 <th class="th_details" colspan="5">Details</th>
9101 </tr>
9102 <tr class="entry_cont">
9103 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009104 <p>If no output streams are listed,<wbr/> then the image
9105data should simply be discarded.<wbr/> The image data must
9106still be captured for metadata and statistics production,<wbr/>
9107and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009108 </td>
9109 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009110
9111
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009112 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9113 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009114
9115
9116
9117 <!-- end of kind -->
9118 </tbody>
9119
9120 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009121 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009122
9123
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009124 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009125
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009126 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009127 <tr>
9128 <th class="th_name">Property Name</th>
9129 <th class="th_type">Type</th>
9130 <th class="th_description">Description</th>
9131 <th class="th_units">Units</th>
9132 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009133 <th class="th_tags">Tags</th>
9134 </tr>
9135 </thead>
9136
9137 <tbody>
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009149 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009150 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009151 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009152 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009153 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009154 <span class="entry_type_container">x</span>
9155
9156 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009157 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009158 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009159 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009160
9161
9162 </td> <!-- entry_type -->
9163
9164 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009165 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9166<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9167(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9168output.<wbr/> Each stream must use this rectangle to produce its
9169output,<wbr/> cropping to a smaller region if necessary to
9170maintain the stream's aspect ratio.<wbr/></p>
9171<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009172 </td>
9173
9174 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009175 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9176 in pixels; (0,<wbr/>0) is top-left corner of
9177 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009178 </td>
9179
9180 <td class="entry_range">
9181 </td>
9182
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009183 <td class="entry_tags">
9184 <ul class="entry_tags">
9185 <li><a href="#tag_BC">BC</a></li>
9186 </ul>
9187 </td>
9188
9189 </tr>
9190 <tr class="entries_header">
9191 <th class="th_details" colspan="5">Details</th>
9192 </tr>
9193 <tr class="entry_cont">
9194 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009195 <p>Any additional per-stream cropping must be done to
9196maximize the final pixel area of the stream.<wbr/></p>
9197<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9198ratio,<wbr/> then 4:3 streams should use the exact crop
9199region.<wbr/> 16:9 streams should further crop vertically
9200(letterbox).<wbr/></p>
9201<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9202outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9203streams should match exactly.<wbr/> These additional crops must
9204be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009205<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009206times,<wbr/> no matter what the relative aspect ratios of the
9207crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009208corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009209larger than active pixel array.<wbr/> Width and height may be
9210rounded to nearest larger supportable width,<wbr/> especially
9211for raw output,<wbr/> where only a few fixed scales may be
9212possible.<wbr/> The width and height of the crop region cannot
9213be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9214android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9215activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9216respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009217 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009218 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009219
9220
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009221 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9222 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009223
9224
9225
9226 <!-- end of kind -->
9227 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009228 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009229
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009230 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009231 <tr>
9232 <th class="th_name">Property Name</th>
9233 <th class="th_type">Type</th>
9234 <th class="th_description">Description</th>
9235 <th class="th_units">Units</th>
9236 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009237 <th class="th_tags">Tags</th>
9238 </tr>
9239 </thead>
9240
9241 <tbody>
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009253 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009254 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009255 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009256 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009257 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009258 <span class="entry_type_container">x</span>
9259
9260 <span class="entry_type_array">
9261 n
9262 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009263 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009264
9265 <ul class="entry_type_enum">
9266 <li>
9267 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009268 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009269 <span class="entry_type_enum_value">0x20</span>
9270 </li>
9271 <li>
9272 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009273 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009274 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009275 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009276 </li>
9277 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009278 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009279 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009280 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009281 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009282 </li>
9283 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009284 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9285 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009286 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009287 </li>
9288 <li>
9289 <span class="entry_type_enum_name">YCbCr_420_888</span>
9290 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009291 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009292 </li>
9293 <li>
9294 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009295 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009296 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009297 </li>
9298 </ul>
9299
9300 </td> <!-- entry_type -->
9301
9302 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009303 <p>The list of image formats that are supported by this
9304camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009305 </td>
9306
9307 <td class="entry_units">
9308 </td>
9309
9310 <td class="entry_range">
9311 </td>
9312
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009313 <td class="entry_tags">
9314 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009315 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009316 </ul>
9317 </td>
9318
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009319 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009320 <tr class="entries_header">
9321 <th class="th_details" colspan="5">Details</th>
9322 </tr>
9323 <tr class="entry_cont">
9324 <td class="entry_details" colspan="5">
9325 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9326<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9327 </td>
9328 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009329
Zhijun Heb8317e22014-01-16 09:47:07 -08009330 <tr class="entries_header">
9331 <th class="th_details" colspan="5">HAL Implementation Details</th>
9332 </tr>
9333 <tr class="entry_cont">
9334 <td class="entry_details" colspan="5">
9335 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9336system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9337<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9338gralloc module will select a format based on the usage flags provided
9339by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9340usually used by preview and recording streams,<wbr/> where the application doesn't
9341need access the image data.<wbr/></p>
9342<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9343needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9344<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9345 </td>
9346 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009347
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009348 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9349 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009350
9351
9352 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009353 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009354 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009355 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009356 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009357 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009358 <span class="entry_type_container">x</span>
9359
9360 <span class="entry_type_array">
9361 n
9362 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009363 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009364
9365
9366 </td> <!-- entry_type -->
9367
9368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009369 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009370for 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 -08009371 </td>
9372
9373 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009374 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009375 </td>
9376
9377 <td class="entry_range">
9378 </td>
9379
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009380 <td class="entry_tags">
9381 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009382 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009383 </ul>
9384 </td>
9385
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009386 </tr>
9387 <tr class="entries_header">
9388 <th class="th_details" colspan="5">Details</th>
9389 </tr>
9390 <tr class="entry_cont">
9391 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009392 <p>This corresponds to the minimum steady-state frame duration when only
9393that JPEG stream is active and captured in a burst,<wbr/> with all
9394processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9395<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009396frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009397durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009398 </td>
9399 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009400
9401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009402 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9403 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009404
9405
9406 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009407 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009408 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009409 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009410 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009411 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009412 <span class="entry_type_container">x</span>
9413
9414 <span class="entry_type_array">
9415 n x 2
9416 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009417 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009418
9419
9420 </td> <!-- entry_type -->
9421
9422 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009423 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009424 </td>
9425
9426 <td class="entry_units">
9427 </td>
9428
9429 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009430 </td>
9431
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009432 <td class="entry_tags">
9433 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009434 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009435 </ul>
9436 </td>
9437
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009438 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009439 <tr class="entries_header">
9440 <th class="th_details" colspan="5">Details</th>
9441 </tr>
9442 <tr class="entry_cont">
9443 <td class="entry_details" colspan="5">
9444 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9445sensor 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>
9446 </td>
9447 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009448
Zhijun Heb8317e22014-01-16 09:47:07 -08009449 <tr class="entries_header">
9450 <th class="th_details" colspan="5">HAL Implementation Details</th>
9451 </tr>
9452 <tr class="entry_cont">
9453 <td class="entry_details" colspan="5">
9454 <p>The HAL must include sensor maximum resolution
9455(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9456and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9457 </td>
9458 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009460 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9461 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009462
9463
9464 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009465 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009466 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009467 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009468 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009469 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009470
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009471 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009472
9473
9474 </td> <!-- entry_type -->
9475
9476 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009477 <p>The maximum ratio between active area width
9478and crop region width,<wbr/> or between active area height and
9479crop region height,<wbr/> if the crop region height is larger
9480than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009481 </td>
9482
9483 <td class="entry_units">
9484 </td>
9485
9486 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009487 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009488 </td>
9489
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009490 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009491 <ul class="entry_tags">
9492 <li><a href="#tag_BC">BC</a></li>
9493 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009494 </td>
9495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009497
9498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009501
9502
9503 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009504 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009505 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009508 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009509 <span class="entry_type_container">x</span>
9510
9511 <span class="entry_type_array">
9512 n
9513 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009514 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009515
9516
9517 </td> <!-- entry_type -->
9518
9519 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009520 <p>For each available processed output size (defined in
9521<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9522minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009523 </td>
9524
9525 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009526 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009527 </td>
9528
9529 <td class="entry_range">
9530 </td>
9531
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009532 <td class="entry_tags">
9533 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009534 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009535 </ul>
9536 </td>
9537
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009538 </tr>
9539 <tr class="entries_header">
9540 <th class="th_details" colspan="5">Details</th>
9541 </tr>
9542 <tr class="entry_cont">
9543 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009544 <p>This should correspond to the frame duration when only that processed
9545stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9546set to FAST.<wbr/></p>
9547<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9548be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009549 </td>
9550 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009551
9552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009553 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9554 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555
9556
9557 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009558 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009559 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009560 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009561 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009562 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009563 <span class="entry_type_container">x</span>
9564
9565 <span class="entry_type_array">
9566 n x 2
9567 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009568 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009569
9570
9571 </td> <!-- entry_type -->
9572
9573 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009574 <p>The resolutions available for use with
9575processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9576platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009577encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009578 </td>
9579
9580 <td class="entry_units">
9581 </td>
9582
9583 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009584 </td>
9585
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009586 <td class="entry_tags">
9587 <ul class="entry_tags">
9588 <li><a href="#tag_BC">BC</a></li>
9589 </ul>
9590 </td>
9591
9592 </tr>
9593 <tr class="entries_header">
9594 <th class="th_details" colspan="5">Details</th>
9595 </tr>
9596 <tr class="entry_cont">
9597 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009598 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9599<p>For a given use case,<wbr/> the actual maximum supported resolution
9600may be lower than what is listed here,<wbr/> depending on the destination
9601Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9602the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9603smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9604can provide.<wbr/></p>
9605<p>Please reference the documentation for the image data destination to
9606check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009607 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009608 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009609
Zhijun Heb8317e22014-01-16 09:47:07 -08009610 <tr class="entries_header">
9611 <th class="th_details" colspan="5">HAL Implementation Details</th>
9612 </tr>
9613 <tr class="entry_cont">
9614 <td class="entry_details" colspan="5">
9615 <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/>
9616the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9617and each below resolution if it is smaller than or equal to the sensor
9618maximum resolution (if they are not listed in JPEG sizes already):</p>
9619<ul>
9620<li>240p (320 x 240)</li>
9621<li>480p (640 x 480)</li>
9622<li>720p (1280 x 720)</li>
9623<li>1080p (1920 x 1080)</li>
9624</ul>
9625<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/>
9626the HAL only has to list up to the maximum video size supported by the devices.<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.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009635 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009636 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009637 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009638 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009639 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009640 <span class="entry_type_container">x</span>
9641
9642 <span class="entry_type_array">
9643 n
9644 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009645 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009646
9647
9648 </td> <!-- entry_type -->
9649
9650 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009651 <p>For each available processed output size (defined in
9652<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9653supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009654 </td>
9655
9656 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009657 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009658 </td>
9659
9660 <td class="entry_range">
9661 </td>
9662
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009663 <td class="entry_tags">
9664 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009665 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009666 </ul>
9667 </td>
9668
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009669 </tr>
9670 <tr class="entries_header">
9671 <th class="th_details" colspan="5">Details</th>
9672 </tr>
9673 <tr class="entry_cont">
9674 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009675 <p>Should correspond to the frame duration when only the raw stream is
9676active.<wbr/></p>
9677<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009678frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009679durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009680 </td>
9681 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009682
9683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009684 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9685 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009686
9687
9688 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009689 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009690 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009691 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009692 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009693 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009694 <span class="entry_type_container">x</span>
9695
9696 <span class="entry_type_array">
9697 n x 2
9698 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009699 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009700
9701
9702 </td> <!-- entry_type -->
9703
9704 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009705 <p>The resolutions available for use with raw
9706sensor output streams,<wbr/> listed as width,<wbr/>
9707height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009708 </td>
9709
9710 <td class="entry_units">
9711 </td>
9712
9713 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009714 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009715 </td>
9716
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009717 <td class="entry_tags">
9718 </td>
9719
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009720 </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
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009726
9727
9728 <!-- end of kind -->
9729 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009730 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009731
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009732 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009733 <tr>
9734 <th class="th_name">Property Name</th>
9735 <th class="th_type">Type</th>
9736 <th class="th_description">Description</th>
9737 <th class="th_units">Units</th>
9738 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009739 <th class="th_tags">Tags</th>
9740 </tr>
9741 </thead>
9742
9743 <tbody>
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009755 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009756 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009757 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009758 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009759 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009760 <span class="entry_type_container">x</span>
9761
9762 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009763 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009764 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009765 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009766
9767
9768 </td> <!-- entry_type -->
9769
9770 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009771 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9772<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9773(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9774output.<wbr/> Each stream must use this rectangle to produce its
9775output,<wbr/> cropping to a smaller region if necessary to
9776maintain the stream's aspect ratio.<wbr/></p>
9777<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009778 </td>
9779
9780 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009781 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9782 in pixels; (0,<wbr/>0) is top-left corner of
9783 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009784 </td>
9785
9786 <td class="entry_range">
9787 </td>
9788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009789 <td class="entry_tags">
9790 <ul class="entry_tags">
9791 <li><a href="#tag_BC">BC</a></li>
9792 </ul>
9793 </td>
9794
9795 </tr>
9796 <tr class="entries_header">
9797 <th class="th_details" colspan="5">Details</th>
9798 </tr>
9799 <tr class="entry_cont">
9800 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009801 <p>Any additional per-stream cropping must be done to
9802maximize the final pixel area of the stream.<wbr/></p>
9803<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9804ratio,<wbr/> then 4:3 streams should use the exact crop
9805region.<wbr/> 16:9 streams should further crop vertically
9806(letterbox).<wbr/></p>
9807<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9808outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9809streams should match exactly.<wbr/> These additional crops must
9810be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009811<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009812times,<wbr/> no matter what the relative aspect ratios of the
9813crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009814corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009815larger than active pixel array.<wbr/> Width and height may be
9816rounded to nearest larger supportable width,<wbr/> especially
9817for raw output,<wbr/> where only a few fixed scales may be
9818possible.<wbr/> The width and height of the crop region cannot
9819be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9820android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9821activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9822respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009823 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009824 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009825
9826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009827 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9828 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009829
9830
9831
9832 <!-- end of kind -->
9833 </tbody>
9834
9835 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009836 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009837
9838
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009839 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009840
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009841 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009842 <tr>
9843 <th class="th_name">Property Name</th>
9844 <th class="th_type">Type</th>
9845 <th class="th_description">Description</th>
9846 <th class="th_units">Units</th>
9847 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009848 <th class="th_tags">Tags</th>
9849 </tr>
9850 </thead>
9851
9852 <tbody>
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009864 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009865 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009866 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009868 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009869
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009870 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009871
9872
9873 </td> <!-- entry_type -->
9874
9875 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009876 <p>Duration each pixel is exposed to
9877light.<wbr/></p>
9878<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
9879duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009880 </td>
9881
9882 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009883 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009884 </td>
9885
9886 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009887 <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 -08009888 </td>
9889
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890 <td class="entry_tags">
9891 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009892 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009893 </ul>
9894 </td>
9895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009896 </tr>
9897 <tr class="entries_header">
9898 <th class="th_details" colspan="5">Details</th>
9899 </tr>
9900 <tr class="entry_cont">
9901 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009902 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009903 </td>
9904 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009905
9906
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009907 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9908 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009909
9910
9911 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009912 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009913 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009914 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009915 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009916 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009917
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009918 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009919
9920
9921 </td> <!-- entry_type -->
9922
9923 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009924 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009925start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009926 </td>
9927
9928 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009929 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009930 </td>
9931
9932 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009933 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
9934android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
9935is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009936 </td>
9937
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009938 <td class="entry_tags">
9939 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009940 <li><a href="#tag_V1">V1</a></li>
9941 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009942 </ul>
9943 </td>
9944
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009945 </tr>
9946 <tr class="entries_header">
9947 <th class="th_details" colspan="5">Details</th>
9948 </tr>
9949 <tr class="entry_cont">
9950 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009951 <p>The maximum frame rate that can be supported by a camera subsystem is
9952a function of many factors:</p>
9953<ul>
9954<li>Requested resolutions of output image streams</li>
9955<li>Availability of binning /<wbr/> skipping modes on the imager</li>
9956<li>The bandwidth of the imager interface</li>
9957<li>The bandwidth of the various ISP processing blocks</li>
9958</ul>
9959<p>Since these factors can vary greatly between different ISPs and
9960sensors,<wbr/> the camera abstraction tries to represent the bandwidth
9961restrictions with as simple a model as possible.<wbr/></p>
9962<p>The model presented has the following characteristics:</p>
9963<ul>
9964<li>The image sensor is always configured to output the smallest
9965resolution possible given the application's requested output stream
9966sizes.<wbr/> The smallest resolution is defined as being at least as large
9967as the largest requested output stream size; the camera pipeline must
9968never digitally upsample sensor data when the crop region covers the
9969whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
9970resolutions are configured,<wbr/> the sensor can provide a higher frame
9971rate.<wbr/></li>
9972<li>Since any request may use any or all the currently configured
9973output streams,<wbr/> the sensor and ISP must be configured to support
9974scaling a single capture to all the streams at the same time.<wbr/> This
9975means the camera pipeline must be ready to produce the largest
9976requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
9977frame rate of a given configured stream set is governed only by the
9978largest requested stream resolution.<wbr/></li>
9979<li>Using more than one output stream in a request does not affect the
9980frame duration.<wbr/></li>
9981<li>JPEG streams act like processed YUV streams in requests for which
9982they are not included; in requests in which they are directly
9983referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
9984JPEG stream requires the underlying YUV data to always be ready for
9985use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
9986frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
9987<li>The JPEG processor can run concurrently to the rest of the camera
9988pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
9989</ul>
9990<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
9991is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
9992These are used to determine the maximum frame rate /<wbr/> minimum frame
9993duration that is possible for a given stream configuration.<wbr/></p>
9994<p>Specifically,<wbr/> the application can use the following rules to
9995determine the minimum frame duration it can request from the HAL
9996device:</p>
9997<ol>
9998<li>Given the application's currently configured set of output
9999streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10000<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10001<code>SP</code>.<wbr/></li>
10002<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10003count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10004<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10005<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
10006no exact match for <code>RP == RJ</code> (in particular there isn't an available
10007processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10008to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10009there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10010the processed resolution closest to <code>RJ</code>.<wbr/></li>
10011<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
10012no exact match for <code>RR == RP</code> (in particular there isn't an available
10013raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10014or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10015there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10016the raw resolution closest to <code>RP</code>.<wbr/></li>
10017<li>Look up the matching minimum frame durations in the property lists
10018<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10019<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10020<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10021minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10022<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10023supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10024<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10025supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10026<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10027the application,<wbr/> then the HAL will have to delay JPEG-using requests
10028whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10029This will happen whenever a JPEG-using request starts capture less
10030than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10031supported frame duration will vary between the values calculated in
10032#6 and #7.<wbr/></li>
10033</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010034 </td>
10035 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010036
10037
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010038 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10039 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010040
10041
10042 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010043 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010044 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010045 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010046 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010047 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010048
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010049 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010050
10051
10052 </td> <!-- entry_type -->
10053
10054 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010055 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010056implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010057below 'maximum analog sensitivity'.<wbr/></p>
10058<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10059gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010060 </td>
10061
10062 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010063 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010064 </td>
10065
10066 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010067 <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 -080010068 </td>
10069
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010070 <td class="entry_tags">
10071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010072 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010073 </ul>
10074 </td>
10075
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010076 </tr>
10077 <tr class="entries_header">
10078 <th class="th_details" colspan="5">Details</th>
10079 </tr>
10080 <tr class="entry_cont">
10081 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010082 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010083 </td>
10084 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010085
10086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010087 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10088 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010089
10090
10091
10092 <!-- end of kind -->
10093 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010094 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010095
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010096 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010097 <tr>
10098 <th class="th_name">Property Name</th>
10099 <th class="th_type">Type</th>
10100 <th class="th_description">Description</th>
10101 <th class="th_units">Units</th>
10102 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010103 <th class="th_tags">Tags</th>
10104 </tr>
10105 </thead>
10106
10107 <tbody>
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010121 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010122 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010123 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010124 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010125 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010126 <span class="entry_type_container">x</span>
10127
10128 <span class="entry_type_array">
10129 4
10130 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010131 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010132 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010133
10134
10135 </td> <!-- entry_type -->
10136
10137 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010138 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010139active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010140pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010141 </td>
10142
10143 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010144 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10145 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010146 </td>
10147
10148 <td class="entry_range">
10149 </td>
10150
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010151 <td class="entry_tags">
10152 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010153 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010154 </ul>
10155 </td>
10156
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010157 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010158
10159
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010160 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10161 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010162
10163
Zhijun He69fc0ea2013-07-17 09:42:58 -070010164 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010165 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010166 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010167 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010168 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010169 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010170 <span class="entry_type_container">x</span>
10171
10172 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010173 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010174 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010175 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010176 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010177
10178
10179 </td> <!-- entry_type -->
10180
10181 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010182 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010183 </td>
10184
10185 <td class="entry_units">
10186 </td>
10187
10188 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010189 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010190 </td>
10191
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010192 <td class="entry_tags">
10193 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010194 <li><a href="#tag_BC">BC</a></li>
10195 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010196 </ul>
10197 </td>
10198
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010199 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010200
10201
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010202 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10203 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010204
10205
10206 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010207 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010208 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010209 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010211 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010212
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010213 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010214
10215 <ul class="entry_type_enum">
10216 <li>
10217 <span class="entry_type_enum_name">RGGB</span>
10218 </li>
10219 <li>
10220 <span class="entry_type_enum_name">GRBG</span>
10221 </li>
10222 <li>
10223 <span class="entry_type_enum_name">GBRG</span>
10224 </li>
10225 <li>
10226 <span class="entry_type_enum_name">BGGR</span>
10227 </li>
10228 <li>
10229 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010230 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10231values for each pixel,<wbr/> instead of just 1 16-bit value
10232per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010233 </li>
10234 </ul>
10235
10236 </td> <!-- entry_type -->
10237
10238 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010239 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010240represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010241the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010242 </td>
10243
10244 <td class="entry_units">
10245 </td>
10246
10247 <td class="entry_range">
10248 </td>
10249
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010250 <td class="entry_tags">
10251 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010252 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010253 </ul>
10254 </td>
10255
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010256 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010257
10258
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010259 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10260 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010261
10262
10263 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010264 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010265 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010266 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010267 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010268 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010269 <span class="entry_type_container">x</span>
10270
10271 <span class="entry_type_array">
10272 2
10273 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010274 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010275 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010276
10277
10278 </td> <!-- entry_type -->
10279
10280 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010281 <p>Range of valid exposure
10282times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010283 </td>
10284
10285 <td class="entry_units">
10286 </td>
10287
10288 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010289 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10290sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010291 </td>
10292
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010293 <td class="entry_tags">
10294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010295 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010296 </ul>
10297 </td>
10298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010299 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010300
10301
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010302 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10303 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010304
10305
10306 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010307 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010308 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010309 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010310 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010311 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010312
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010313 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010314
10315
10316 </td> <!-- entry_type -->
10317
10318 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010319 <p>Maximum possible frame duration (minimum frame
10320rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010321 </td>
10322
10323 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010324 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010325 </td>
10326
10327 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010328 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010329 </td>
10330
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010331 <td class="entry_tags">
10332 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010333 <li><a href="#tag_BC">BC</a></li>
10334 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010335 </ul>
10336 </td>
10337
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010338 </tr>
10339 <tr class="entries_header">
10340 <th class="th_details" colspan="5">Details</th>
10341 </tr>
10342 <tr class="entry_cont">
10343 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010344 <p>Minimum duration is a function of resolution,<wbr/>
10345processing settings.<wbr/> See
10346android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10347android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010348<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 -080010349 </td>
10350 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010351
10352
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010353 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10354 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010355
10356
10357 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010358 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010359 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010360 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010361 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010362 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010363 <span class="entry_type_container">x</span>
10364
10365 <span class="entry_type_array">
10366 2
10367 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010368 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010369 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010370
10371
10372 </td> <!-- entry_type -->
10373
10374 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010375 <p>The physical dimensions of the full pixel
10376array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010377 </td>
10378
10379 <td class="entry_units">
10380 </td>
10381
10382 <td class="entry_range">
10383 </td>
10384
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010385 <td class="entry_tags">
10386 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010387 <li><a href="#tag_V1">V1</a></li>
10388 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010389 </ul>
10390 </td>
10391
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010392 </tr>
10393 <tr class="entries_header">
10394 <th class="th_details" colspan="5">Details</th>
10395 </tr>
10396 <tr class="entry_cont">
10397 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010398 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010399 </td>
10400 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010401
10402
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010403 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10404 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010405
10406
10407 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010408 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010409 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010410 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010411 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010412 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010413 <span class="entry_type_container">x</span>
10414
10415 <span class="entry_type_array">
10416 2
10417 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010418 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010419
10420
10421 </td> <!-- entry_type -->
10422
10423 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010424 <p>Dimensions of full pixel array,<wbr/> possibly
10425including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010426 </td>
10427
10428 <td class="entry_units">
10429 </td>
10430
10431 <td class="entry_range">
10432 </td>
10433
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010434 <td class="entry_tags">
10435 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010436 <li><a href="#tag_DNG">DNG</a></li>
10437 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010438 </ul>
10439 </td>
10440
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010441 </tr>
10442 <tr class="entries_header">
10443 <th class="th_details" colspan="5">Details</th>
10444 </tr>
10445 <tr class="entry_cont">
10446 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010447 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010448match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010449android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010450 </td>
10451 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010452
10453
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010454 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10455 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010456
10457
10458 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010459 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010460 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010461 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010462 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010463 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010464
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010465 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010466
10467
10468 </td> <!-- entry_type -->
10469
10470 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010471 <p>Maximum raw value output by
10472sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010473 </td>
10474
10475 <td class="entry_units">
10476 </td>
10477
10478 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010479 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010480 </td>
10481
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010482 <td class="entry_tags">
10483 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010484 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010485 </ul>
10486 </td>
10487
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010488 </tr>
10489 <tr class="entries_header">
10490 <th class="th_details" colspan="5">Details</th>
10491 </tr>
10492 <tr class="entry_cont">
10493 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010494 <p>Defines sensor bit depth (10-14 bits is
10495expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010496 </td>
10497 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010498
10499
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010500 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10501 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010502
10503
10504
10505
10506
10507 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010508 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010509 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010510 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010511 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010512 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010513
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010514 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010515
10516
10517 </td> <!-- entry_type -->
10518
10519 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010520 <p>Gain factor from electrons to raw units when
10521ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010522 </td>
10523
10524 <td class="entry_units">
10525 </td>
10526
10527 <td class="entry_range">
10528 </td>
10529
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010530 <td class="entry_tags">
10531 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010532 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010533 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010534 </ul>
10535 </td>
10536
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010537 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010538
10539
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010540 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10541 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010542
10543
10544 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010545 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010546 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010547 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010548 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010549 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010550 <span class="entry_type_container">x</span>
10551
10552 <span class="entry_type_array">
10553 4
10554 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010555 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010556 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010557
10558
10559 </td> <!-- entry_type -->
10560
10561 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010562 <p>A fixed black level offset for each of the
10563Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010564 </td>
10565
10566 <td class="entry_units">
10567 </td>
10568
10569 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010570 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010571 </td>
10572
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010573 <td class="entry_tags">
10574 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010575 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010576 </ul>
10577 </td>
10578
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010579 </tr>
10580 <tr class="entries_header">
10581 <th class="th_details" colspan="5">Details</th>
10582 </tr>
10583 <tr class="entry_cont">
10584 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010585 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10586tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010587 </td>
10588 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010589
10590
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010591 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10592 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010593
10594
10595 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010596 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010597 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010598 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010599 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010600 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010601 <span class="entry_type_container">x</span>
10602
10603 <span class="entry_type_array">
10604 9
10605 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010606 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010607 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010608
10609
10610 </td> <!-- entry_type -->
10611
10612 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010613 <p>Per-device calibration on top of color space
10614transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010615 </td>
10616
10617 <td class="entry_units">
10618 </td>
10619
10620 <td class="entry_range">
10621 </td>
10622
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010623 <td class="entry_tags">
10624 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010625 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010626 </ul>
10627 </td>
10628
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010629 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010630
10631
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010632 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10633 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010634
10635
10636 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010637 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010638 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010639 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010640 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010641 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010642 <span class="entry_type_container">x</span>
10643
10644 <span class="entry_type_array">
10645 9
10646 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010647 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010648 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010649
10650
10651 </td> <!-- entry_type -->
10652
10653 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010654 <p>Per-device calibration on top of color space
10655transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010656 </td>
10657
10658 <td class="entry_units">
10659 </td>
10660
10661 <td class="entry_range">
10662 </td>
10663
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010664 <td class="entry_tags">
10665 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010666 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010667 </ul>
10668 </td>
10669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010670 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010671
10672
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010673 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10674 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010675
10676
10677 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010678 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010679 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
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 <span class="entry_type_container">x</span>
10684
10685 <span class="entry_type_array">
10686 9
10687 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010688 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010689 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010690
10691
10692 </td> <!-- entry_type -->
10693
10694 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010695 <p>Linear mapping from XYZ (D50) color space to
10696reference linear sensor color,<wbr/> for first reference
10697illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010698 </td>
10699
10700 <td class="entry_units">
10701 </td>
10702
10703 <td class="entry_range">
10704 </td>
10705
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010706 <td class="entry_tags">
10707 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010708 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010709 </ul>
10710 </td>
10711
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010712 </tr>
10713 <tr class="entries_header">
10714 <th class="th_details" colspan="5">Details</th>
10715 </tr>
10716 <tr class="entry_cont">
10717 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010718 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10719black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10720At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010721 </td>
10722 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010723
10724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010725 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10726 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010727
10728
10729 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010730 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010731 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010732 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010734 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010735 <span class="entry_type_container">x</span>
10736
10737 <span class="entry_type_array">
10738 9
10739 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010740 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010741 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010742
10743
10744 </td> <!-- entry_type -->
10745
10746 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010747 <p>Linear mapping from XYZ (D50) color space to
10748reference linear sensor color,<wbr/> for second reference
10749illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010750 </td>
10751
10752 <td class="entry_units">
10753 </td>
10754
10755 <td class="entry_range">
10756 </td>
10757
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010758 <td class="entry_tags">
10759 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010760 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010761 </ul>
10762 </td>
10763
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010764 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010765
10766
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010767 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10768 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010769
10770
10771 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010772 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010773 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010774 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010775 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010776 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010777 <span class="entry_type_container">x</span>
10778
10779 <span class="entry_type_array">
10780 9
10781 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010782 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010783 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010784
10785
10786 </td> <!-- entry_type -->
10787
10788 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010789 <p>Used by DNG for better WB
10790adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010791 </td>
10792
10793 <td class="entry_units">
10794 </td>
10795
10796 <td class="entry_range">
10797 </td>
10798
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010799 <td class="entry_tags">
10800 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010801 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010802 </ul>
10803 </td>
10804
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010805 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010806
10807
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010808 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10809 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010810
10811
10812 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010813 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010814 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010815 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010816 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010817 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010818 <span class="entry_type_container">x</span>
10819
10820 <span class="entry_type_array">
10821 9
10822 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010823 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010824 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010825
10826
10827 </td> <!-- entry_type -->
10828
10829 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010830 <p>Used by DNG for better WB
10831adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010832 </td>
10833
10834 <td class="entry_units">
10835 </td>
10836
10837 <td class="entry_range">
10838 </td>
10839
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010840 <td class="entry_tags">
10841 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010842 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010843 </ul>
10844 </td>
10845
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010846 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010847
10848
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010849 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10850 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010851
10852
10853 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010854 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010855 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010856 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010857 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010858 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010859
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010860 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010861
10862
10863 </td> <!-- entry_type -->
10864
10865 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010866 <p>Maximum sensitivity that is implemented
10867purely through analog gain</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_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010879 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010880 </ul>
10881 </td>
10882
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010883 </tr>
10884 <tr class="entries_header">
10885 <th class="th_details" colspan="5">Details</th>
10886 </tr>
10887 <tr class="entry_cont">
10888 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010889 <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 -080010890equal to this,<wbr/> all applied gain must be analog.<wbr/> For
10891values above this,<wbr/> it can be a mix of analog and
10892digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010893 </td>
10894 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010895
10896
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010897 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10898 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010899
10900
10901 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010902 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010903 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010904 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010905 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010906 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010907 <span class="entry_type_container">x</span>
10908
10909 <span class="entry_type_array">
10910 2
10911 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010912 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010913 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010914
10915
10916 </td> <!-- entry_type -->
10917
10918 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010919 <p>Estimation of sensor noise
10920characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010921 </td>
10922
10923 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010924 var(raw pixel value) = electrons * (baseGainFactor
10925 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
10926 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010927 </td>
10928
10929 <td class="entry_range">
10930 </td>
10931
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010932 <td class="entry_tags">
10933 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010934 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010935 </ul>
10936 </td>
10937
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010938 </tr>
10939 <tr class="entries_header">
10940 <th class="th_details" colspan="5">Details</th>
10941 </tr>
10942 <tr class="entry_cont">
10943 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010944 <p>A represents sensor read noise before analog
10945amplification; B represents noise from A/<wbr/>D conversion and
10946other circuits after amplification.<wbr/> Both noise sources
10947are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
10948across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010949 </td>
10950 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010951
10952
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010953 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10954 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010955
10956
10957 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010958 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010959 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010962 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010963
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010964 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010965
10966
10967 </td> <!-- entry_type -->
10968
10969 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010970 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010971image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080010972screen in its native orientation.<wbr/> Also defines the
10973direction of rolling shutter readout,<wbr/> which is from top
10974to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010975 </td>
10976
10977 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010978 degrees clockwise rotation,<wbr/> only multiples of
10979 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010980 </td>
10981
10982 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010983 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010984 </td>
10985
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010986 <td class="entry_tags">
10987 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010988 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010989 </ul>
10990 </td>
10991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010992 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010993
10994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010995 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10996 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010997
10998
10999 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011000 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011001 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011002 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011003 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011004 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011005
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011006 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011007
11008 <ul class="entry_type_enum">
11009 <li>
11010 <span class="entry_type_enum_name">DAYLIGHT</span>
11011 <span class="entry_type_enum_value">1</span>
11012 </li>
11013 <li>
11014 <span class="entry_type_enum_name">FLUORESCENT</span>
11015 <span class="entry_type_enum_value">2</span>
11016 </li>
11017 <li>
11018 <span class="entry_type_enum_name">TUNGSTEN</span>
11019 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011020 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011021 </li>
11022 <li>
11023 <span class="entry_type_enum_name">FLASH</span>
11024 <span class="entry_type_enum_value">4</span>
11025 </li>
11026 <li>
11027 <span class="entry_type_enum_name">FINE_WEATHER</span>
11028 <span class="entry_type_enum_value">9</span>
11029 </li>
11030 <li>
11031 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11032 <span class="entry_type_enum_value">10</span>
11033 </li>
11034 <li>
11035 <span class="entry_type_enum_name">SHADE</span>
11036 <span class="entry_type_enum_value">11</span>
11037 </li>
11038 <li>
11039 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11040 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011041 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011042 </li>
11043 <li>
11044 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11045 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011046 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011047 </li>
11048 <li>
11049 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11050 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011051 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011052 </li>
11053 <li>
11054 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11055 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011056 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011057 </li>
11058 <li>
11059 <span class="entry_type_enum_name">STANDARD_A</span>
11060 <span class="entry_type_enum_value">17</span>
11061 </li>
11062 <li>
11063 <span class="entry_type_enum_name">STANDARD_B</span>
11064 <span class="entry_type_enum_value">18</span>
11065 </li>
11066 <li>
11067 <span class="entry_type_enum_name">STANDARD_C</span>
11068 <span class="entry_type_enum_value">19</span>
11069 </li>
11070 <li>
11071 <span class="entry_type_enum_name">D55</span>
11072 <span class="entry_type_enum_value">20</span>
11073 </li>
11074 <li>
11075 <span class="entry_type_enum_name">D65</span>
11076 <span class="entry_type_enum_value">21</span>
11077 </li>
11078 <li>
11079 <span class="entry_type_enum_name">D75</span>
11080 <span class="entry_type_enum_value">22</span>
11081 </li>
11082 <li>
11083 <span class="entry_type_enum_name">D50</span>
11084 <span class="entry_type_enum_value">23</span>
11085 </li>
11086 <li>
11087 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11088 <span class="entry_type_enum_value">24</span>
11089 </li>
11090 </ul>
11091
11092 </td> <!-- entry_type -->
11093
11094 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011095 <p>Light source used to define transform
110961</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011097 </td>
11098
11099 <td class="entry_units">
11100 </td>
11101
11102 <td class="entry_range">
11103 </td>
11104
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011105 <td class="entry_tags">
11106 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011107 <li><a href="#tag_DNG">DNG</a></li>
11108 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011109 </ul>
11110 </td>
11111
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011112 </tr>
11113 <tr class="entries_header">
11114 <th class="th_details" colspan="5">Details</th>
11115 </tr>
11116 <tr class="entry_cont">
11117 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011118 <p>[EXIF LightSource tag] Must all these be
11119supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011120 </td>
11121 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011122
11123
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011124 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11125 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011126
11127
11128 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011129 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011130 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011131 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011132 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011133 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011134
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011135 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011136
11137
11138 </td> <!-- entry_type -->
11139
11140 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011141 <p>Light source used to define transform
111422</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011143 </td>
11144
11145 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011146 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011147 </td>
11148
11149 <td class="entry_range">
11150 </td>
11151
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011152 <td class="entry_tags">
11153 </td>
11154
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011155 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011156
11157
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011158 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11159 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011160
11161
11162
11163 <!-- end of kind -->
11164 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011165 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011166
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011167 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011168 <tr>
11169 <th class="th_name">Property Name</th>
11170 <th class="th_type">Type</th>
11171 <th class="th_description">Description</th>
11172 <th class="th_units">Units</th>
11173 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011174 <th class="th_tags">Tags</th>
11175 </tr>
11176 </thead>
11177
11178 <tbody>
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011190 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011191 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011192 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011193 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011194 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011195
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011196 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011197
11198
11199 </td> <!-- entry_type -->
11200
11201 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011202 <p>Duration each pixel is exposed to
11203light.<wbr/></p>
11204<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11205duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011206 </td>
11207
11208 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011209 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011210 </td>
11211
11212 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011213 <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 -080011214 </td>
11215
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011216 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011217 <ul class="entry_tags">
11218 <li><a href="#tag_V1">V1</a></li>
11219 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011220 </td>
11221
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011222 </tr>
11223 <tr class="entries_header">
11224 <th class="th_details" colspan="5">Details</th>
11225 </tr>
11226 <tr class="entry_cont">
11227 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011228 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011229 </td>
11230 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011231
11232
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011233 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11234 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011235
11236
11237 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011238 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011239 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011240 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011242 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011244 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011245
11246
11247 </td> <!-- entry_type -->
11248
11249 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011250 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011251start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011252 </td>
11253
11254 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011255 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011256 </td>
11257
11258 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011259 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11260android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11261is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011262 </td>
11263
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011264 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011265 <ul class="entry_tags">
11266 <li><a href="#tag_V1">V1</a></li>
11267 <li><a href="#tag_BC">BC</a></li>
11268 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011269 </td>
11270
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011271 </tr>
11272 <tr class="entries_header">
11273 <th class="th_details" colspan="5">Details</th>
11274 </tr>
11275 <tr class="entry_cont">
11276 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011277 <p>The maximum frame rate that can be supported by a camera subsystem is
11278a function of many factors:</p>
11279<ul>
11280<li>Requested resolutions of output image streams</li>
11281<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11282<li>The bandwidth of the imager interface</li>
11283<li>The bandwidth of the various ISP processing blocks</li>
11284</ul>
11285<p>Since these factors can vary greatly between different ISPs and
11286sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11287restrictions with as simple a model as possible.<wbr/></p>
11288<p>The model presented has the following characteristics:</p>
11289<ul>
11290<li>The image sensor is always configured to output the smallest
11291resolution possible given the application's requested output stream
11292sizes.<wbr/> The smallest resolution is defined as being at least as large
11293as the largest requested output stream size; the camera pipeline must
11294never digitally upsample sensor data when the crop region covers the
11295whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11296resolutions are configured,<wbr/> the sensor can provide a higher frame
11297rate.<wbr/></li>
11298<li>Since any request may use any or all the currently configured
11299output streams,<wbr/> the sensor and ISP must be configured to support
11300scaling a single capture to all the streams at the same time.<wbr/> This
11301means the camera pipeline must be ready to produce the largest
11302requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11303frame rate of a given configured stream set is governed only by the
11304largest requested stream resolution.<wbr/></li>
11305<li>Using more than one output stream in a request does not affect the
11306frame duration.<wbr/></li>
11307<li>JPEG streams act like processed YUV streams in requests for which
11308they are not included; in requests in which they are directly
11309referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11310JPEG stream requires the underlying YUV data to always be ready for
11311use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11312frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11313<li>The JPEG processor can run concurrently to the rest of the camera
11314pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11315</ul>
11316<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11317is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11318These are used to determine the maximum frame rate /<wbr/> minimum frame
11319duration that is possible for a given stream configuration.<wbr/></p>
11320<p>Specifically,<wbr/> the application can use the following rules to
11321determine the minimum frame duration it can request from the HAL
11322device:</p>
11323<ol>
11324<li>Given the application's currently configured set of output
11325streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11326<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11327<code>SP</code>.<wbr/></li>
11328<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11329count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11330<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11331<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
11332no exact match for <code>RP == RJ</code> (in particular there isn't an available
11333processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11334to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11335there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11336the processed resolution closest to <code>RJ</code>.<wbr/></li>
11337<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
11338no exact match for <code>RR == RP</code> (in particular there isn't an available
11339raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11340or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11341there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11342the raw resolution closest to <code>RP</code>.<wbr/></li>
11343<li>Look up the matching minimum frame durations in the property lists
11344<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11345<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11346<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11347minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11348<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11349supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11350<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11351supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11352<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11353the application,<wbr/> then the HAL will have to delay JPEG-using requests
11354whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11355This will happen whenever a JPEG-using request starts capture less
11356than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11357supported frame duration will vary between the values calculated in
11358#6 and #7.<wbr/></li>
11359</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011360 </td>
11361 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011362
11363
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011364 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11365 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011366
11367
11368 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011369 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011370 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011371 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011372 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011373 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011374
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011375 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011376
11377
11378 </td> <!-- entry_type -->
11379
11380 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011381 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011382implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011383below 'maximum analog sensitivity'.<wbr/></p>
11384<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11385gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011386 </td>
11387
11388 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011389 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011390 </td>
11391
11392 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011393 <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 -080011394 </td>
11395
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011396 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011397 <ul class="entry_tags">
11398 <li><a href="#tag_V1">V1</a></li>
11399 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011400 </td>
11401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011402 </tr>
11403 <tr class="entries_header">
11404 <th class="th_details" colspan="5">Details</th>
11405 </tr>
11406 <tr class="entry_cont">
11407 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011408 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011409 </td>
11410 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011411
11412
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011413 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11414 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011415
11416
11417 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011418 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011419 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011420 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011422 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011423
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011424 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011425
11426
11427 </td> <!-- entry_type -->
11428
11429 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011430 <p>Time at start of exposure of first
11431row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011432 </td>
11433
11434 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011435 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011436 </td>
11437
11438 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011439 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011440 </td>
11441
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011442 <td class="entry_tags">
11443 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011444 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011445 </ul>
11446 </td>
11447
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011448 </tr>
11449 <tr class="entries_header">
11450 <th class="th_details" colspan="5">Details</th>
11451 </tr>
11452 <tr class="entry_cont">
11453 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011454 <p>Monotonic,<wbr/> should be synced to other timestamps in
11455system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011456 </td>
11457 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011458
11459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011460 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11461 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011462
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011463
11464 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011465 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011466 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011467 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011468 <td class="entry_type">
11469 <span class="entry_type_name">float</span>
11470
11471 <span class="entry_type_visibility"> [public]</span>
11472
11473
11474 </td> <!-- entry_type -->
11475
11476 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011477 <p>The temperature of the sensor,<wbr/> sampled at the time
11478exposure began for this frame.<wbr/></p>
11479<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11480somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011481 </td>
11482
11483 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011484 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011485 </td>
11486
11487 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011488 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011489 </td>
11490
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011491 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011492 <ul class="entry_tags">
11493 <li><a href="#tag_FULL">FULL</a></li>
11494 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011495 </td>
11496
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011497 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011498
11499
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011500 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11501 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011502
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011503
11504
11505 <!-- end of kind -->
11506 </tbody>
11507
11508 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011509 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011510
11511
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011512 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011513
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011514 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011515 <tr>
11516 <th class="th_name">Property Name</th>
11517 <th class="th_type">Type</th>
11518 <th class="th_description">Description</th>
11519 <th class="th_units">Units</th>
11520 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011521 <th class="th_tags">Tags</th>
11522 </tr>
11523 </thead>
11524
11525 <tbody>
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536 <tr class="entry" id="controls_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011537 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011538 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011539 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011540 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011541 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011542
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011543 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011544
11545 <ul class="entry_type_enum">
11546 <li>
11547 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011548 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011549 </li>
11550 <li>
11551 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011552 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11553bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011554 </li>
11555 <li>
11556 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011557 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11558quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011559 </li>
11560 </ul>
11561
11562 </td> <!-- entry_type -->
11563
11564 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011565 <p>Quality of lens shading correction applied
11566to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011567 </td>
11568
11569 <td class="entry_units">
11570 </td>
11571
11572 <td class="entry_range">
11573 </td>
11574
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011575 <td class="entry_tags">
11576 </td>
11577
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011578 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011579
11580
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011581 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11582 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011583
11584
11585 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011586 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011587 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011588 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011589 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011590 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011591
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011592 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011593
11594
11595 </td> <!-- entry_type -->
11596
11597 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011598 <p>Control the amount of shading correction
11599applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011600 </td>
11601
11602 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011603 unitless: 1-10; 10 is full shading
11604 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011605 </td>
11606
11607 <td class="entry_range">
11608 </td>
11609
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011610 <td class="entry_tags">
11611 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011612 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011613 </ul>
11614 </td>
11615
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011616 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011617
11618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011619 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11620 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011621
11622
11623
11624 <!-- end of kind -->
11625 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011626 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011627
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011628 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011629 <tr>
11630 <th class="th_name">Property Name</th>
11631 <th class="th_type">Type</th>
11632 <th class="th_description">Description</th>
11633 <th class="th_units">Units</th>
11634 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011635 <th class="th_tags">Tags</th>
11636 </tr>
11637 </thead>
11638
11639 <tbody>
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650 <tr class="entry" id="dynamic_android.shading.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011651 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011652 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011653 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011654 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011655 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011657 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011658
11659 <ul class="entry_type_enum">
11660 <li>
11661 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011662 <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011663 </li>
11664 <li>
11665 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011666 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
11667bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011668 </li>
11669 <li>
11670 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011671 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
11672quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011673 </li>
11674 </ul>
11675
11676 </td> <!-- entry_type -->
11677
11678 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011679 <p>Quality of lens shading correction applied
11680to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011681 </td>
11682
11683 <td class="entry_units">
11684 </td>
11685
11686 <td class="entry_range">
11687 </td>
11688
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011689 <td class="entry_tags">
11690 </td>
11691
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011692 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011693
11694
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011695 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11696 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011697
11698
11699
11700 <!-- end of kind -->
11701 </tbody>
11702
11703 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011704 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011705
11706
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011707 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011708
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011709 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011710 <tr>
11711 <th class="th_name">Property Name</th>
11712 <th class="th_type">Type</th>
11713 <th class="th_description">Description</th>
11714 <th class="th_units">Units</th>
11715 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011716 <th class="th_tags">Tags</th>
11717 </tr>
11718 </thead>
11719
11720 <tbody>
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011732 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011733 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011734 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011735 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011736 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011737
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011738 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011739
11740 <ul class="entry_type_enum">
11741 <li>
11742 <span class="entry_type_enum_name">OFF</span>
11743 </li>
11744 <li>
11745 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011746 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11747only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011748 </li>
11749 <li>
11750 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011751 <span class="entry_type_enum_notes"><p>Optional Return all face
11752metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011753 </li>
11754 </ul>
11755
11756 </td> <!-- entry_type -->
11757
11758 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011759 <p>State of the face detector
11760unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011761 </td>
11762
11763 <td class="entry_units">
11764 </td>
11765
11766 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011767 <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 -080011768 </td>
11769
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011770 <td class="entry_tags">
11771 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011772 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011773 </ul>
11774 </td>
11775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011776 </tr>
11777 <tr class="entries_header">
11778 <th class="th_details" colspan="5">Details</th>
11779 </tr>
11780 <tr class="entry_cont">
11781 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011782 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011783should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080011784fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011785<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 -080011786 </td>
11787 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011788
11789
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011790 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11791 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011792
11793
11794 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011795 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011796 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011797 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011798 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011799 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011800
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011801 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011802
11803 <ul class="entry_type_enum">
11804 <li>
11805 <span class="entry_type_enum_name">OFF</span>
11806 </li>
11807 <li>
11808 <span class="entry_type_enum_name">ON</span>
11809 </li>
11810 </ul>
11811
11812 </td> <!-- entry_type -->
11813
11814 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011815 <p>Operating mode for histogram
11816generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011817 </td>
11818
11819 <td class="entry_units">
11820 </td>
11821
11822 <td class="entry_range">
11823 </td>
11824
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011825 <td class="entry_tags">
11826 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011827 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011828 </ul>
11829 </td>
11830
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011831 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011832
11833
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011834 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11835 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011836
11837
11838 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011839 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011840 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011841 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011842 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011843 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011844
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011845 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011846
11847 <ul class="entry_type_enum">
11848 <li>
11849 <span class="entry_type_enum_name">OFF</span>
11850 </li>
11851 <li>
11852 <span class="entry_type_enum_name">ON</span>
11853 </li>
11854 </ul>
11855
11856 </td> <!-- entry_type -->
11857
11858 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011859 <p>Operating mode for sharpness map
11860generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011861 </td>
11862
11863 <td class="entry_units">
11864 </td>
11865
11866 <td class="entry_range">
11867 </td>
11868
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011869 <td class="entry_tags">
11870 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011871 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011872 </ul>
11873 </td>
11874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011875 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011876
11877
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011878 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11879 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011880
Zhijun He69fc0ea2013-07-17 09:42:58 -070011881
11882 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011883 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011884 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011885 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011886 <td class="entry_type">
11887 <span class="entry_type_name entry_type_name_enum">byte</span>
11888
11889 <span class="entry_type_visibility"> [public]</span>
11890
11891 <ul class="entry_type_enum">
11892 <li>
11893 <span class="entry_type_enum_name">OFF</span>
11894 </li>
11895 <li>
11896 <span class="entry_type_enum_name">ON</span>
11897 </li>
11898 </ul>
11899
11900 </td> <!-- entry_type -->
11901
11902 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011903 <p>Whether the HAL needs to output the lens
11904shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011905 </td>
11906
11907 <td class="entry_units">
11908 </td>
11909
11910 <td class="entry_range">
11911 </td>
11912
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011913 <td class="entry_tags">
11914 </td>
11915
11916 </tr>
11917 <tr class="entries_header">
11918 <th class="th_details" colspan="5">Details</th>
11919 </tr>
11920 <tr class="entry_cont">
11921 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011922 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011923<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 -080011924the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011925 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011926 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011927
11928
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011929 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11930 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011931
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011932
11933
11934 <!-- end of kind -->
11935 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011936 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011937
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011938 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011939 <tr>
11940 <th class="th_name">Property Name</th>
11941 <th class="th_type">Type</th>
11942 <th class="th_description">Description</th>
11943 <th class="th_units">Units</th>
11944 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011945 <th class="th_tags">Tags</th>
11946 </tr>
11947 </thead>
11948
11949 <tbody>
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011963 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011964 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011965 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011966 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011967 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011968 <span class="entry_type_container">x</span>
11969
11970 <span class="entry_type_array">
11971 n
11972 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011973 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011974 <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 -080011975
11976
11977 </td> <!-- entry_type -->
11978
11979 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011980 <p>Which face detection modes are available,<wbr/>
11981if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011982 </td>
11983
11984 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011985 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070011986 OFF
11987 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080011988 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011989 </td>
11990
11991 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011992 </td>
11993
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011994 <td class="entry_tags">
11995 </td>
11996
11997 </tr>
11998 <tr class="entries_header">
11999 <th class="th_details" colspan="5">Details</th>
12000 </tr>
12001 <tr class="entry_cont">
12002 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012003 <p>OFF means face detection is disabled,<wbr/> it must
12004be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012005<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012006<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12007<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012008<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012009<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12010<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012011 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012012 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012013
12014
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012015 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12016 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012017
12018
12019 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012020 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012021 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012022 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012024 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012025
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012026 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012027
12028
12029 </td> <!-- entry_type -->
12030
12031 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012032 <p>Number of histogram buckets
12033supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012034 </td>
12035
12036 <td class="entry_units">
12037 </td>
12038
12039 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012040 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012041 </td>
12042
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012043 <td class="entry_tags">
12044 </td>
12045
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012046 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012047
12048
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012049 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12050 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012051
12052
12053 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012054 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012055 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012056 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012057 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012058 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012059
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012060 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012061
12062
12063 </td> <!-- entry_type -->
12064
12065 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012066 <p>Maximum number of simultaneously detectable
12067faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012068 </td>
12069
12070 <td class="entry_units">
12071 </td>
12072
12073 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012074 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012075modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012076 </td>
12077
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012078 <td class="entry_tags">
12079 </td>
12080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012081 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012082
12083
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012084 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12085 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012086
12087
12088 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012089 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012090 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012091 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012092 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012093 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012095 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012096
12097
12098 </td> <!-- entry_type -->
12099
12100 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012101 <p>Maximum value possible for a histogram
12102bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012103 </td>
12104
12105 <td class="entry_units">
12106 </td>
12107
12108 <td class="entry_range">
12109 </td>
12110
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012111 <td class="entry_tags">
12112 </td>
12113
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012114 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012115
12116
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012117 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12118 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012119
12120
12121 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012122 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012123 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012124 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012127
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012128 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012129
12130
12131 </td> <!-- entry_type -->
12132
12133 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012134 <p>Maximum value possible for a sharpness map
12135region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012136 </td>
12137
12138 <td class="entry_units">
12139 </td>
12140
12141 <td class="entry_range">
12142 </td>
12143
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012144 <td class="entry_tags">
12145 </td>
12146
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012147 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012148
12149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012150 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12151 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012152
12153
12154 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012155 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012156 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012157 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012158 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012159 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012160 <span class="entry_type_container">x</span>
12161
12162 <span class="entry_type_array">
12163 2
12164 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012165 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012166 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012167
12168
12169 </td> <!-- entry_type -->
12170
12171 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012172 <p>Dimensions of the sharpness
12173map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012174 </td>
12175
12176 <td class="entry_units">
12177 </td>
12178
12179 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012180 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012181 </td>
12182
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012183 <td class="entry_tags">
12184 </td>
12185
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012186 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012187
12188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012189 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12190 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012191
12192
12193
12194
12195
12196
12197 <!-- end of kind -->
12198 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012199 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012200
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012201 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012202 <tr>
12203 <th class="th_name">Property Name</th>
12204 <th class="th_type">Type</th>
12205 <th class="th_description">Description</th>
12206 <th class="th_units">Units</th>
12207 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012208 <th class="th_tags">Tags</th>
12209 </tr>
12210 </thead>
12211
12212 <tbody>
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012224 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012225 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012226 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012227 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012228 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012229
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012230 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012231
12232 <ul class="entry_type_enum">
12233 <li>
12234 <span class="entry_type_enum_name">OFF</span>
12235 </li>
12236 <li>
12237 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012238 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12239only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012240 </li>
12241 <li>
12242 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012243 <span class="entry_type_enum_notes"><p>Optional Return all face
12244metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012245 </li>
12246 </ul>
12247
12248 </td> <!-- entry_type -->
12249
12250 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012251 <p>State of the face detector
12252unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012253 </td>
12254
12255 <td class="entry_units">
12256 </td>
12257
12258 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012259 <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 -080012260 </td>
12261
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012262 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012263 <ul class="entry_tags">
12264 <li><a href="#tag_BC">BC</a></li>
12265 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012266 </td>
12267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012268 </tr>
12269 <tr class="entries_header">
12270 <th class="th_details" colspan="5">Details</th>
12271 </tr>
12272 <tr class="entry_cont">
12273 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012274 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012275should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012276fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012277<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 -080012278 </td>
12279 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012280
12281
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012282 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12283 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012284
12285
12286 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012287 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012288 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012289 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012290 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012291 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012292 <span class="entry_type_container">x</span>
12293
12294 <span class="entry_type_array">
12295 n
12296 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012297 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012298
12299
12300 </td> <!-- entry_type -->
12301
12302 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012303 <p>List of unique IDs for detected
12304faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012305 </td>
12306
12307 <td class="entry_units">
12308 </td>
12309
12310 <td class="entry_range">
12311 </td>
12312
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012313 <td class="entry_tags">
12314 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012315 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012316 </ul>
12317 </td>
12318
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012319 </tr>
12320 <tr class="entries_header">
12321 <th class="th_details" colspan="5">Details</th>
12322 </tr>
12323 <tr class="entry_cont">
12324 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012325 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012326 </td>
12327 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012328
12329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012330 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12331 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012332
12333
12334 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012335 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012336 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012337 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012338 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012339 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012340 <span class="entry_type_container">x</span>
12341
12342 <span class="entry_type_array">
12343 n x 6
12344 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012345 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012346 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012347
12348
12349 </td> <!-- entry_type -->
12350
12351 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012352 <p>List of landmarks for detected
12353faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012354 </td>
12355
12356 <td class="entry_units">
12357 </td>
12358
12359 <td class="entry_range">
12360 </td>
12361
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012362 <td class="entry_tags">
12363 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012364 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012365 </ul>
12366 </td>
12367
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012368 </tr>
12369 <tr class="entries_header">
12370 <th class="th_details" colspan="5">Details</th>
12371 </tr>
12372 <tr class="entry_cont">
12373 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012374 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012375 </td>
12376 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012377
12378
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012379 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12380 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012381
12382
12383 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012384 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012385 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012386 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012388 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012389 <span class="entry_type_container">x</span>
12390
12391 <span class="entry_type_array">
12392 n x 4
12393 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012394 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012395 <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 -080012396
12397
12398 </td> <!-- entry_type -->
12399
12400 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012401 <p>List of the bounding rectangles for detected
12402faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012403 </td>
12404
12405 <td class="entry_units">
12406 </td>
12407
12408 <td class="entry_range">
12409 </td>
12410
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012411 <td class="entry_tags">
12412 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012413 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012414 </ul>
12415 </td>
12416
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012417 </tr>
12418 <tr class="entries_header">
12419 <th class="th_details" colspan="5">Details</th>
12420 </tr>
12421 <tr class="entry_cont">
12422 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012423 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012424 </td>
12425 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012426
12427
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012428 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12429 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012430
12431
12432 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012433 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012434 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012435 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012436 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012437 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012438 <span class="entry_type_container">x</span>
12439
12440 <span class="entry_type_array">
12441 n
12442 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012443 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012444
12445
12446 </td> <!-- entry_type -->
12447
12448 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012449 <p>List of the face confidence scores for
12450detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012451 </td>
12452
12453 <td class="entry_units">
12454 </td>
12455
12456 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012457 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012458 </td>
12459
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012460 <td class="entry_tags">
12461 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012462 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012463 </ul>
12464 </td>
12465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012466 </tr>
12467 <tr class="entries_header">
12468 <th class="th_details" colspan="5">Details</th>
12469 </tr>
12470 <tr class="entry_cont">
12471 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012472 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12473meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012474 </td>
12475 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012476
12477
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012478 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12479 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012480
12481
12482 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012483 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012484 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012485 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012486 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012487 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012488 <span class="entry_type_container">x</span>
12489
12490 <span class="entry_type_array">
12491 n x 3
12492 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012493 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012494 <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 -080012495
12496
12497 </td> <!-- entry_type -->
12498
12499 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012500 <p>A 3-channel histogram based on the raw
12501sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012502 </td>
12503
12504 <td class="entry_units">
12505 </td>
12506
12507 <td class="entry_range">
12508 </td>
12509
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012510 <td class="entry_tags">
12511 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012512 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012513 </ul>
12514 </td>
12515
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012516 </tr>
12517 <tr class="entries_header">
12518 <th class="th_details" colspan="5">Details</th>
12519 </tr>
12520 <tr class="entry_cont">
12521 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012522 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012523(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 -080012524(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12525supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012526 </td>
12527 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012528
12529
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012530 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12531 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012532
12533
12534 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012535 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012536 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012537 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012538 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012539 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012540
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012541 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012542
12543 <ul class="entry_type_enum">
12544 <li>
12545 <span class="entry_type_enum_name">OFF</span>
12546 </li>
12547 <li>
12548 <span class="entry_type_enum_name">ON</span>
12549 </li>
12550 </ul>
12551
12552 </td> <!-- entry_type -->
12553
12554 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012555 <p>Operating mode for histogram
12556generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012557 </td>
12558
12559 <td class="entry_units">
12560 </td>
12561
12562 <td class="entry_range">
12563 </td>
12564
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012565 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012566 <ul class="entry_tags">
12567 <li><a href="#tag_V1">V1</a></li>
12568 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012569 </td>
12570
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012571 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012572
12573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012574 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12575 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012576
12577
12578 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012579 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012580 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012581 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012582 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012583 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012584 <span class="entry_type_container">x</span>
12585
12586 <span class="entry_type_array">
12587 n x m x 3
12588 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012589 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012590 <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 -080012591
12592
12593 </td> <!-- entry_type -->
12594
12595 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012596 <p>A 3-channel sharpness map,<wbr/> based on the raw
12597sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012598 </td>
12599
12600 <td class="entry_units">
12601 </td>
12602
12603 <td class="entry_range">
12604 </td>
12605
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012606 <td class="entry_tags">
12607 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012608 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012609 </ul>
12610 </td>
12611
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012612 </tr>
12613 <tr class="entries_header">
12614 <th class="th_details" colspan="5">Details</th>
12615 </tr>
12616 <tr class="entry_cont">
12617 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012618 <p>If only a monochrome sharpness map is supported,<wbr/>
12619all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012620 </td>
12621 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012622
12623
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012624 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12625 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012626
12627
12628 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012629 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012630 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012631 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012632 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012633 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012634
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012635 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012636
12637 <ul class="entry_type_enum">
12638 <li>
12639 <span class="entry_type_enum_name">OFF</span>
12640 </li>
12641 <li>
12642 <span class="entry_type_enum_name">ON</span>
12643 </li>
12644 </ul>
12645
12646 </td> <!-- entry_type -->
12647
12648 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012649 <p>Operating mode for sharpness map
12650generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012651 </td>
12652
12653 <td class="entry_units">
12654 </td>
12655
12656 <td class="entry_range">
12657 </td>
12658
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012659 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012660 <ul class="entry_tags">
12661 <li><a href="#tag_V1">V1</a></li>
12662 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012663 </td>
12664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012665 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012666
12667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012668 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12669 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012670
Zhijun He69fc0ea2013-07-17 09:42:58 -070012671
12672 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012673 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012674 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012675 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012676 <td class="entry_type">
12677 <span class="entry_type_name">float</span>
12678 <span class="entry_type_container">x</span>
12679
12680 <span class="entry_type_array">
12681 4 x n x m
12682 </span>
12683 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012684 <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 -070012685
12686
12687 </td> <!-- entry_type -->
12688
12689 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012690 <p>The shading map is a low-resolution floating-point map
12691that lists the coefficients used to correct for vignetting,<wbr/> for each
12692Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012693 </td>
12694
12695 <td class="entry_units">
12696 </td>
12697
12698 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012699 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012700 </td>
12701
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012702 <td class="entry_tags">
12703 </td>
12704
12705 </tr>
12706 <tr class="entries_header">
12707 <th class="th_details" colspan="5">Details</th>
12708 </tr>
12709 <tr class="entry_cont">
12710 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012711 <p>The least shaded section of the image should have a gain factor
12712of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012713<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 -080012714must take into account the colorCorrection settings.<wbr/></p>
12715<p>The shading map is for the entire active pixel array,<wbr/> and is not
12716affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012717entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012718pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12719map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12720(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12721pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12722The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12723<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12724channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12725The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012726is 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 -080012727<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12728and must be smaller than 64x64.<wbr/></p>
12729<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012730<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12731<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012732[ 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/>
12733 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/>
12734 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/>
12735 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/>
12736 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/>
12737 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 -080012738</code></pre>
12739<p>The low-resolution scaling map images for each channel are
12740(displayed using nearest-neighbor interpolation):</p>
12741<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12742<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12743<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12744<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012745<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012746image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012747<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 -070012748 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012749 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012750
12751
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012752 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12753 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012754
12755
12756 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012757 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012758 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012759 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012760 <td class="entry_type">
12761 <span class="entry_type_name">float</span>
12762 <span class="entry_type_container">x</span>
12763
12764 <span class="entry_type_array">
12765 4
12766 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012767 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012768 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012769
12770
12771 </td> <!-- entry_type -->
12772
12773 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012774 <p>The best-fit color channel gains calculated
12775by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012776 </td>
12777
12778 <td class="entry_units">
12779 </td>
12780
12781 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012782 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012783 </td>
12784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012785 <td class="entry_tags">
12786 </td>
12787
12788 </tr>
12789 <tr class="entries_header">
12790 <th class="th_details" colspan="5">Details</th>
12791 </tr>
12792 <tr class="entry_cont">
12793 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012794 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012795since statistics processing on data from a new frame
12796typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080012797applied to that frame.<wbr/></p>
12798<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012799see <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 -080012800<p>This value should always be calculated by the AWB block,<wbr/>
12801regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012802 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012803 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012804
12805
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012806 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12807 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012808
12809
12810 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012811 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012812 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012813 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012814 <td class="entry_type">
12815 <span class="entry_type_name">rational</span>
12816 <span class="entry_type_container">x</span>
12817
12818 <span class="entry_type_array">
12819 3 x 3
12820 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012821 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012822 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012823
12824
12825 </td> <!-- entry_type -->
12826
12827 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012828 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012829calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080012830output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012831 </td>
12832
12833 <td class="entry_units">
12834 </td>
12835
12836 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080012837 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012838 </td>
12839
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012840 <td class="entry_tags">
12841 </td>
12842
12843 </tr>
12844 <tr class="entries_header">
12845 <th class="th_details" colspan="5">Details</th>
12846 </tr>
12847 <tr class="entry_cont">
12848 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012849 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012850statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080012851for the next frame.<wbr/> These are the values the HAL believes
12852are the best fit for the current output frame.<wbr/> This may
12853be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012854statistics processing on data from a new frame typically
12855completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080012856that frame.<wbr/></p>
12857<p>These estimates must be provided for all frames,<wbr/> even if
12858capture settings and color transforms are set by the application.<wbr/></p>
12859<p>This value should always be calculated by the AWB block,<wbr/>
12860regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012861 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012862 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012863
12864
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012865 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12866 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012867
12868
12869 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012870 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012871 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012872 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012873 <td class="entry_type">
12874 <span class="entry_type_name entry_type_name_enum">byte</span>
12875
12876 <span class="entry_type_visibility"> [public]</span>
12877
12878 <ul class="entry_type_enum">
12879 <li>
12880 <span class="entry_type_enum_name">NONE</span>
12881 </li>
12882 <li>
12883 <span class="entry_type_enum_name">50HZ</span>
12884 </li>
12885 <li>
12886 <span class="entry_type_enum_name">60HZ</span>
12887 </li>
12888 </ul>
12889
12890 </td> <!-- entry_type -->
12891
12892 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012893 <p>The HAL estimated scene illumination lighting
12894frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012895 </td>
12896
12897 <td class="entry_units">
12898 </td>
12899
12900 <td class="entry_range">
12901 </td>
12902
Zhijun He69fc0ea2013-07-17 09:42:58 -070012903 <td class="entry_tags">
12904 </td>
12905
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012906 </tr>
12907 <tr class="entries_header">
12908 <th class="th_details" colspan="5">Details</th>
12909 </tr>
12910 <tr class="entry_cont">
12911 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012912 <p>Report NONE if there doesn't appear to be flickering
12913illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012914 </td>
12915 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012916
12917
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012918 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12919 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012920
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012921
12922
12923 <!-- end of kind -->
12924 </tbody>
12925
12926 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012927 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012928
12929
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012930 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012931
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012932 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012933 <tr>
12934 <th class="th_name">Property Name</th>
12935 <th class="th_type">Type</th>
12936 <th class="th_description">Description</th>
12937 <th class="th_units">Units</th>
12938 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012939 <th class="th_tags">Tags</th>
12940 </tr>
12941 </thead>
12942
12943 <tbody>
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012955 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012956 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012957 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012958 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080012959 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070012960 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012961
Zhijun He704d1282013-08-19 15:26:33 -070012962 <span class="entry_type_array">
12963 n x 2
12964 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012965 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012966 <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 -080012967
12968
12969 </td> <!-- entry_type -->
12970
12971 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012972 <p>Table mapping blue input values to output
12973values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012974 </td>
12975
12976 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012977 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012978 </td>
12979
12980 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012981 <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 -080012982 </td>
12983
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012984 <td class="entry_tags">
12985 </td>
12986
12987 </tr>
12988 <tr class="entries_header">
12989 <th class="th_details" colspan="5">Details</th>
12990 </tr>
12991 <tr class="entry_cont">
12992 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012993 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012994channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
12995<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 -080012996 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012997 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012998
12999
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013000 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13001 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013002
13003
13004 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013005 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013006 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013007 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013008 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013009 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013010 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013011
Zhijun He704d1282013-08-19 15:26:33 -070013012 <span class="entry_type_array">
13013 n x 2
13014 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013015 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013016 <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 -080013017
13018
13019 </td> <!-- entry_type -->
13020
13021 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013022 <p>Table mapping green input values to output
13023values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013024 </td>
13025
13026 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013027 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013028 </td>
13029
13030 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013031 <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 -080013032 </td>
13033
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013034 <td class="entry_tags">
13035 </td>
13036
13037 </tr>
13038 <tr class="entries_header">
13039 <th class="th_details" colspan="5">Details</th>
13040 </tr>
13041 <tr class="entry_cont">
13042 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013043 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013044channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13045<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 -080013046 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013047 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013048
13049
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013050 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13051 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013052
13053
13054 <tr class="entry" id="controls_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013055 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013056 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013057 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013058 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013059 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013060 <span class="entry_type_container">x</span>
13061
13062 <span class="entry_type_array">
13063 n x 2
13064 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013065 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013066 <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 -080013067
13068
13069 </td> <!-- entry_type -->
13070
13071 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013072 <p>Table mapping red input values to output
13073values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013074 </td>
13075
13076 <td class="entry_units">
13077 </td>
13078
13079 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013080 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013081 </td>
13082
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013083 <td class="entry_tags">
13084 <ul class="entry_tags">
13085 <li><a href="#tag_DNG">DNG</a></li>
13086 </ul>
13087 </td>
13088
13089 </tr>
13090 <tr class="entries_header">
13091 <th class="th_details" colspan="5">Details</th>
13092 </tr>
13093 <tr class="entry_cont">
13094 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013095 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013096channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013097<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013098the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013099are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013100between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013101<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013102defined points.<wbr/> The points will be listed in increasing
13103order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
131040.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13105for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
131060.<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 -080013107 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013108 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013109
13110
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013111 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13112 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013113
13114
13115 <tr class="entry" id="controls_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013116 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013117 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013118 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013119 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013120 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013121
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013122 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013123
13124 <ul class="entry_type_enum">
13125 <li>
13126 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013127 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13128android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013129 </li>
13130 <li>
13131 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013132 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13133bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013134 </li>
13135 <li>
13136 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013137 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13138quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013139 </li>
13140 </ul>
13141
13142 </td> <!-- entry_type -->
13143
13144 <td class="entry_description">
13145 </td>
13146
13147 <td class="entry_units">
13148 </td>
13149
13150 <td class="entry_range">
13151 </td>
13152
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013153 <td class="entry_tags">
13154 </td>
13155
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013156 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013157
13158
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013159 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13160 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013161
13162
13163
13164 <!-- end of kind -->
13165 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013166 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013167
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013168 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013169 <tr>
13170 <th class="th_name">Property Name</th>
13171 <th class="th_type">Type</th>
13172 <th class="th_description">Description</th>
13173 <th class="th_units">Units</th>
13174 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013175 <th class="th_tags">Tags</th>
13176 </tr>
13177 </thead>
13178
13179 <tbody>
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013191 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013192 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013193 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013194 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013195 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013196
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013197 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013198
13199
13200 </td> <!-- entry_type -->
13201
13202 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013203 <p>Maximum number of supported points in the
13204tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013205 </td>
13206
13207 <td class="entry_units">
13208 </td>
13209
13210 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080013211 <p>&gt;= 128</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013212 </td>
13213
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013214 <td class="entry_tags">
13215 </td>
13216
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013217 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013218
13219
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013220 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13221 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013222
13223
13224
13225 <!-- end of kind -->
13226 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013227 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013228
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013229 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013230 <tr>
13231 <th class="th_name">Property Name</th>
13232 <th class="th_type">Type</th>
13233 <th class="th_description">Description</th>
13234 <th class="th_units">Units</th>
13235 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013236 <th class="th_tags">Tags</th>
13237 </tr>
13238 </thead>
13239
13240 <tbody>
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013252 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013253 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013254 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013255 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013256 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013257 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013258
Zhijun He704d1282013-08-19 15:26:33 -070013259 <span class="entry_type_array">
13260 n x 2
13261 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013262 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013263 <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 -080013264
13265
13266 </td> <!-- entry_type -->
13267
13268 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013269 <p>Table mapping blue input values to output
13270values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013271 </td>
13272
13273 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013274 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013275 </td>
13276
13277 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013278 <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 -080013279 </td>
13280
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013281 <td class="entry_tags">
13282 </td>
13283
13284 </tr>
13285 <tr class="entries_header">
13286 <th class="th_details" colspan="5">Details</th>
13287 </tr>
13288 <tr class="entry_cont">
13289 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013290 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013291channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13292<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 -080013293 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013294 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013295
13296
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013297 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13298 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013299
13300
13301 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013302 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013303 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013304 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013305 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013306 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013307 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013308
Zhijun He704d1282013-08-19 15:26:33 -070013309 <span class="entry_type_array">
13310 n x 2
13311 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013312 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013313 <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 -080013314
13315
13316 </td> <!-- entry_type -->
13317
13318 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013319 <p>Table mapping green input values to output
13320values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013321 </td>
13322
13323 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013324 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013325 </td>
13326
13327 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013328 <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 -080013329 </td>
13330
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013331 <td class="entry_tags">
13332 </td>
13333
13334 </tr>
13335 <tr class="entries_header">
13336 <th class="th_details" colspan="5">Details</th>
13337 </tr>
13338 <tr class="entry_cont">
13339 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013340 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013341channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
13342<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 -080013343 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013344 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013345
13346
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013347 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13348 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013349
13350
13351 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013352 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013353 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013354 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013355 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013356 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013357 <span class="entry_type_container">x</span>
13358
13359 <span class="entry_type_array">
13360 n x 2
13361 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013362 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013363 <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 -080013364
13365
13366 </td> <!-- entry_type -->
13367
13368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013369 <p>Table mapping red input values to output
13370values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013371 </td>
13372
13373 <td class="entry_units">
13374 </td>
13375
13376 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013377 <p>0-1 on input and output coordinates.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013378 </td>
13379
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013380 <td class="entry_tags">
13381 <ul class="entry_tags">
13382 <li><a href="#tag_DNG">DNG</a></li>
13383 </ul>
13384 </td>
13385
13386 </tr>
13387 <tr class="entries_header">
13388 <th class="th_details" colspan="5">Details</th>
13389 </tr>
13390 <tr class="entry_cont">
13391 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013392 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013393channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013394<p>Since the input and output ranges may vary depending on
Igor Murashkin0b080452013-12-27 15:30:25 -080013395the camera pipeline,<wbr/> the input and output pixel values
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013396are represented by normalized floating-point values
Igor Murashkin0b080452013-12-27 15:30:25 -080013397between 0 and 1,<wbr/> with 0 == black and 1 == white.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013398<p>The curve should be linearly interpolated between the
Igor Murashkin0b080452013-12-27 15:30:25 -080013399defined points.<wbr/> The points will be listed in increasing
13400order of P_<wbr/>IN.<wbr/> For example,<wbr/> if the array is: [0.<wbr/>0,<wbr/> 0.<wbr/>0,<wbr/>
134010.<wbr/>3,<wbr/> 0.<wbr/>5,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0],<wbr/> then the input-&gt;output mapping
13402for a few sample points would be: 0 -&gt; 0,<wbr/> 0.<wbr/>15 -&gt;
134030.<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 -080013404 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013405 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013406
13407
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013408 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13409 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013410
13411
13412 <tr class="entry" id="dynamic_android.tonemap.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013413 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013414 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013415 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013416 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013417 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013418
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013419 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013420
13421 <ul class="entry_type_enum">
13422 <li>
13423 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013424 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
13425android.<wbr/>tonemap.<wbr/>curve</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013426 </li>
13427 <li>
13428 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013429 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
13430bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013431 </li>
13432 <li>
13433 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013434 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
13435quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013436 </li>
13437 </ul>
13438
13439 </td> <!-- entry_type -->
13440
13441 <td class="entry_description">
13442 </td>
13443
13444 <td class="entry_units">
13445 </td>
13446
13447 <td class="entry_range">
13448 </td>
13449
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013450 <td class="entry_tags">
13451 </td>
13452
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013453 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013454
13455
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013456 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13457 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013458
13459
13460
13461 <!-- end of kind -->
13462 </tbody>
13463
13464 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013465 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013466
13467
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013468 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013469
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013470 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013471 <tr>
13472 <th class="th_name">Property Name</th>
13473 <th class="th_type">Type</th>
13474 <th class="th_description">Description</th>
13475 <th class="th_units">Units</th>
13476 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013477 <th class="th_tags">Tags</th>
13478 </tr>
13479 </thead>
13480
13481 <tbody>
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013493 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013494 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013495 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013496 <td class="entry_type">
13497 <span class="entry_type_name entry_type_name_enum">byte</span>
13498
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013499 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013500
13501 <ul class="entry_type_enum">
13502 <li>
13503 <span class="entry_type_enum_name">OFF</span>
13504 </li>
13505 <li>
13506 <span class="entry_type_enum_name">ON</span>
13507 </li>
13508 </ul>
13509
13510 </td> <!-- entry_type -->
13511
13512 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013513 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013514that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013515Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013516disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013517any untrusted applications.<wbr/></p>
13518<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13519transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13520data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013521<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013522doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013523 </td>
13524
13525 <td class="entry_units">
13526 </td>
13527
13528 <td class="entry_range">
13529 </td>
13530
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013531 <td class="entry_tags">
13532 </td>
13533
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013534 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013535
13536
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013537 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13538 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013539
13540
13541
13542 <!-- end of kind -->
13543 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013544 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013546 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013547 <tr>
13548 <th class="th_name">Property Name</th>
13549 <th class="th_type">Type</th>
13550 <th class="th_description">Description</th>
13551 <th class="th_units">Units</th>
13552 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013553 <th class="th_tags">Tags</th>
13554 </tr>
13555 </thead>
13556
13557 <tbody>
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013569 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013570 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013571 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013572 <td class="entry_type">
13573 <span class="entry_type_name entry_type_name_enum">byte</span>
13574
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013575 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013576
13577 <ul class="entry_type_enum">
13578 <li>
13579 <span class="entry_type_enum_name">OFF</span>
13580 </li>
13581 <li>
13582 <span class="entry_type_enum_name">ON</span>
13583 </li>
13584 </ul>
13585
13586 </td> <!-- entry_type -->
13587
13588 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013589 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013590that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013591Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013592disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013593any untrusted applications.<wbr/></p>
13594<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13595transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13596data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013597<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013598doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013599 </td>
13600
13601 <td class="entry_units">
13602 </td>
13603
13604 <td class="entry_range">
13605 </td>
13606
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013607 <td class="entry_tags">
13608 </td>
13609
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013610 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013611
13612
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013613 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13614 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013615
13616
13617
13618 <!-- end of kind -->
13619 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013620 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013622 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013623 <tr>
13624 <th class="th_name">Property Name</th>
13625 <th class="th_type">Type</th>
13626 <th class="th_description">Description</th>
13627 <th class="th_units">Units</th>
13628 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013629 <th class="th_tags">Tags</th>
13630 </tr>
13631 </thead>
13632
13633 <tbody>
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013645 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013646 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013647 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013648 <td class="entry_type">
13649 <span class="entry_type_name entry_type_name_enum">byte</span>
13650 <span class="entry_type_container">x</span>
13651
13652 <span class="entry_type_array">
13653 n
13654 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013655 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013656
13657 <ul class="entry_type_enum">
13658 <li>
13659 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013660 <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 -070013661 </li>
13662 </ul>
13663
13664 </td> <!-- entry_type -->
13665
13666 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013667 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013668 </td>
13669
13670 <td class="entry_units">
13671 </td>
13672
13673 <td class="entry_range">
13674 </td>
13675
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013676 <td class="entry_tags">
13677 </td>
13678
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013679 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013680
13681
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013682 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13683 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013684
13685
13686
13687 <!-- end of kind -->
13688 </tbody>
13689
13690 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013691 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013692
13693
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013694 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013695
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013696 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013697 <tr>
13698 <th class="th_name">Property Name</th>
13699 <th class="th_type">Type</th>
13700 <th class="th_description">Description</th>
13701 <th class="th_units">Units</th>
13702 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013703 <th class="th_tags">Tags</th>
13704 </tr>
13705 </thead>
13706
13707 <tbody>
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013719 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013720 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013721 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013722 <td class="entry_type">
13723 <span class="entry_type_name entry_type_name_enum">byte</span>
13724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013725 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013726
13727 <ul class="entry_type_enum">
13728 <li>
13729 <span class="entry_type_enum_name">LIMITED</span>
13730 </li>
13731 <li>
13732 <span class="entry_type_enum_name">FULL</span>
13733 </li>
13734 </ul>
13735
13736 </td> <!-- entry_type -->
13737
13738 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013739 <p>The camera 3 HAL device can implement one of two possible
13740operational modes; limited and full.<wbr/> Full support is
13741expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013742hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080013743camera HAL device v1 implementation,<wbr/> and is expected from
13744older or inexpensive devices.<wbr/> Full is a strict superset of
13745limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
13746<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013747 </td>
13748
13749 <td class="entry_units">
13750 </td>
13751
13752 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013753 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013754 </td>
13755
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013756 <td class="entry_tags">
13757 </td>
13758
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013759 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013760
13761
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013762 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13763 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070013764
13765
13766
13767 <!-- end of kind -->
13768 </tbody>
13769
13770 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013771 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013772
13773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013774 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013775
13776 <thead class="entries_header">
13777 <tr>
13778 <th class="th_name">Property Name</th>
13779 <th class="th_type">Type</th>
13780 <th class="th_description">Description</th>
13781 <th class="th_units">Units</th>
13782 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013783 <th class="th_tags">Tags</th>
13784 </tr>
13785 </thead>
13786
13787 <tbody>
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013799 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013800 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013801 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013802 <td class="entry_type">
13803 <span class="entry_type_name entry_type_name_enum">byte</span>
13804
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013805 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013806
13807 <ul class="entry_type_enum">
13808 <li>
13809 <span class="entry_type_enum_name">OFF</span>
13810 </li>
13811 <li>
13812 <span class="entry_type_enum_name">ON</span>
13813 </li>
13814 </ul>
13815
13816 </td> <!-- entry_type -->
13817
13818 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013819 <p>Whether black-level compensation is locked
13820to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013821 </td>
13822
13823 <td class="entry_units">
13824 </td>
13825
13826 <td class="entry_range">
13827 </td>
13828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013829 <td class="entry_tags">
13830 <ul class="entry_tags">
13831 <li><a href="#tag_HAL2">HAL2</a></li>
13832 </ul>
13833 </td>
13834
13835 </tr>
13836 <tr class="entries_header">
13837 <th class="th_details" colspan="5">Details</th>
13838 </tr>
13839 <tr class="entry_cont">
13840 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013841 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013842compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080013843OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013844<p>Since changes to certain capture parameters (such as
13845exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080013846compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013847the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080013848metadata.<wbr/></p>
13849<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013850<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013851<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13852<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13853<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13854<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13855<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13856<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013857</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013858<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080013859device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013860result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013861<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013862<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
13863<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13864<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
13865<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
13866<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
13867<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013868</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080013869<p>This indicates to the application that on frame 4,<wbr/> black
13870levels were reset due to exposure value changes,<wbr/> and pixel
13871values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013872<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080013873possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013874other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080013875or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013876 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013877 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013878
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013879 <tr class="entries_header">
13880 <th class="th_details" colspan="5">HAL Implementation Details</th>
13881 </tr>
13882 <tr class="entry_cont">
13883 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013884 <p>If for some reason black level locking is no longer possible
13885(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13886black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013887override this request (and it must report 'OFF' when this
13888does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013889possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013890 </td>
13891 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013892
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013893 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13894 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013895
13896
13897
13898 <!-- end of kind -->
13899 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013900 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013901
13902 <thead class="entries_header">
13903 <tr>
13904 <th class="th_name">Property Name</th>
13905 <th class="th_type">Type</th>
13906 <th class="th_description">Description</th>
13907 <th class="th_units">Units</th>
13908 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013909 <th class="th_tags">Tags</th>
13910 </tr>
13911 </thead>
13912
13913 <tbody>
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013925 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013926 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013927 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013928 <td class="entry_type">
13929 <span class="entry_type_name entry_type_name_enum">byte</span>
13930
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013931 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013932
13933 <ul class="entry_type_enum">
13934 <li>
13935 <span class="entry_type_enum_name">OFF</span>
13936 </li>
13937 <li>
13938 <span class="entry_type_enum_name">ON</span>
13939 </li>
13940 </ul>
13941
13942 </td> <!-- entry_type -->
13943
13944 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013945 <p>Whether black-level compensation is locked
13946to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013947 </td>
13948
13949 <td class="entry_units">
13950 </td>
13951
13952 <td class="entry_range">
13953 </td>
13954
Zhijun He69fc0ea2013-07-17 09:42:58 -070013955 <td class="entry_tags">
13956 <ul class="entry_tags">
13957 <li><a href="#tag_HAL2">HAL2</a></li>
13958 </ul>
13959 </td>
13960
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013961 </tr>
13962 <tr class="entries_header">
13963 <th class="th_details" colspan="5">Details</th>
13964 </tr>
13965 <tr class="entry_cont">
13966 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013967 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013968ON 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 -080013969a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080013970perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013971 </td>
13972 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013973
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013974 <tr class="entries_header">
13975 <th class="th_details" colspan="5">HAL Implementation Details</th>
13976 </tr>
13977 <tr class="entry_cont">
13978 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013979 <p>If for some reason black level locking is no longer possible
13980(for example,<wbr/> the analog gain has changed,<wbr/> which forces
13981black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013982override this request (and it must report 'OFF' when this
13983does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080013984possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080013985 </td>
13986 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013987
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013988 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13989 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013990
13991
13992
13993 <!-- end of kind -->
13994 </tbody>
13995
13996 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013997<!-- </namespace> -->
13998 </table>
13999
14000 <div class="tags" id="tag_index">
14001 <h2>Tags</h2>
14002 <ul>
14003 <li id="tag_AWB">AWB -
14004 Needed for auto white balance
14005
14006 <ul class="tags_entries">
14007 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14008 </ul>
14009 </li> <!-- tag_AWB -->
14010 <li id="tag_BC">BC -
14011 Needed for backwards compatibility with old Java API
14012
14013 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014014 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014015 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14016 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14017 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14018 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14019 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014020 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014021 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14022 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014023 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014024 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14025 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14026 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14027 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14028 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14029 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14030 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14031 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014032 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014033 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14034 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14035 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14036 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14037 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14038 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14039 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14040 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14041 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14042 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14043 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14044 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14045 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14046 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14047 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14048 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14049 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14050 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14051 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14052 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14053 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14054 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14055 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14056 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14057 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14058 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14059 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14060 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014061 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014062 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14063 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14064 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014065 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014066 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014067 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14068 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14069 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14070 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14071 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14072 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14073 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14074 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14075 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14076 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14077 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14078 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14079 </ul>
14080 </li> <!-- tag_BC -->
14081 <li id="tag_V1">V1 -
14082 New features for first camera 2 release (API1)
14083
14084 <ul class="tags_entries">
14085 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14086 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14087 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14088 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14089 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14090 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14091 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14092 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14093 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14094 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14095 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14096 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14097 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14098 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14099 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14100 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14101 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14102 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14103 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14104 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14105 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14106 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14107 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14108 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014109 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014110 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14111 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14112 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14113 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14114 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14115 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14116 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14117 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14118 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14119 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14120 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14121 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14122 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14123 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14124 </ul>
14125 </li> <!-- tag_V1 -->
14126 <li id="tag_ADV">ADV - None
14127 <ul class="tags_entries">
14128 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14129 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14130 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14131 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14132 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14133 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14134 </ul>
14135 </li> <!-- tag_ADV -->
14136 <li id="tag_DNG">DNG -
14137 Needed for DNG file support
14138
14139 <ul class="tags_entries">
14140 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014141 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14142 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14143 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14144 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14145 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14146 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14147 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14148 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14149 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14150 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14151 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14152 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14153 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14154 </ul>
14155 </li> <!-- tag_DNG -->
14156 <li id="tag_EXIF">EXIF - None
14157 <ul class="tags_entries">
14158 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14159 </ul>
14160 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014161 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014162 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014163
14164 <ul class="tags_entries">
14165 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14166 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14167 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014168 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014169 </ul>
14170 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014171 <li id="tag_FULL">FULL -
14172 Entry is required for full hardware level devices, and optional for other hardware levels
14173
14174 <ul class="tags_entries">
14175 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14176 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14177 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14178 </ul>
14179 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014180 </ul>
14181 </div>
14182
14183 [ <a href="#">top</a> ]
14184
14185</body>
14186</html>