blob: c355ff94fe6a0cf9addb57c1e762389358c3adf3 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080031 .entry_cont { background-color: #f0f0f0 }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070032 .entries_header { background-color: #dddddd; text-align: center}
33
34 /* toc style */
35 .toc_section_header { font-size:1.3em; }
36 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080037
38 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070039 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
40 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080041 .th_name { width: 20% }
42 .th_units { width: 10% }
43 .th_tags { width: 5% }
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080044 .th_details { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080045 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070046 .th_description { width: 20% }
47 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080048 td { font-size: 0.9em; }
49
50 /* hide the first thead, we need it there only to enforce column sizes */
51 .thead_dummy { visibility: hidden; }
52
53 /* Entry flair */
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080054 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; vertical-align:top; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080055
56 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070057 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
58 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
59 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080060 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
61 .entry_type_enum_notes:before { content:" - " }
Igor Murashkina10351a2014-01-15 17:05:22 -080062 .entry_type_enum_notes>p:first-child { display:inline; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080063 .entry_type_enum_value:before { content:" = " }
64 .entry_type_enum_value { font-family: monospace; }
65 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
66 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
67
68 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080071 /* Entry details (full docs) flair */
72 .entry_details_header { font-weight: bold; background-color: #dddddd;
73 text-align: center; font-size: 1.1em; margin-left: 0em; margin-right: 0em; }
74
75 /* Entry spacer flair */
76 .entry_spacer { background-color: transparent; border-style: none; height: 0.5em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080077
78 /* TODO: generate abbr element for each tag link? */
79 /* TODO for each x.y.z try to link it to the entry */
80
81 </style>
82
83 <style>
84
85 {
86 /* broken...
87 supposedly there is a bug in chrome that it lays out tables before
88 it knows its being printed, so the page-break-* styles are ignored
89 */
90 tr { page-break-after: always; page-break-inside: avoid; }
91 }
92
93 </style>
94</head>
95
96
97
Igor Murashkin08b8aad2012-11-29 15:23:03 -080098<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070099 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700101
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800102 <h2>Table of Contents</h2>
103 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700104 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
105 <li>
106 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
107 <ul class="toc_section">
108 <li>
109 <span class="toc_kind_header">controls</span>
110 <ul class="toc_section">
111 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
112 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700114 </ul>
115 </li>
116 <li>
117 <span class="toc_kind_header">dynamic</span>
118 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700119 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
120 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700121 </ul>
122 </li>
123 </ul> <!-- toc_section -->
124 </li>
125 <li>
126 <span class="toc_section_header"><a href="#section_control">control</a></span>
127 <ul class="toc_section">
128 <li>
129 <span class="toc_kind_header">controls</span>
130 <ul class="toc_section">
131 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
132 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
133 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
134 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
135 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
136 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
137 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
138 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
139 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
140 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
141 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
142 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
143 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
144 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
145 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
146 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
147 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
148 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
149 </ul>
150 </li>
151 <li>
152 <span class="toc_kind_header">static</span>
153 <ul class="toc_section">
154 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
155 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
156 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
157 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
158 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
159 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
160 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
161 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
162 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
163 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
164 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
165 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
166 </ul>
167 </li>
168 <li>
169 <span class="toc_kind_header">dynamic</span>
170 <ul class="toc_section">
171 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -0800172 <li><a href="#dynamic_android.control.aeMode">android.control.aeMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700173 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
174 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
175 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
176 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
177 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
178 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
179 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
180 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
181 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
182 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
183 </ul>
184 </li>
185 </ul> <!-- toc_section -->
186 </li>
187 <li>
188 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
189 <ul class="toc_section">
190 <li>
191 <span class="toc_kind_header">controls</span>
192 <ul class="toc_section">
193 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
194 </ul>
195 </li>
196 </ul> <!-- toc_section -->
197 </li>
198 <li>
199 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
200 <ul class="toc_section">
201 <li>
202 <span class="toc_kind_header">controls</span>
203 <ul class="toc_section">
204 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
205 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
206 </ul>
207 </li>
208 <li>
209 <span class="toc_kind_header">dynamic</span>
210 <ul class="toc_section">
211 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
212 </ul>
213 </li>
214 </ul> <!-- toc_section -->
215 </li>
216 <li>
217 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
218 <ul class="toc_section">
219 <li>
220 <span class="toc_kind_header">controls</span>
221 <ul class="toc_section">
222 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
223 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
224 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
225 </ul>
226 </li>
227 <li>
228 <span class="toc_kind_header">static</span>
229 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700231 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
232 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700234 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
235 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
236 </ul>
237 </li>
238 <li>
239 <span class="toc_kind_header">dynamic</span>
240 <ul class="toc_section">
241 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
242 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
243 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
244 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
245 </ul>
246 </li>
247 </ul> <!-- toc_section -->
248 </li>
249 <li>
250 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
251 <ul class="toc_section">
252 <li>
253 <span class="toc_kind_header">controls</span>
254 <ul class="toc_section">
255 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
256 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
257 </ul>
258 </li>
259 </ul> <!-- toc_section -->
260 </li>
261 <li>
262 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
263 <ul class="toc_section">
264 <li>
265 <span class="toc_kind_header">controls</span>
266 <ul class="toc_section">
267 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
268 </ul>
269 </li>
270 <li>
271 <span class="toc_kind_header">static</span>
272 <ul class="toc_section">
273
274 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
275
276 </ul>
277 </li>
278 <li>
279 <span class="toc_kind_header">dynamic</span>
280 <ul class="toc_section">
281 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
282 </ul>
283 </li>
284 </ul> <!-- toc_section -->
285 </li>
286 <li>
287 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
288 <ul class="toc_section">
289 <li>
290 <span class="toc_kind_header">controls</span>
291 <ul class="toc_section">
292 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
293 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
294 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
295 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
296 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
297 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
298 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">static</span>
303 <ul class="toc_section">
304 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
305 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
306 </ul>
307 </li>
308 <li>
309 <span class="toc_kind_header">dynamic</span>
310 <ul class="toc_section">
311 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
312 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
313 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
314 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
315 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
316 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
317 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
318 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
319 </ul>
320 </li>
321 </ul> <!-- toc_section -->
322 </li>
323 <li>
324 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
325 <ul class="toc_section">
326 <li>
327 <span class="toc_kind_header">controls</span>
328 <ul class="toc_section">
329 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
330 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
331 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
332 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
333 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
334 </ul>
335 </li>
336 <li>
337 <span class="toc_kind_header">static</span>
338 <ul class="toc_section">
339
340 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
341 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
342 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
343 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
344 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
345 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
346 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
347 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700348 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
349
350 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
351 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
352 <li><a href="#static_android.lens.position">android.lens.position</a></li>
353 </ul>
354 </li>
355 <li>
356 <span class="toc_kind_header">dynamic</span>
357 <ul class="toc_section">
358 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
359 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
360 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
361 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
362 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
363 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
364 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
365 </ul>
366 </li>
367 </ul> <!-- toc_section -->
368 </li>
369 <li>
370 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
371 <ul class="toc_section">
372 <li>
373 <span class="toc_kind_header">controls</span>
374 <ul class="toc_section">
375 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
377 </ul>
378 </li>
379 <li>
380 <span class="toc_kind_header">dynamic</span>
381 <ul class="toc_section">
382 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
383 </ul>
384 </li>
385 </ul> <!-- toc_section -->
386 </li>
387 <li>
388 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
389 <ul class="toc_section">
390 <li>
391 <span class="toc_kind_header">static</span>
392 <ul class="toc_section">
393 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
394 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
395 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700396 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
397 </ul>
398 </li>
399 <li>
400 <span class="toc_kind_header">dynamic</span>
401 <ul class="toc_section">
402 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700403 </ul>
404 </li>
405 </ul> <!-- toc_section -->
406 </li>
407 <li>
408 <span class="toc_section_header"><a href="#section_request">request</a></span>
409 <ul class="toc_section">
410 <li>
411 <span class="toc_kind_header">controls</span>
412 <ul class="toc_section">
413 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
414 <li><a href="#controls_android.request.id">android.request.id</a></li>
415 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
416 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
417 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
418 <li><a href="#controls_android.request.type">android.request.type</a></li>
419 </ul>
420 </li>
421 <li>
422 <span class="toc_kind_header">static</span>
423 <ul class="toc_section">
424 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
425 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
426 </ul>
427 </li>
428 <li>
429 <span class="toc_kind_header">dynamic</span>
430 <ul class="toc_section">
431 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
432 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
433 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
434 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
435 </ul>
436 </li>
437 </ul> <!-- toc_section -->
438 </li>
439 <li>
440 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
441 <ul class="toc_section">
442 <li>
443 <span class="toc_kind_header">controls</span>
444 <ul class="toc_section">
445 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
446 </ul>
447 </li>
448 <li>
449 <span class="toc_kind_header">static</span>
450 <ul class="toc_section">
451 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
452 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
453 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
454 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
455 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
456 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
457 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
458 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
459 </ul>
460 </li>
461 <li>
462 <span class="toc_kind_header">dynamic</span>
463 <ul class="toc_section">
464 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
465 </ul>
466 </li>
467 </ul> <!-- toc_section -->
468 </li>
469 <li>
470 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
471 <ul class="toc_section">
472 <li>
473 <span class="toc_kind_header">controls</span>
474 <ul class="toc_section">
475 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
476 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
477 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
478 </ul>
479 </li>
480 <li>
481 <span class="toc_kind_header">static</span>
482 <ul class="toc_section">
483
484 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700485 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700486 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
487 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
488 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
489 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
490 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
491 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
492
493 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
494 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
495 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
496 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
497 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
498 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
499 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
500 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
501 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
502 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
503 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
504 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
505 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
506 </ul>
507 </li>
508 <li>
509 <span class="toc_kind_header">dynamic</span>
510 <ul class="toc_section">
511 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
512 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
513 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
514 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700515 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700516 </ul>
517 </li>
518 </ul> <!-- toc_section -->
519 </li>
520 <li>
521 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
522 <ul class="toc_section">
523 <li>
524 <span class="toc_kind_header">controls</span>
525 <ul class="toc_section">
526 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
527 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
528 </ul>
529 </li>
530 <li>
531 <span class="toc_kind_header">dynamic</span>
532 <ul class="toc_section">
533 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
534 </ul>
535 </li>
536 </ul> <!-- toc_section -->
537 </li>
538 <li>
539 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
540 <ul class="toc_section">
541 <li>
542 <span class="toc_kind_header">controls</span>
543 <ul class="toc_section">
544 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
545 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
546 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700547 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700548 </ul>
549 </li>
550 <li>
551 <span class="toc_kind_header">static</span>
552 <ul class="toc_section">
553
554 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
555 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
556 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
557 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
558 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
559 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
560
561 </ul>
562 </li>
563 <li>
564 <span class="toc_kind_header">dynamic</span>
565 <ul class="toc_section">
566 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
567 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
568 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
569 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
570 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
571 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
572 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
573 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
574 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700575 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
576 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
577 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
578 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700579 </ul>
580 </li>
581 </ul> <!-- toc_section -->
582 </li>
583 <li>
584 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
585 <ul class="toc_section">
586 <li>
587 <span class="toc_kind_header">controls</span>
588 <ul class="toc_section">
589 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
590 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
591 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
592 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
593 </ul>
594 </li>
595 <li>
596 <span class="toc_kind_header">static</span>
597 <ul class="toc_section">
598 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
599 </ul>
600 </li>
601 <li>
602 <span class="toc_kind_header">dynamic</span>
603 <ul class="toc_section">
604 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
605 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
606 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
607 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
608 </ul>
609 </li>
610 </ul> <!-- toc_section -->
611 </li>
612 <li>
613 <span class="toc_section_header"><a href="#section_led">led</a></span>
614 <ul class="toc_section">
615 <li>
616 <span class="toc_kind_header">controls</span>
617 <ul class="toc_section">
618 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
619 </ul>
620 </li>
621 <li>
622 <span class="toc_kind_header">dynamic</span>
623 <ul class="toc_section">
624 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
625 </ul>
626 </li>
627 <li>
628 <span class="toc_kind_header">static</span>
629 <ul class="toc_section">
630 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
631 </ul>
632 </li>
633 </ul> <!-- toc_section -->
634 </li>
635 <li>
636 <span class="toc_section_header"><a href="#section_info">info</a></span>
637 <ul class="toc_section">
638 <li>
639 <span class="toc_kind_header">static</span>
640 <ul class="toc_section">
641 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
642 </ul>
643 </li>
644 </ul> <!-- toc_section -->
645 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700646 <li>
647 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
648 <ul class="toc_section">
649 <li>
650 <span class="toc_kind_header">controls</span>
651 <ul class="toc_section">
652 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
653 </ul>
654 </li>
655 <li>
656 <span class="toc_kind_header">dynamic</span>
657 <ul class="toc_section">
658 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
659 </ul>
660 </li>
661 </ul> <!-- toc_section -->
662 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800663 </ul>
664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700665
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800666 <h1>Properties</h1>
667 <table class="properties">
668
669 <thead class="thead_dummy">
670 <tr>
671 <th class="th_name">Property Name</th>
672 <th class="th_type">Type</th>
673 <th class="th_description">Description</th>
674 <th class="th_units">Units</th>
675 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800676 <th class="th_tags">Tags</th>
677 </tr>
678 </thead> <!-- so that the first occurrence of thead is not
679 above the first occurrence of tr -->
680<!-- <namespace name="android"> -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800681 <tr><td colspan="6" id="section_colorCorrection" class="section">colorCorrection</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800682
683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800684 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800685
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700686 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800687 <tr>
688 <th class="th_name">Property Name</th>
689 <th class="th_type">Type</th>
690 <th class="th_description">Description</th>
691 <th class="th_units">Units</th>
692 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800693 <th class="th_tags">Tags</th>
694 </tr>
695 </thead>
696
697 <tbody>
698
699
700
701
702
703
704
705
706
707
708 <tr class="entry" id="controls_android.colorCorrection.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800709 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800710 android.<wbr/>color<wbr/>Correction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800711 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800712 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800713 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800714
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700715 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800716
717 <ul class="entry_type_enum">
718 <li>
719 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800720 <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
Igor Murashkin43817ad2014-01-10 15:58:35 -0800721and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
722<p>All advanced white balance adjustments (not specified
723by our white balance pipeline) must be disabled.<wbr/></p>
724<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
725TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
726this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800727 </li>
728 <li>
729 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800730 <span class="entry_type_enum_notes"><p>Must not slow down capture rate relative to sensor raw
731output.<wbr/></p>
732<p>Advanced white balance adjustments above and beyond
733the specified white balance pipeline may be applied.<wbr/></p>
734<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
735the camera device uses the last frame's AWB values
736(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800737 </li>
738 <li>
739 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800740 <span class="entry_type_enum_notes"><p>Capture rate (relative to sensor raw output)
741may be reduced by high quality.<wbr/></p>
742<p>Advanced white balance adjustments above and beyond
743the specified white balance pipeline may be applied.<wbr/></p>
744<p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
745the camera device uses the last frame's AWB values
746(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 </li>
748 </ul>
749
750 </td> <!-- entry_type -->
751
752 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800753 <p>The mode control selects how the image data is converted from the
754sensor's native color into linear sRGB color.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800755 </td>
756
757 <td class="entry_units">
758 </td>
759
760 <td class="entry_range">
761 </td>
762
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800763 <td class="entry_tags">
764 </td>
765
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800766 </tr>
767 <tr class="entries_header">
768 <th class="th_details" colspan="5">Details</th>
769 </tr>
770 <tr class="entry_cont">
771 <td class="entry_details" colspan="5">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800772 <p>When auto-white balance is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
773control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
774application controls how the color mapping is performed.<wbr/></p>
775<p>We define the expected processing pipeline below.<wbr/> For consistency
776across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
777<p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
778do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
779<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
780camera device (in the results) and be roughly correct.<wbr/></p>
781<p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
782FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
783as what was produced by the camera device in the earlier frame.<wbr/></p>
784<p>The expected processing pipeline is as follows:</p>
785<p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
786<p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
787gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
788matrix (applied after demosaic).<wbr/></p>
789<p>The 4-channel white-balance gains are defined as:</p>
790<pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
791</code></pre>
792<p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
793output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
794These may be identical for a given camera device implementation; if
795the camera device does not support a separate gain for even/<wbr/>odd green
796channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
797<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
798<p>The matrices for color transforms are defined as a 9-entry vector:</p>
799<pre><code><a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> = [ I0 I1 I2 I3 I4 I5 I6 I7 I8 ]
800</code></pre>
801<p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
802to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
803<p>with colors as follows:</p>
804<pre><code>r' = I0r + I1g + I2b
805g' = I3r + I4g + I5b
806b' = I6r + I7g + I8b
807</code></pre>
808<p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
809values are clipped to fit within the range.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800810 </td>
811 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800812
813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800814 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
815 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800816
817
818 <tr class="entry" id="controls_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800819 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800820 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800821 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800822 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700823 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800824 <span class="entry_type_container">x</span>
825
826 <span class="entry_type_array">
827 3 x 3
828 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700829 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800830 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831
832
833 </td> <!-- entry_type -->
834
835 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800836 <p>A color transform matrix to use to transform
837from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800838 </td>
839
840 <td class="entry_units">
841 </td>
842
843 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800844 <p>Output values are expected to be in the range
845(0,<wbr/>1)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800846 </td>
847
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800848 <td class="entry_tags">
849 </td>
850
851 </tr>
852 <tr class="entries_header">
853 <th class="th_details" colspan="5">Details</th>
854 </tr>
855 <tr class="entry_cont">
856 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800857 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800858<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800859directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800860<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -0800861<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800862for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800863reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700864 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800865 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800866
867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800868 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
869 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870
871
872 <tr class="entry" id="controls_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800874 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800875 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700876 <td class="entry_type">
877 <span class="entry_type_name">float</span>
878 <span class="entry_type_container">x</span>
879
880 <span class="entry_type_array">
881 4
882 </span>
883 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800884 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700885
886
887 </td> <!-- entry_type -->
888
889 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800890 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -0800891white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700892 </td>
893
894 <td class="entry_units">
895 </td>
896
897 <td class="entry_range">
898 </td>
899
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800900 <td class="entry_tags">
901 </td>
902
903 </tr>
904 <tr class="entries_header">
905 <th class="th_details" colspan="5">Details</th>
906 </tr>
907 <tr class="entry_cont">
908 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800909 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -0800910the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
911for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
912is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -0800913does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800914it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
915<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800916<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800917<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800918directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800919<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800920<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -0800921the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800922 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800923 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800924
925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800926 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
927 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800928
929
930
931 <!-- end of kind -->
932 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800933 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700935 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800936 <tr>
937 <th class="th_name">Property Name</th>
938 <th class="th_type">Type</th>
939 <th class="th_description">Description</th>
940 <th class="th_units">Units</th>
941 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800942 <th class="th_tags">Tags</th>
943 </tr>
944 </thead>
945
946 <tbody>
947
948
949
950
951
952
953
954
955
956
Zhijun He69fc0ea2013-07-17 09:42:58 -0700957 <tr class="entry" id="dynamic_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800958 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800959 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800961 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700962 <span class="entry_type_name">rational</span>
963 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800964
Zhijun He69fc0ea2013-07-17 09:42:58 -0700965 <span class="entry_type_array">
966 3 x 3
967 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700968 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800969 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800970
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800971
972 </td> <!-- entry_type -->
973
974 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800975 <p>A color transform matrix to use to transform
976from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700977 </td>
978
979 <td class="entry_units">
980 </td>
981
982 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800983 <p>Output values are expected to be in the range
984(0,<wbr/>1)</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700985 </td>
986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800987 <td class="entry_tags">
988 </td>
989
990 </tr>
991 <tr class="entries_header">
992 <th class="th_details" colspan="5">Details</th>
993 </tr>
994 <tr class="entry_cont">
995 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800996 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800997<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800998directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800999<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08001000<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001001for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -08001002reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001003 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001004 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001005
1006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001007 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1008 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -07001009
1010
1011 <tr class="entry" id="dynamic_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001012 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001013 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001014 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001015 <td class="entry_type">
1016 <span class="entry_type_name">float</span>
1017 <span class="entry_type_container">x</span>
1018
1019 <span class="entry_type_array">
1020 4
1021 </span>
1022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08001023 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001024
1025
1026 </td> <!-- entry_type -->
1027
1028 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -08001029 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -08001030white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001031 </td>
1032
1033 <td class="entry_units">
1034 </td>
1035
1036 <td class="entry_range">
1037 </td>
1038
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001039 <td class="entry_tags">
1040 </td>
1041
1042 </tr>
1043 <tr class="entries_header">
1044 <th class="th_details" colspan="5">Details</th>
1045 </tr>
1046 <tr class="entry_cont">
1047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001048 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -08001049the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
1050for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
1051is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -08001052does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001053it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
1054<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001055<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001056<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001057directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001058<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001059<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -08001060the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001061 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001062 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001063
1064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001065 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1066 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067
1068
1069
1070 <!-- end of kind -->
1071 </tbody>
1072
1073 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001074 <tr><td colspan="6" id="section_control" class="section">control</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001075
1076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001077 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001079 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001080 <tr>
1081 <th class="th_name">Property Name</th>
1082 <th class="th_type">Type</th>
1083 <th class="th_description">Description</th>
1084 <th class="th_units">Units</th>
1085 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001086 <th class="th_tags">Tags</th>
1087 </tr>
1088 </thead>
1089
1090 <tbody>
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101 <tr class="entry" id="controls_android.control.aeAntibandingMode">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001102 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001103 android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001104 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001105 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001106 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001108 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001109
1110 <ul class="entry_type_enum">
1111 <li>
1112 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001113 <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
1114avoid banding problems.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001115 </li>
1116 <li>
1117 <span class="entry_type_enum_name">50HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001118 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1119avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001120 </li>
1121 <li>
1122 <span class="entry_type_enum_name">60HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001123 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1124avoid banding problems with 60Hz illumination
1125sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001126 </li>
1127 <li>
1128 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001129 <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
1130antibanding routine to the current illumination
1131conditions.<wbr/> This is the default.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132 </li>
1133 </ul>
1134
1135 </td> <!-- entry_type -->
1136
1137 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001138 <p>The desired setting for the camera device's auto-exposure
1139algorithm's antibanding compensation.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </td>
1141
1142 <td class="entry_units">
1143 </td>
1144
1145 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001146 <p><a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001147 </td>
1148
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001149 <td class="entry_tags">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001150 <ul class="entry_tags">
1151 <li><a href="#tag_BC">BC</a></li>
1152 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001153 </td>
1154
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001155 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001156 <tr class="entries_header">
1157 <th class="th_details" colspan="5">Details</th>
1158 </tr>
1159 <tr class="entry_cont">
1160 <td class="entry_details" colspan="5">
1161 <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
1162lights,<wbr/> flicker at the rate of the power supply frequency
1163(60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
1164typically not noticeable to a person,<wbr/> it can be visible to
1165a camera device.<wbr/> If a camera sets its exposure time to the
1166wrong value,<wbr/> the flicker may become visible in the
1167viewfinder as flicker or in a final captured image,<wbr/> as a
1168set of variable-brightness bands across the image.<wbr/></p>
1169<p>Therefore,<wbr/> the auto-exposure routines of camera devices
1170include antibanding routines that ensure that the chosen
1171exposure value will not cause such banding.<wbr/> The choice of
1172exposure time depends on the rate of flicker,<wbr/> which the
1173camera device can detect automatically,<wbr/> or the expected
1174rate can be selected by the application using this
1175control.<wbr/></p>
1176<p>A given camera device may not support all of the possible
1177options for the antibanding mode.<wbr/> The
1178<a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
1179the available modes for a given camera device.<wbr/></p>
1180<p>The default mode is AUTO,<wbr/> which must be supported by all
1181camera devices.<wbr/></p>
1182<p>If manual exposure control is enabled (by setting
1183<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1184then this setting has no effect,<wbr/> and the application must
1185ensure it selects exposure times that do not cause banding
1186issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
1187the application in this.<wbr/></p>
1188 </td>
1189 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001190
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001191 <tr class="entries_header">
1192 <th class="th_details" colspan="5">HAL Implementation Details</th>
1193 </tr>
1194 <tr class="entry_cont">
1195 <td class="entry_details" colspan="5">
1196 <p>For all capture request templates,<wbr/> this field must be set
1197to AUTO.<wbr/> AUTO is the only mode that must supported;
1198OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
1199<p>If manual exposure control is enabled (by setting
1200<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
1201then the exposure values provided by the application must not be
1202adjusted for antibanding.<wbr/></p>
1203 </td>
1204 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001205
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001206 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1207 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001208
1209
1210 <tr class="entry" id="controls_android.control.aeExposureCompensation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001211 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001212 android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001213 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001214 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001215 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001216
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001217 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001218
1219
1220 </td> <!-- entry_type -->
1221
1222 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001223 <p>Adjustment to AE target image
1224brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001225 </td>
1226
1227 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08001228 count of positive/<wbr/>negative EV steps
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001229 </td>
1230
1231 <td class="entry_range">
1232 </td>
1233
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001234 <td class="entry_tags">
1235 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001236 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001237 </ul>
1238 </td>
1239
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001240 </tr>
1241 <tr class="entries_header">
1242 <th class="th_details" colspan="5">Details</th>
1243 </tr>
1244 <tr class="entry_cont">
1245 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001246 <p>For example,<wbr/> if EV step is 0.<wbr/>333,<wbr/> '6' will mean an
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001247exposure compensation of +2 EV; -3 will mean an exposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001248compensation of -1</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001249 </td>
1250 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001251
1252
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001253 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1254 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001255
1256
1257 <tr class="entry" id="controls_android.control.aeLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001258 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001259 android.<wbr/>control.<wbr/>ae<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001260 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001262 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001263
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001264 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001265
1266 <ul class="entry_type_enum">
1267 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001268 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001269 <span class="entry_type_enum_notes"><p>Autoexposure lock is disabled; the AE algorithm
1270is free to update its parameters.<wbr/></p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001271 </li>
1272 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001273 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001274 <span class="entry_type_enum_notes"><p>Autoexposure lock is enabled; the AE algorithm
1275must not update the exposure and sensitivity parameters
1276while the lock is active</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001277 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001278 </ul>
1279
1280 </td> <!-- entry_type -->
1281
1282 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001283 <p>Whether AE is currently locked to its latest
1284calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001285 </td>
1286
1287 <td class="entry_units">
1288 </td>
1289
1290 <td class="entry_range">
1291 </td>
1292
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001293 <td class="entry_tags">
1294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001295 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001296 </ul>
1297 </td>
1298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001299 </tr>
1300 <tr class="entries_header">
1301 <th class="th_details" colspan="5">Details</th>
1302 </tr>
1303 <tr class="entry_cont">
1304 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001305 <p>Note that even when AE is locked,<wbr/> the flash may be
1306fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
1307ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001308 </td>
1309 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001310
1311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001314
1315
1316 <tr class="entry" id="controls_android.control.aeMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001317 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001318 android.<wbr/>control.<wbr/>ae<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001319 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001324
1325 <ul class="entry_type_enum">
1326 <li>
1327 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001328 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
1329the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1330<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
1331<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
1332device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
1333a flash unit for this camera device.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001334 </li>
1335 <li>
1336 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001337 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
1338with no flash control.<wbr/> The application's values for
1339<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1340<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1341<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
1342application has control over the various
1343android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 </li>
1345 <li>
1346 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001347 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1348the camera's flash unit,<wbr/> firing it in low-light
1349conditions.<wbr/> The flash may be fired during a
1350precapture sequence (triggered by
1351<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
1352for captures for which the
1353<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1354STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001355 </li>
1356 <li>
1357 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001358 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1359the camera's flash unit,<wbr/> always firing it for still
1360captures.<wbr/> The flash may be fired during a precapture
1361sequence (triggered by
1362<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
1363be fired for captures for which the
1364<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1365STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001366 </li>
1367 <li>
1368 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001369 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
1370reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
1371a red eye reduction flash will fire during the
1372precapture sequence.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001373 </li>
1374 </ul>
1375
1376 </td> <!-- entry_type -->
1377
1378 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001379 <p>The desired mode for the camera device's
1380auto-exposure routine.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 </td>
1382
1383 <td class="entry_units">
1384 </td>
1385
1386 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001387 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001388 </td>
1389
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001390 <td class="entry_tags">
1391 <ul class="entry_tags">
1392 <li><a href="#tag_BC">BC</a></li>
1393 </ul>
1394 </td>
1395
1396 </tr>
1397 <tr class="entries_header">
1398 <th class="th_details" colspan="5">Details</th>
1399 </tr>
1400 <tr class="entry_cont">
1401 <td class="entry_details" colspan="5">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001402 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
1403AUTO.<wbr/></p>
1404<p>When set to any of the ON modes,<wbr/> the camera device's
1405auto-exposure routine is enabled,<wbr/> overriding the
1406application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
1407and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1408<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1409<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
1410is selected,<wbr/> the camera device's flash unit controls are
1411also overridden.<wbr/></p>
1412<p>The FLASH modes are only available if the camera device
1413has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
1414<p>If flash TORCH mode is desired,<wbr/> this field must be set to
1415ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
1416<p>When set to any of the ON modes,<wbr/> the values chosen by the
1417camera device auto-exposure routine for the overridden
1418fields for a given capture will be available in its
1419CaptureResult.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001420 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001421 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001422
1423
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001424 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1425 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001426
1427
1428 <tr class="entry" id="controls_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001429 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001430 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001431 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001432 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001433 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001434 <span class="entry_type_container">x</span>
1435
1436 <span class="entry_type_array">
1437 5 x area_count
1438 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001439 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001440
1441
1442 </td> <!-- entry_type -->
1443
1444 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001445 <p>List of areas to use for
1446metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001447 </td>
1448
1449 <td class="entry_units">
1450 </td>
1451
1452 <td class="entry_range">
1453 </td>
1454
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001455 <td class="entry_tags">
1456 <ul class="entry_tags">
1457 <li><a href="#tag_BC">BC</a></li>
1458 </ul>
1459 </td>
1460
1461 </tr>
1462 <tr class="entries_header">
1463 <th class="th_details" colspan="5">Details</th>
1464 </tr>
1465 <tr class="entry_cont">
1466 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001467 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1468xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1469specified coordinates.<wbr/></p>
1470<p>The coordinate system is based on the active pixel array,<wbr/>
1471with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001472(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1473<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001474bottom-right pixel in the active pixel array.<wbr/> The weight
1475should be nonnegative.<wbr/></p>
1476<p>If all regions have 0 weight,<wbr/> then no specific metering area
1477needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001478outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001479should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001480used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001481 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001482 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001483
1484
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001485 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1486 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001487
1488
1489 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001490 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001491 android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001492 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001493 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001494 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001495 <span class="entry_type_container">x</span>
1496
1497 <span class="entry_type_array">
1498 2
1499 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001500 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501
1502
1503 </td> <!-- entry_type -->
1504
1505 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001506 <p>Range over which fps can be adjusted to
1507maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001508 </td>
1509
1510 <td class="entry_units">
1511 </td>
1512
1513 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001514 <p><a href="#static_android.control.aeAvailableTargetFpsRanges">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001515 </td>
1516
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001517 <td class="entry_tags">
1518 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001519 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001520 </ul>
1521 </td>
1522
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001523 </tr>
1524 <tr class="entries_header">
1525 <th class="th_details" colspan="5">Details</th>
1526 </tr>
1527 <tr class="entry_cont">
1528 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001529 <p>Only constrains AE algorithm,<wbr/> not manual control
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001530of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001531 </td>
1532 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001533
1534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001535 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1536 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001537
1538
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001539 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001540 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001541 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001542 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001543 <td class="entry_type">
1544 <span class="entry_type_name entry_type_name_enum">byte</span>
1545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001546 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001547
1548 <ul class="entry_type_enum">
1549 <li>
1550 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001551 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001552 </li>
1553 <li>
1554 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001555 <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
1556by the camera device.<wbr/> The exact effect of the precapture
1557trigger depends on the current AE mode and state.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001558 </li>
1559 </ul>
1560
1561 </td> <!-- entry_type -->
1562
1563 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001564 <p>Whether the camera device will trigger a precapture
1565metering sequence when it processes this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001566 </td>
1567
1568 <td class="entry_units">
1569 </td>
1570
1571 <td class="entry_range">
1572 </td>
1573
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001574 <td class="entry_tags">
1575 <ul class="entry_tags">
1576 <li><a href="#tag_BC">BC</a></li>
1577 </ul>
1578 </td>
1579
1580 </tr>
1581 <tr class="entries_header">
1582 <th class="th_details" colspan="5">Details</th>
1583 </tr>
1584 <tr class="entry_cont">
1585 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001586 <p>This entry is normally set to IDLE,<wbr/> or is not
1587included at all in the request settings.<wbr/> When included and
Zhijun He92e698d2014-01-13 16:24:31 -08001588set to START,<wbr/> the camera device will trigger the autoexposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001589precapture metering sequence.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001590<p>The effect of AE precapture trigger depends on the current
Zhijun He92e698d2014-01-13 16:24:31 -08001591AE mode and state; see <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture
1592state transition details.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001593 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001594 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001595
1596
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001597 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1598 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001599
1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001601 <tr class="entry" id="controls_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001602 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001603 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001604 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001605 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001606 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001608 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001609
1610 <ul class="entry_type_enum">
1611 <li>
1612 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001613 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
1614<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
1615application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001616 </li>
1617 <li>
1618 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001619 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
1620<p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
1621is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
1622the autofocus trigger action is called.<wbr/> When that trigger
1623is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
1624the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
1625<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
1626and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001630 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
1631autofocus trigger action is called.<wbr/></p>
1632<p>When that trigger is activated,<wbr/> AF must transition to
1633ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
1634NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
1635position to default,<wbr/> and sets the AF state to
1636INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001640 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1641position continually to attempt to provide a
1642constantly-in-focus image stream.<wbr/></p>
1643<p>The focusing behavior should be suitable for good quality
1644video recording; typically this means slower focus
1645movement and no overshoots.<wbr/> When the AF trigger is not
1646involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
1647and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
1648states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
1649the algorithm should immediately transition into
1650AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1651lens position until a cancel AF trigger is received.<wbr/></p>
1652<p>Once cancel is received,<wbr/> the algorithm should transition
1653back to INACTIVE and resume passive scan.<wbr/> Note that this
1654behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
1655ongoing PASSIVE_<wbr/>SCAN must immediately be
1656canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001657 </li>
1658 <li>
1659 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001660 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1661position continually to attempt to provide a
1662constantly-in-focus image stream.<wbr/></p>
1663<p>The focusing behavior should be suitable for still image
1664capture; typically this means focusing as fast as
1665possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
1666algorithm should start in INACTIVE state,<wbr/> and then
1667transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
1668appropriate as it attempts to maintain focus.<wbr/> When the AF
1669trigger is activated,<wbr/> the algorithm should finish its
1670PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
1671AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1672lens position until a cancel AF trigger is received.<wbr/></p>
1673<p>When the AF cancel trigger is activated,<wbr/> the algorithm
1674should transition back to INACTIVE and then act as if it
1675has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </li>
1677 <li>
1678 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001679 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
1680trigger is ignored,<wbr/> AF state should always be
1681INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682 </li>
1683 </ul>
1684
1685 </td> <!-- entry_type -->
1686
1687 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001688 <p>Whether AF is currently enabled,<wbr/> and what
1689mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001690 </td>
1691
1692 <td class="entry_units">
1693 </td>
1694
1695 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001696 <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001697 </td>
1698
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001699 <td class="entry_tags">
1700 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001701 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001702 </ul>
1703 </td>
1704
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001705 </tr>
1706 <tr class="entries_header">
1707 <th class="th_details" colspan="5">Details</th>
1708 </tr>
1709 <tr class="entry_cont">
1710 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001711 <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
Zhijun Hef163fa92014-01-14 09:59:04 -08001712<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
1713the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
1714in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001715 </td>
1716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001717
1718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001719 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1720 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001721
1722
1723 <tr class="entry" id="controls_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001724 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001725 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001726 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001728 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001729 <span class="entry_type_container">x</span>
1730
1731 <span class="entry_type_array">
1732 5 x area_count
1733 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001735
1736
1737 </td> <!-- entry_type -->
1738
1739 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001740 <p>List of areas to use for focus
1741estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001742 </td>
1743
1744 <td class="entry_units">
1745 </td>
1746
1747 <td class="entry_range">
1748 </td>
1749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001750 <td class="entry_tags">
1751 <ul class="entry_tags">
1752 <li><a href="#tag_BC">BC</a></li>
1753 </ul>
1754 </td>
1755
1756 </tr>
1757 <tr class="entries_header">
1758 <th class="th_details" colspan="5">Details</th>
1759 </tr>
1760 <tr class="entry_cont">
1761 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001762 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1763xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1764specified coordinates.<wbr/></p>
1765<p>The coordinate system is based on the active pixel array,<wbr/>
1766with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001767(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1768<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08001769bottom-right pixel in the active pixel array.<wbr/> The weight
1770should be nonnegative.<wbr/></p>
1771<p>If all regions have 0 weight,<wbr/> then no specific focus area
1772needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001773outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001774should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001775used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001776 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001778
1779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001782
1783
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001784 <tr class="entry" id="controls_android.control.afTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001785 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001786 android.<wbr/>control.<wbr/>af<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001787 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001788 <td class="entry_type">
1789 <span class="entry_type_name entry_type_name_enum">byte</span>
1790
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001791 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001792
1793 <ul class="entry_type_enum">
1794 <li>
1795 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001796 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001797 </li>
1798 <li>
1799 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001800 <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001801 </li>
1802 <li>
1803 <span class="entry_type_enum_name">CANCEL</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001804 <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
1805state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001806 </li>
1807 </ul>
1808
1809 </td> <!-- entry_type -->
1810
1811 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001812 <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001813 </td>
1814
1815 <td class="entry_units">
1816 </td>
1817
1818 <td class="entry_range">
1819 </td>
1820
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001821 <td class="entry_tags">
1822 <ul class="entry_tags">
1823 <li><a href="#tag_BC">BC</a></li>
1824 </ul>
1825 </td>
1826
1827 </tr>
1828 <tr class="entries_header">
1829 <th class="th_details" colspan="5">Details</th>
1830 </tr>
1831 <tr class="entry_cont">
1832 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001833 <p>This entry is normally set to IDLE,<wbr/> or is not
1834included at all in the request settings.<wbr/></p>
Zhijun He92e698d2014-01-13 16:24:31 -08001835<p>When included and set to START,<wbr/> the camera device will trigger the
1836autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
1837<p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
1838and return to its initial AF state.<wbr/></p>
1839<p>See <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for what that means for each AF mode.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001840 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001841 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001842
1843
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001844 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1845 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001846
1847
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001848 <tr class="entry" id="controls_android.control.awbLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001849 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001850 android.<wbr/>control.<wbr/>awb<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001851 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001853 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001854
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001855 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001856
1857 <ul class="entry_type_enum">
1858 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001859 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001860 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is disabled; the AWB
1861algorithm is free to update its parameters if in AUTO
1862mode.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001863 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001864 <li>
1865 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001866 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is enabled; the AWB
1867algorithm must not update the exposure and sensitivity
1868parameters while the lock is active</p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001869 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001870 </ul>
1871
1872 </td> <!-- entry_type -->
1873
1874 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001875 <p>Whether AWB is currently locked to its
1876latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001877 </td>
1878
1879 <td class="entry_units">
1880 </td>
1881
1882 <td class="entry_range">
1883 </td>
1884
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001885 <td class="entry_tags">
1886 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001887 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001888 </ul>
1889 </td>
1890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001891 </tr>
1892 <tr class="entries_header">
1893 <th class="th_details" colspan="5">Details</th>
1894 </tr>
1895 <tr class="entry_cont">
1896 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001897 <p>Note that AWB lock is only meaningful for AUTO
1898mode; in other modes,<wbr/> AWB is already fixed to a specific
1899setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001900 </td>
1901 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001902
1903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001904 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1905 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001906
1907
1908 <tr class="entry" id="controls_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001909 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001910 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001911 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001912 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001913 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001914
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001916
1917 <ul class="entry_type_enum">
1918 <li>
1919 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001920 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1921the application-selected color transform matrix
1922(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
1923(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
1924device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001925 </li>
1926 <li>
1927 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001928 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
1929the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
1930and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001931 </li>
1932 <li>
1933 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001934 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1935the camera device uses incandescent light as the assumed scene
1936illumination for white balance.<wbr/> While the exact white balance
1937transforms are up to the camera device,<wbr/> they will approximately
1938match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001939 </li>
1940 <li>
1941 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001942 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1943the camera device uses fluorescent light as the assumed scene
1944illumination for white balance.<wbr/> While the exact white balance
1945transforms are up to the camera device,<wbr/> they will approximately
1946match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001947 </li>
1948 <li>
1949 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001950 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1951the camera device uses warm fluorescent light as the assumed scene
1952illumination for white balance.<wbr/> While the exact white balance
1953transforms are up to the camera device,<wbr/> they will approximately
1954match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001955 </li>
1956 <li>
1957 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001958 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1959the camera device uses daylight light as the assumed scene
1960illumination for white balance.<wbr/> While the exact white balance
1961transforms are up to the camera device,<wbr/> they will approximately
1962match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001966 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1967the camera device uses cloudy daylight light as the assumed scene
1968illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001969 </li>
1970 <li>
1971 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001972 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1973the camera device uses twilight light as the assumed scene
1974illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001978 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1979the camera device uses shade light as the assumed scene
1980illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001981 </li>
1982 </ul>
1983
1984 </td> <!-- entry_type -->
1985
1986 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001987 <p>Whether AWB is currently setting the color
1988transform fields,<wbr/> and what its illumination target
1989is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001990 </td>
1991
1992 <td class="entry_units">
1993 </td>
1994
1995 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001996 <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001997 </td>
1998
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001999 <td class="entry_tags">
2000 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002001 <li><a href="#tag_BC">BC</a></li>
2002 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002003 </ul>
2004 </td>
2005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002006 </tr>
2007 <tr class="entries_header">
2008 <th class="th_details" colspan="5">Details</th>
2009 </tr>
2010 <tr class="entry_cont">
2011 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08002012 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
2013<p>When set to the ON mode,<wbr/> the camera device's auto white balance
2014routine is enabled,<wbr/> overriding the application's selected
2015<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
2016<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2017<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
2018routine is disabled.<wbr/> The applicantion manually controls the white
2019balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
2020and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2021<p>When set to any other modes,<wbr/> the camera device's auto white balance
2022routine is disabled.<wbr/> The camera device uses each particular illumination
2023target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002024 </td>
2025 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002026
2027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002028 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2029 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002030
2031
2032 <tr class="entry" id="controls_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002033 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002034 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002035 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002037 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002038 <span class="entry_type_container">x</span>
2039
2040 <span class="entry_type_array">
2041 5 x area_count
2042 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002043 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002044
2045
2046 </td> <!-- entry_type -->
2047
2048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002049 <p>List of areas to use for illuminant
2050estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002051 </td>
2052
2053 <td class="entry_units">
2054 </td>
2055
2056 <td class="entry_range">
2057 </td>
2058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002059 <td class="entry_tags">
2060 <ul class="entry_tags">
2061 <li><a href="#tag_BC">BC</a></li>
2062 </ul>
2063 </td>
2064
2065 </tr>
2066 <tr class="entries_header">
2067 <th class="th_details" colspan="5">Details</th>
2068 </tr>
2069 <tr class="entry_cont">
2070 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002071 <p>Only used in AUTO mode.<wbr/></p>
2072<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
2073xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
2074specified coordinates.<wbr/></p>
2075<p>The coordinate system is based on the active pixel array,<wbr/>
2076with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002077(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
2078<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
Igor Murashkin0b080452013-12-27 15:30:25 -08002079bottom-right pixel in the active pixel array.<wbr/> The weight
2080should be nonnegative.<wbr/></p>
2081<p>If all regions have 0 weight,<wbr/> then no specific metering area
2082needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002083outside the current <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a>,<wbr/> the HAL
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002084should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08002085used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002086 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002087 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002088
2089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002090 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2091 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002092
2093
2094 <tr class="entry" id="controls_android.control.captureIntent">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002095 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002096 android.<wbr/>control.<wbr/>capture<wbr/>Intent
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002097 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002099 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102
2103 <ul class="entry_type_enum">
2104 <li>
2105 <span class="entry_type_enum_name">CUSTOM</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002106 <span class="entry_type_enum_notes"><p>This request doesn't fall into the other
2107categories.<wbr/> Default to preview-like
2108behavior.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002109 </li>
2110 <li>
2111 <span class="entry_type_enum_name">PREVIEW</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002112 <span class="entry_type_enum_notes"><p>This request is for a preview-like usecase.<wbr/> The
2113precapture trigger may be used to start off a metering
2114w/<wbr/>flash sequence</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002115 </li>
2116 <li>
2117 <span class="entry_type_enum_name">STILL_CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002118 <span class="entry_type_enum_notes"><p>This request is for a still capture-type
2119usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002120 </li>
2121 <li>
2122 <span class="entry_type_enum_name">VIDEO_RECORD</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002123 <span class="entry_type_enum_notes"><p>This request is for a video recording
2124usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002125 </li>
2126 <li>
2127 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002128 <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
2129image while recording video) usecase</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002130 </li>
2131 <li>
2132 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002133 <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
2134application will stream full-resolution images and
2135reprocess one or several later for a final
2136capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002137 </li>
2138 </ul>
2139
2140 </td> <!-- entry_type -->
2141
2142 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08002143 <p>Information to the camera device 3A (auto-exposure,<wbr/>
2144auto-focus,<wbr/> auto-white balance) routines about the purpose
2145of this capture,<wbr/> to help the camera device to decide optimal 3A
2146strategy.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002147 </td>
2148
2149 <td class="entry_units">
2150 </td>
2151
2152 <td class="entry_range">
Zhijun Heea27bc32014-01-15 13:47:59 -08002153 <p>All must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002154 </td>
2155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002156 <td class="entry_tags">
2157 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002158 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002159 </ul>
2160 </td>
2161
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002162 </tr>
2163 <tr class="entries_header">
2164 <th class="th_details" colspan="5">Details</th>
2165 </tr>
2166 <tr class="entry_cont">
2167 <td class="entry_details" colspan="5">
Zhijun Heea27bc32014-01-15 13:47:59 -08002168 <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
2169and any 3A routine is active.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002170 </td>
2171 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002172
2173
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002174 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2175 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002176
2177
2178 <tr class="entry" id="controls_android.control.effectMode">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002179 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002180 android.<wbr/>control.<wbr/>effect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002181 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002183 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002184
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002185 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002186
2187 <ul class="entry_type_enum">
2188 <li>
2189 <span class="entry_type_enum_name">OFF</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002190 <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002191 </li>
2192 <li>
2193 <span class="entry_type_enum_name">MONO</span>
2194 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002195 <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
2196a single color.<wbr/> This will typically be grayscale.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002197 </li>
2198 <li>
2199 <span class="entry_type_enum_name">NEGATIVE</span>
2200 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002201 <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
2202are inverted.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002203 </li>
2204 <li>
2205 <span class="entry_type_enum_name">SOLARIZE</span>
2206 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002207 <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
2208image is wholly or partially reversed in
2209tone.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002210 </li>
2211 <li>
2212 <span class="entry_type_enum_name">SEPIA</span>
2213 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002214 <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
2215gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002216 </li>
2217 <li>
2218 <span class="entry_type_enum_name">POSTERIZE</span>
2219 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002220 <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
2221discrete regions of tone rather than a continuous
2222gradient of tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002223 </li>
2224 <li>
2225 <span class="entry_type_enum_name">WHITEBOARD</span>
2226 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002227 <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
2228as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002229 </li>
2230 <li>
2231 <span class="entry_type_enum_name">BLACKBOARD</span>
2232 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002233 <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
2234as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002235 </li>
2236 <li>
2237 <span class="entry_type_enum_name">AQUA</span>
2238 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002239 <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002240 </li>
2241 </ul>
2242
2243 </td> <!-- entry_type -->
2244
2245 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002246 <p>A special color effect to apply.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002247 </td>
2248
2249 <td class="entry_units">
2250 </td>
2251
2252 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002253 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002254 </td>
2255
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002256 <td class="entry_tags">
2257 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002258 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002259 </ul>
2260 </td>
2261
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002262 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002263 <tr class="entries_header">
2264 <th class="th_details" colspan="5">Details</th>
2265 </tr>
2266 <tr class="entry_cont">
2267 <td class="entry_details" colspan="5">
2268 <p>When this mode is set,<wbr/> a color effect will be applied
2269to images produced by the camera device.<wbr/> The interpretation
2270and implementation of these color effects is left to the
2271implementor of the camera device,<wbr/> and should not be
2272depended on to be consistent (or present) across all
2273devices.<wbr/></p>
2274<p>A color effect will only be applied if
2275<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2276 </td>
2277 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002278
2279
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002280 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2281 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002282
2283
2284 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002285 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002286 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002287 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002288 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002289 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002290
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002291 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002292
2293 <ul class="entry_type_enum">
2294 <li>
2295 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002296 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2297routines are disabled,<wbr/> no other settings in
2298android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002299 </li>
2300 <li>
2301 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002302 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2303Manual control of capture parameters is disabled.<wbr/> All
2304controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2305effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002306 </li>
2307 <li>
2308 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002309 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2310control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2311controls; the HAL must ignore those settings while
2312USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2313scene mode).<wbr/> Other control entries are still active.<wbr/>
2314This setting can only be used if availableSceneModes !=
2315UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 </li>
2317 </ul>
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002322 <p>Overall mode of 3A control
2323routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002330 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002331 </td>
2332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002333 <td class="entry_tags">
2334 <ul class="entry_tags">
2335 <li><a href="#tag_BC">BC</a></li>
2336 </ul>
2337 </td>
2338
2339 </tr>
2340 <tr class="entries_header">
2341 <th class="th_details" colspan="5">Details</th>
2342 </tr>
2343 <tr class="entry_cont">
2344 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002345 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002346by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002347capture parameters itself.<wbr/></p>
2348<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002349android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08002350<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002351android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002352one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002353as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002354<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002355 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002356 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002357
2358
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002359 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2360 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002361
2362
2363 <tr class="entry" id="controls_android.control.sceneMode">
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002364 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002365 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002366 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002367 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002368 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002369
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002370 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002371
2372 <ul class="entry_type_enum">
2373 <li>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002374 <span class="entry_type_enum_name">DISABLED</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002375 <span class="entry_type_enum_value">0</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002376 <span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002377 </li>
2378 <li>
2379 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002380 <span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
2381detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
2382auto-exposure routines.<wbr/> If face detection statistics are
2383disabled (i.<wbr/>e.<wbr/> <a href="#controls_android.statistics.faceDetectMode">android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode</a> is set to OFF),<wbr/>
2384this should still operate correctly (but will not return
2385face detection statistics to the framework).<wbr/></p>
2386<p>Unlike the other scene modes,<wbr/> <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
2387<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and android.<wbr/>control.<wbr/>af<wbr/>Mode
2388remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002389 </li>
2390 <li>
2391 <span class="entry_type_enum_name">ACTION</span>
2392 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002393 <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/>
2394Similar to SPORTS.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 </li>
2396 <li>
2397 <span class="entry_type_enum_name">PORTRAIT</span>
2398 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002399 <span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002400 </li>
2401 <li>
2402 <span class="entry_type_enum_name">LANDSCAPE</span>
2403 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002404 <span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002405 </li>
2406 <li>
2407 <span class="entry_type_enum_name">NIGHT</span>
2408 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002409 <span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002410 </li>
2411 <li>
2412 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
2413 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002414 <span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
2415settings.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002416 </li>
2417 <li>
2418 <span class="entry_type_enum_name">THEATRE</span>
2419 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002420 <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
2421remain off.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002422 </li>
2423 <li>
2424 <span class="entry_type_enum_name">BEACH</span>
2425 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002426 <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002427 </li>
2428 <li>
2429 <span class="entry_type_enum_name">SNOW</span>
2430 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002431 <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002432 </li>
2433 <li>
2434 <span class="entry_type_enum_name">SUNSET</span>
2435 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002436 <span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002437 </li>
2438 <li>
2439 <span class="entry_type_enum_name">STEADYPHOTO</span>
2440 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002441 <span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
2442device motion (for example: due to hand shake).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002443 </li>
2444 <li>
2445 <span class="entry_type_enum_name">FIREWORKS</span>
2446 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002447 <span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002448 </li>
2449 <li>
2450 <span class="entry_type_enum_name">SPORTS</span>
2451 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002452 <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/>
2453Similar to ACTION.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002454 </li>
2455 <li>
2456 <span class="entry_type_enum_name">PARTY</span>
2457 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002458 <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
2459people.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002460 </li>
2461 <li>
2462 <span class="entry_type_enum_name">CANDLELIGHT</span>
2463 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002464 <span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
2465is a flame.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002466 </li>
2467 <li>
2468 <span class="entry_type_enum_name">BARCODE</span>
2469 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002470 <span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
2471for use by camera applications that wish to read the
2472barcode value.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002473 </li>
2474 </ul>
2475
2476 </td> <!-- entry_type -->
2477
2478 <td class="entry_description">
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002479 <p>A camera mode optimized for conditions typical in a particular
2480capture setting.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002481 </td>
2482
2483 <td class="entry_units">
2484 </td>
2485
2486 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002487 <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 -08002488 </td>
2489
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002490 <td class="entry_tags">
2491 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002492 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002493 </ul>
2494 </td>
2495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002496 </tr>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002497 <tr class="entries_header">
2498 <th class="th_details" colspan="5">Details</th>
2499 </tr>
2500 <tr class="entry_cont">
2501 <td class="entry_details" colspan="5">
2502 <p>This is the mode that that is active when
2503<code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code>.<wbr/> Aside from FACE_<wbr/>PRIORITY,<wbr/>
2504these modes will disable <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
2505<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> while in use.<wbr/></p>
2506<p>The interpretation and implementation of these scene modes is left
2507to the implementor of the camera device.<wbr/> Their behavior will not be
2508consistent across all devices,<wbr/> and any given device may only implement
2509a subset of these modes.<wbr/></p>
2510 </td>
2511 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002512
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002513 <tr class="entries_header">
2514 <th class="th_details" colspan="5">HAL Implementation Details</th>
2515 </tr>
2516 <tr class="entry_cont">
2517 <td class="entry_details" colspan="5">
2518 <p>HAL implementations that include scene modes are expected to provide
2519the per-scene settings to use for <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
2520<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> in
2521<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
2522 </td>
2523 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002527
2528
2529 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002530 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002531 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002532 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002534 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002535
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002536 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002537
2538 <ul class="entry_type_enum">
2539 <li>
2540 <span class="entry_type_enum_name">OFF</span>
2541 </li>
2542 <li>
2543 <span class="entry_type_enum_name">ON</span>
2544 </li>
2545 </ul>
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002550 <p>Whether video stabilization is
2551active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002552 </td>
2553
2554 <td class="entry_units">
2555 </td>
2556
2557 <td class="entry_range">
2558 </td>
2559
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002560 <td class="entry_tags">
2561 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002562 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002563 </ul>
2564 </td>
2565
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002566 </tr>
2567 <tr class="entries_header">
2568 <th class="th_details" colspan="5">Details</th>
2569 </tr>
2570 <tr class="entry_cont">
2571 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002572 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002573<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 -08002574stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002575 </td>
2576 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002577
2578
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002579 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2580 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002581
2582
2583
2584 <!-- end of kind -->
2585 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002586 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002587
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002588 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002589 <tr>
2590 <th class="th_name">Property Name</th>
2591 <th class="th_type">Type</th>
2592 <th class="th_description">Description</th>
2593 <th class="th_units">Units</th>
2594 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002595 <th class="th_tags">Tags</th>
2596 </tr>
2597 </thead>
2598
2599 <tbody>
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002611 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002612 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002613 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002614 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002615 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002616 <span class="entry_type_container">x</span>
2617
2618 <span class="entry_type_array">
2619 n
2620 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002621 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002622 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002623
2624
2625 </td> <!-- entry_type -->
2626
2627 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002628 <p>The set of auto-exposure antibanding modes that are
2629supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002630 </td>
2631
2632 <td class="entry_units">
2633 </td>
2634
2635 <td class="entry_range">
2636 </td>
2637
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002638 <td class="entry_tags">
2639 </td>
2640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002641 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002642 <tr class="entries_header">
2643 <th class="th_details" colspan="5">Details</th>
2644 </tr>
2645 <tr class="entry_cont">
2646 <td class="entry_details" colspan="5">
2647 <p>Not all of the auto-exposure anti-banding modes may be
2648supported by a given camera device.<wbr/> This field lists the
2649valid anti-banding modes that the application may request
2650for this camera device; they must include AUTO.<wbr/></p>
2651 </td>
2652 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002653
2654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002655 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2656 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002657
2658
2659 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002660 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002661 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002662 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002664 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002665 <span class="entry_type_container">x</span>
2666
2667 <span class="entry_type_array">
2668 n
2669 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002670 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002671 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002672
2673
2674 </td> <!-- entry_type -->
2675
2676 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002677 <p>The set of auto-exposure modes that are supported by this
2678camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002679 </td>
2680
2681 <td class="entry_units">
2682 </td>
2683
2684 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002685 </td>
2686
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002687 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002688 <ul class="entry_tags">
2689 <li><a href="#tag_BC">BC</a></li>
2690 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002691 </td>
2692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002693 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002694 <tr class="entries_header">
2695 <th class="th_details" colspan="5">Details</th>
2696 </tr>
2697 <tr class="entry_cont">
2698 <td class="entry_details" colspan="5">
2699 <p>Not all the auto-exposure modes may be supported by a
2700given camera device,<wbr/> especially if no flash unit is
2701available.<wbr/> This entry lists the valid modes for
2702<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2703<p>All camera devices support ON,<wbr/> and all camera devices with
2704flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2705ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2706<p>Full-capability camera devices always support OFF mode,<wbr/>
2707which enables application control of camera exposure time,<wbr/>
2708sensitivity,<wbr/> and frame duration.<wbr/></p>
2709 </td>
2710 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002711
2712
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002713 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2714 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002715
2716
2717 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002718 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002719 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002720 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002722 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002723 <span class="entry_type_container">x</span>
2724
2725 <span class="entry_type_array">
2726 2 x n
2727 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002728 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002729 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002730
2731
2732 </td> <!-- entry_type -->
2733
2734 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002735 <p>List of frame rate ranges supported by the
2736AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002737 </td>
2738
2739 <td class="entry_units">
2740 </td>
2741
2742 <td class="entry_range">
2743 </td>
2744
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002745 <td class="entry_tags">
2746 </td>
2747
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002748 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002749
2750
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002751 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2752 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002753
2754
2755 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002756 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002757 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002758 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002759 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002760 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002761 <span class="entry_type_container">x</span>
2762
2763 <span class="entry_type_array">
2764 2
2765 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002766 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002767
2768
2769 </td> <!-- entry_type -->
2770
2771 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002772 <p>Maximum and minimum exposure compensation
2773setting,<wbr/> in counts of
2774android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002775 </td>
2776
2777 <td class="entry_units">
2778 </td>
2779
2780 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002781 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2782size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002783 </td>
2784
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785 <td class="entry_tags">
2786 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002787 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002788 </ul>
2789 </td>
2790
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002791 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002792
2793
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002794 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2795 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002796
2797
2798 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002799 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002800 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002801 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002802 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002803 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002804
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002805 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002806
2807
2808 </td> <!-- entry_type -->
2809
2810 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002811 <p>Smallest step by which exposure compensation
2812can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002813 </td>
2814
2815 <td class="entry_units">
2816 </td>
2817
2818 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002819 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002820 </td>
2821
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002822 <td class="entry_tags">
2823 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002824 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002825 </ul>
2826 </td>
2827
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002828 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002829
2830
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002831 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2832 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002833
2834
2835 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002836 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002837 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002838 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002839 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002840 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002841 <span class="entry_type_container">x</span>
2842
2843 <span class="entry_type_array">
2844 n
2845 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002846 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002847 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002848
2849
2850 </td> <!-- entry_type -->
2851
2852 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002853 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002854selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002855 </td>
2856
2857 <td class="entry_units">
2858 </td>
2859
2860 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002861 </td>
2862
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002863 <td class="entry_tags">
2864 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002865 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002866 </ul>
2867 </td>
2868
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002869 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002870 <tr class="entries_header">
2871 <th class="th_details" colspan="5">Details</th>
2872 </tr>
2873 <tr class="entry_cont">
2874 <td class="entry_details" colspan="5">
2875 <p>Not all the auto-focus modes may be supported by a
2876given camera device.<wbr/> This entry lists the valid modes for
2877<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2878<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2879adjustable 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>)
2880will support AUTO mode.<wbr/></p>
2881 </td>
2882 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002883
2884
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002885 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2886 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002887
2888
2889 <tr class="entry" id="static_android.control.availableEffects">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002890 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002891 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002892 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002893 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002894 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002895 <span class="entry_type_container">x</span>
2896
2897 <span class="entry_type_array">
2898 n
2899 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002900 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002901 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>effect<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002902
2903
2904 </td> <!-- entry_type -->
2905
2906 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002907 <p>List containing the subset of color effects
2908specified in <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a> that is supported by
2909this device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002910 </td>
2911
2912 <td class="entry_units">
2913 </td>
2914
2915 <td class="entry_range">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002916 <p>Any subset of enums from those specified in
2917<a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a>.<wbr/> OFF must be included in any subset.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002918 </td>
2919
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002920 <td class="entry_tags">
2921 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002922 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002923 </ul>
2924 </td>
2925
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002926 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002927 <tr class="entries_header">
2928 <th class="th_details" colspan="5">Details</th>
2929 </tr>
2930 <tr class="entry_cont">
2931 <td class="entry_details" colspan="5">
2932 <p>This list contains the color effect modes that can be applied to
2933images produced by the camera device.<wbr/> Only modes that have
2934been fully implemented for the current device may be included here.<wbr/>
2935Implementations are not expected to be consistent across all devices.<wbr/>
2936If no color effect modes are available for a device,<wbr/> this should
2937simply be set to OFF.<wbr/></p>
2938<p>A color effect will only be applied if
2939<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2940 </td>
2941 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002942
2943
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002944 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2945 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002946
2947
2948 <tr class="entry" id="static_android.control.availableSceneModes">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002949 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002950 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002951 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002953 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002954 <span class="entry_type_container">x</span>
2955
2956 <span class="entry_type_array">
2957 n
2958 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002959 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002960 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002961
2962
2963 </td> <!-- entry_type -->
2964
2965 <td class="entry_description">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002966 <p>List containing a subset of scene modes
2967specified in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002968 </td>
2969
2970 <td class="entry_units">
2971 </td>
2972
2973 <td class="entry_range">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002974 <p>Any subset of the enums specified in android.<wbr/>control.<wbr/>scene<wbr/>Mode
2975not including DISABLED,<wbr/> or solely DISABLED if no
2976scene modes are available.<wbr/> FACE_<wbr/>PRIORITY must be included
2977if face detection is supported (i.<wbr/>e.<wbr/><code><a href="#static_android.statistics.info.maxFaceCount">android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count</a> &gt; 0</code>).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 </td>
2979
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002980 <td class="entry_tags">
2981 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002982 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002983 </ul>
2984 </td>
2985
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002986 </tr>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002987 <tr class="entries_header">
2988 <th class="th_details" colspan="5">Details</th>
2989 </tr>
2990 <tr class="entry_cont">
2991 <td class="entry_details" colspan="5">
2992 <p>This list contains scene modes that can be set for the camera device.<wbr/>
2993Only scene modes that have been fully implemented for the
2994camera device may be included here.<wbr/> Implementations are not expected
2995to be consistent across all devices.<wbr/> If no scene modes are supported
2996by the camera device,<wbr/> this will be set to <code>[DISABLED]</code>.<wbr/></p>
2997 </td>
2998 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002999
3000
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003001 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3002 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003003
3004
3005 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003006 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003007 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003008 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003009 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003010 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003011 <span class="entry_type_container">x</span>
3012
3013 <span class="entry_type_array">
3014 n
3015 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003016 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08003017 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003018
3019
3020 </td> <!-- entry_type -->
3021
3022 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003023 <p>List of video stabilization modes that can
3024be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003025 </td>
3026
3027 <td class="entry_units">
3028 </td>
3029
3030 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003031 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003032 </td>
3033
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003034 <td class="entry_tags">
3035 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003036 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003037 </ul>
3038 </td>
3039
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003040 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003041
3042
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003043 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3044 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003045
3046
3047 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08003048 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003049 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003050 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003052 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07003053 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003054
Alex Raya4251d92013-04-30 16:43:44 -07003055 <span class="entry_type_array">
3056 n
3057 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003058 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08003059 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003060
3061
3062 </td> <!-- entry_type -->
3063
3064 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08003065 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
3066that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003067 </td>
3068
3069 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003070 </td>
3071
3072 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003073 </td>
3074
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003075 <td class="entry_tags">
3076 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003077 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003078 </ul>
3079 </td>
3080
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003081 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08003082 <tr class="entries_header">
3083 <th class="th_details" colspan="5">Details</th>
3084 </tr>
3085 <tr class="entry_cont">
3086 <td class="entry_details" colspan="5">
3087 <p>Not all the auto-white-balance modes may be supported by a
3088given camera device.<wbr/> This entry lists the valid modes for
3089<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
3090<p>All camera devices will support ON mode.<wbr/></p>
3091<p>Full-capability camera devices will always support OFF mode,<wbr/>
3092which enables application control of white balance,<wbr/> by using
3093<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>
3094 </td>
3095 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003096
3097
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003098 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3099 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003100
3101
3102 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003103 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003104 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003105 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003106 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003107 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003108
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003109 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003110
3111
3112 </td> <!-- entry_type -->
3113
3114 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003115 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3116regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003117 </td>
3118
3119 <td class="entry_units">
3120 </td>
3121
3122 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003123 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003124 </td>
3125
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003126 <td class="entry_tags">
3127 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003128 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003129 </ul>
3130 </td>
3131
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003132 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003133
3134
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003135 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3136 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003137
3138
3139 <tr class="entry" id="static_android.control.sceneModeOverrides">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003140 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003141 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003142 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003143 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003144 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003145 <span class="entry_type_container">x</span>
3146
3147 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003148 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003149 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003150 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003151
3152
3153 </td> <!-- entry_type -->
3154
3155 <td class="entry_description">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003156 <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
3157settings to use with each available scene mode.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003158 </td>
3159
3160 <td class="entry_units">
3161 </td>
3162
3163 <td class="entry_range">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003164 <p>For each available scene mode,<wbr/> the list must contain three
3165entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3166<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values used
3167by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
3168where aeMode has the lowest index position.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003169 </td>
3170
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003171 <td class="entry_tags">
3172 <ul class="entry_tags">
3173 <li><a href="#tag_BC">BC</a></li>
3174 </ul>
3175 </td>
3176
3177 </tr>
3178 <tr class="entries_header">
3179 <th class="th_details" colspan="5">Details</th>
3180 </tr>
3181 <tr class="entry_cont">
3182 <td class="entry_details" colspan="5">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003183 <p>When a scene mode is enabled,<wbr/> the camera device is expected
3184to override <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/>
3185and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
3186that scene mode.<wbr/></p>
3187<p>The order of this list matches that of availableSceneModes,<wbr/>
3188with 3 entries for each mode.<wbr/> The overrides listed
3189for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3190mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3191<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values are
3192used instead,<wbr/> matching the behavior when android.<wbr/>control.<wbr/>mode
3193is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
3194overrides should be set to 0.<wbr/></p>
3195<p>For example,<wbr/> if availableSceneModes contains
3196<code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
3197expects sceneModeOverrides to have 9 entries formatted like:
3198<code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
3199ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003200 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003201 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003202
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003203 <tr class="entries_header">
3204 <th class="th_details" colspan="5">HAL Implementation Details</th>
3205 </tr>
3206 <tr class="entry_cont">
3207 <td class="entry_details" colspan="5">
3208 <p>To maintain backward compatibility,<wbr/> this list will be made available
3209in the static metadata of the camera service.<wbr/> The camera service will
3210use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3211<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> when using a scene
3212mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
3213 </td>
3214 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003215
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003216 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3217 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003218
3219
3220
3221 <!-- end of kind -->
3222 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003223 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003224
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003225 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003226 <tr>
3227 <th class="th_name">Property Name</th>
3228 <th class="th_type">Type</th>
3229 <th class="th_description">Description</th>
3230 <th class="th_units">Units</th>
3231 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003232 <th class="th_tags">Tags</th>
3233 </tr>
3234 </thead>
3235
3236 <tbody>
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003248 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003249 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003250 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003251 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003252 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003253
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003254 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003255
3256
3257 </td> <!-- entry_type -->
3258
3259 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003260 <p>The ID sent with the latest
3261CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003262 </td>
3263
3264 <td class="entry_units">
3265 </td>
3266
3267 <td class="entry_range">
3268 </td>
3269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003270 <td class="entry_tags">
3271 </td>
3272
3273 </tr>
3274 <tr class="entries_header">
3275 <th class="th_details" colspan="5">Details</th>
3276 </tr>
3277 <tr class="entry_cont">
3278 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003279 <p>Must be 0 if no
3280CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3281by HAL.<wbr/> Always updated even if AE algorithm ignores the
3282trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003283 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003284 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003285
3286
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003287 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3288 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003289
3290
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003291 <tr class="entry" id="dynamic_android.control.aeMode">
3292 <td class="entry_name" rowspan="3">
3293 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3294 </td>
3295 <td class="entry_type">
3296 <span class="entry_type_name entry_type_name_enum">byte</span>
3297
3298 <span class="entry_type_visibility"> [public]</span>
3299
3300 <ul class="entry_type_enum">
3301 <li>
3302 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003303 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3304the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3305<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3306<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3307device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3308a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003309 </li>
3310 <li>
3311 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003312 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3313with no flash control.<wbr/> The application's values for
3314<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3315<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3316<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3317application has control over the various
3318android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003319 </li>
3320 <li>
3321 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003322 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3323the camera's flash unit,<wbr/> firing it in low-light
3324conditions.<wbr/> The flash may be fired during a
3325precapture sequence (triggered by
3326<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3327for captures for which the
3328<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3329STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003330 </li>
3331 <li>
3332 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003333 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3334the camera's flash unit,<wbr/> always firing it for still
3335captures.<wbr/> The flash may be fired during a precapture
3336sequence (triggered by
3337<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3338be fired for captures for which the
3339<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3340STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003341 </li>
3342 <li>
3343 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003344 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3345reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3346a red eye reduction flash will fire during the
3347precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003348 </li>
3349 </ul>
3350
3351 </td> <!-- entry_type -->
3352
3353 <td class="entry_description">
3354 <p>The desired mode for the camera device's
3355auto-exposure routine.<wbr/></p>
3356 </td>
3357
3358 <td class="entry_units">
3359 </td>
3360
3361 <td class="entry_range">
3362 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3363 </td>
3364
3365 <td class="entry_tags">
3366 <ul class="entry_tags">
3367 <li><a href="#tag_BC">BC</a></li>
3368 </ul>
3369 </td>
3370
3371 </tr>
3372 <tr class="entries_header">
3373 <th class="th_details" colspan="5">Details</th>
3374 </tr>
3375 <tr class="entry_cont">
3376 <td class="entry_details" colspan="5">
3377 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3378AUTO.<wbr/></p>
3379<p>When set to any of the ON modes,<wbr/> the camera device's
3380auto-exposure routine is enabled,<wbr/> overriding the
3381application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3382and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3383<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3384<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3385is selected,<wbr/> the camera device's flash unit controls are
3386also overridden.<wbr/></p>
3387<p>The FLASH modes are only available if the camera device
3388has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3389<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3390ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3391<p>When set to any of the ON modes,<wbr/> the values chosen by the
3392camera device auto-exposure routine for the overridden
3393fields for a given capture will be available in its
3394CaptureResult.<wbr/></p>
3395 </td>
3396 </tr>
3397
3398
3399 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3400 <!-- end of entry -->
3401
3402
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003403 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003404 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003405 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003406 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003407 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003408 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003409 <span class="entry_type_container">x</span>
3410
3411 <span class="entry_type_array">
3412 5 x area_count
3413 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003414 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003415
3416
3417 </td> <!-- entry_type -->
3418
3419 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003420 <p>List of areas to use for
3421metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003422 </td>
3423
3424 <td class="entry_units">
3425 </td>
3426
3427 <td class="entry_range">
3428 </td>
3429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003430 <td class="entry_tags">
3431 <ul class="entry_tags">
3432 <li><a href="#tag_BC">BC</a></li>
3433 </ul>
3434 </td>
3435
3436 </tr>
3437 <tr class="entries_header">
3438 <th class="th_details" colspan="5">Details</th>
3439 </tr>
3440 <tr class="entry_cont">
3441 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003442 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3443xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3444specified coordinates.<wbr/></p>
3445<p>The coordinate system is based on the active pixel array,<wbr/>
3446with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003447(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3448<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 -08003449bottom-right pixel in the active pixel array.<wbr/> The weight
3450should be nonnegative.<wbr/></p>
3451<p>If all regions have 0 weight,<wbr/> then no specific metering area
3452needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003453outside 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 -08003454should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003455used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003456 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003457 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003458
3459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003460 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3461 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003462
3463
3464 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003465 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003466 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003467 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003469 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003470
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003471 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003472
3473 <ul class="entry_type_enum">
3474 <li>
3475 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003476 <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 -08003477this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003478 </li>
3479 <li>
3480 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003481 <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 -08003482for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003483 </li>
3484 <li>
3485 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003486 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003487current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003488 </li>
3489 <li>
3490 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003491 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003492 </li>
3493 <li>
3494 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003495 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3496needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003497capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003498 </li>
3499 <li>
3500 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003501 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003502(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3503and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003504completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003505FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003506 </li>
3507 </ul>
3508
3509 </td> <!-- entry_type -->
3510
3511 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003512 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003513 </td>
3514
3515 <td class="entry_units">
3516 </td>
3517
3518 <td class="entry_range">
3519 </td>
3520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003521 <td class="entry_tags">
3522 </td>
3523
3524 </tr>
3525 <tr class="entries_header">
3526 <th class="th_details" colspan="5">Details</th>
3527 </tr>
3528 <tr class="entry_cont">
3529 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003530 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3531resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3532or <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
3533the algorithm states to INACTIVE.<wbr/></p>
3534<p>The camera device can do several state transitions between two results,<wbr/> if it is
3535allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3536seen in a result.<wbr/></p>
3537<p>The state in the result is the state for this image (in sync with this image): if
3538AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3539be good to use.<wbr/></p>
3540<p>Below are state transition tables for different AE modes.<wbr/></p>
3541<table>
3542<thead>
3543<tr>
3544<th align="center">State</th>
3545<th align="center">Transition Cause</th>
3546<th align="center">New State</th>
3547<th align="center">Notes</th>
3548</tr>
3549</thead>
3550<tbody>
3551<tr>
3552<td align="center">INACTIVE</td>
3553<td align="center"></td>
3554<td align="center">INACTIVE</td>
3555<td align="center">Camera device auto exposure algorithm is disabled</td>
3556</tr>
3557</tbody>
3558</table>
3559<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3560<table>
3561<thead>
3562<tr>
3563<th align="center">State</th>
3564<th align="center">Transition Cause</th>
3565<th align="center">New State</th>
3566<th align="center">Notes</th>
3567</tr>
3568</thead>
3569<tbody>
3570<tr>
3571<td align="center">INACTIVE</td>
3572<td align="center">Camera device initiates AE scan</td>
3573<td align="center">SEARCHING</td>
3574<td align="center">Values changing</td>
3575</tr>
3576<tr>
3577<td align="center">INACTIVE</td>
3578<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3579<td align="center">LOCKED</td>
3580<td align="center">Values locked</td>
3581</tr>
3582<tr>
3583<td align="center">SEARCHING</td>
3584<td align="center">Camera device finishes AE scan</td>
3585<td align="center">CONVERGED</td>
3586<td align="center">Good values,<wbr/> not changing</td>
3587</tr>
3588<tr>
3589<td align="center">SEARCHING</td>
3590<td align="center">Camera device finishes AE scan</td>
3591<td align="center">FLASH_<wbr/>REQUIRED</td>
3592<td align="center">Converged but too dark w/<wbr/>o flash</td>
3593</tr>
3594<tr>
3595<td align="center">SEARCHING</td>
3596<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3597<td align="center">LOCKED</td>
3598<td align="center">Values locked</td>
3599</tr>
3600<tr>
3601<td align="center">CONVERGED</td>
3602<td align="center">Camera device initiates AE scan</td>
3603<td align="center">SEARCHING</td>
3604<td align="center">Values changing</td>
3605</tr>
3606<tr>
3607<td align="center">CONVERGED</td>
3608<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3609<td align="center">LOCKED</td>
3610<td align="center">Values locked</td>
3611</tr>
3612<tr>
3613<td align="center">FLASH_<wbr/>REQUIRED</td>
3614<td align="center">Camera device initiates AE scan</td>
3615<td align="center">SEARCHING</td>
3616<td align="center">Values changing</td>
3617</tr>
3618<tr>
3619<td align="center">FLASH_<wbr/>REQUIRED</td>
3620<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3621<td align="center">LOCKED</td>
3622<td align="center">Values locked</td>
3623</tr>
3624<tr>
3625<td align="center">LOCKED</td>
3626<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3627<td align="center">SEARCHING</td>
3628<td align="center">Values not good after unlock</td>
3629</tr>
3630<tr>
3631<td align="center">LOCKED</td>
3632<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3633<td align="center">CONVERGED</td>
3634<td align="center">Values good after unlock</td>
3635</tr>
3636<tr>
3637<td align="center">LOCKED</td>
3638<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3639<td align="center">FLASH_<wbr/>REQUIRED</td>
3640<td align="center">Exposure good,<wbr/> but too dark</td>
3641</tr>
3642<tr>
3643<td align="center">PRECAPTURE</td>
3644<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3645<td align="center">CONVERGED</td>
3646<td align="center">Ready for high-quality capture</td>
3647</tr>
3648<tr>
3649<td align="center">PRECAPTURE</td>
3650<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3651<td align="center">LOCKED</td>
3652<td align="center">Ready for high-quality capture</td>
3653</tr>
3654<tr>
3655<td align="center">Any state</td>
3656<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3657<td align="center">PRECAPTURE</td>
3658<td align="center">Start AE precapture metering sequence</td>
3659</tr>
3660</tbody>
3661</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003662 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003663 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003664
3665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3667 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003668
3669
3670 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003671 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003672 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003673 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003674 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003675 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003676
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003677 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003678
3679 <ul class="entry_type_enum">
3680 <li>
3681 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003682 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3683<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3684application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003685 </li>
3686 <li>
3687 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003688 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3689<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
3690is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3691the autofocus trigger action is called.<wbr/> When that trigger
3692is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3693the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3694<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3695and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003696 </li>
3697 <li>
3698 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003699 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3700autofocus trigger action is called.<wbr/></p>
3701<p>When that trigger is activated,<wbr/> AF must transition to
3702ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3703NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3704position to default,<wbr/> and sets the AF state to
3705INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003706 </li>
3707 <li>
3708 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003709 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3710position continually to attempt to provide a
3711constantly-in-focus image stream.<wbr/></p>
3712<p>The focusing behavior should be suitable for good quality
3713video recording; typically this means slower focus
3714movement and no overshoots.<wbr/> When the AF trigger is not
3715involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3716and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3717states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3718the algorithm should immediately transition into
3719AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3720lens position until a cancel AF trigger is received.<wbr/></p>
3721<p>Once cancel is received,<wbr/> the algorithm should transition
3722back to INACTIVE and resume passive scan.<wbr/> Note that this
3723behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3724ongoing PASSIVE_<wbr/>SCAN must immediately be
3725canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003726 </li>
3727 <li>
3728 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003729 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3730position continually to attempt to provide a
3731constantly-in-focus image stream.<wbr/></p>
3732<p>The focusing behavior should be suitable for still image
3733capture; typically this means focusing as fast as
3734possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3735algorithm should start in INACTIVE state,<wbr/> and then
3736transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3737appropriate as it attempts to maintain focus.<wbr/> When the AF
3738trigger is activated,<wbr/> the algorithm should finish its
3739PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3740AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3741lens position until a cancel AF trigger is received.<wbr/></p>
3742<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3743should transition back to INACTIVE and then act as if it
3744has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745 </li>
3746 <li>
3747 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003748 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3749trigger is ignored,<wbr/> AF state should always be
3750INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003751 </li>
3752 </ul>
3753
3754 </td> <!-- entry_type -->
3755
3756 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003757 <p>Whether AF is currently enabled,<wbr/> and what
3758mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003759 </td>
3760
3761 <td class="entry_units">
3762 </td>
3763
3764 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003765 <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 -08003766 </td>
3767
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003768 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003769 <ul class="entry_tags">
3770 <li><a href="#tag_BC">BC</a></li>
3771 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003772 </td>
3773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003774 </tr>
3775 <tr class="entries_header">
3776 <th class="th_details" colspan="5">Details</th>
3777 </tr>
3778 <tr class="entry_cont">
3779 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003780 <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 -08003781<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3782the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3783in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003784 </td>
3785 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003786
3787
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003788 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3789 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003790
3791
3792 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003793 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003794 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003795 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003796 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003797 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003798 <span class="entry_type_container">x</span>
3799
3800 <span class="entry_type_array">
3801 5 x area_count
3802 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003803 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003804
3805
3806 </td> <!-- entry_type -->
3807
3808 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003809 <p>List of areas to use for focus
3810estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003811 </td>
3812
3813 <td class="entry_units">
3814 </td>
3815
3816 <td class="entry_range">
3817 </td>
3818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003819 <td class="entry_tags">
3820 <ul class="entry_tags">
3821 <li><a href="#tag_BC">BC</a></li>
3822 </ul>
3823 </td>
3824
3825 </tr>
3826 <tr class="entries_header">
3827 <th class="th_details" colspan="5">Details</th>
3828 </tr>
3829 <tr class="entry_cont">
3830 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003831 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3832xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3833specified coordinates.<wbr/></p>
3834<p>The coordinate system is based on the active pixel array,<wbr/>
3835with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003836(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3837<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 -08003838bottom-right pixel in the active pixel array.<wbr/> The weight
3839should be nonnegative.<wbr/></p>
3840<p>If all regions have 0 weight,<wbr/> then no specific focus area
3841needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003842outside 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 -08003843should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003844used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003845 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003846 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003847
3848
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003849 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3850 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003851
3852
3853 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003854 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003855 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003856 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003857 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003858 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003859
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003860 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003861
3862 <ul class="entry_type_enum">
3863 <li>
3864 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003865 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3866to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3867this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003868 </li>
3869 <li>
3870 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003871 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3872currently doing an AF scan initiated by a continuous
3873autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003874 </li>
3875 <li>
3876 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003877 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3878believes it is in focus,<wbr/> but may restart scanning at
3879any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003880 </li>
3881 <li>
3882 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003883 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3884an AF scan because it was triggered by AF
3885trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003886 </li>
3887 <li>
3888 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003889 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF
3890believes it is focused correctly and is
3891locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003892 </li>
3893 <li>
3894 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003895 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3896failed to focus successfully and is
3897locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003898 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003899 <li>
3900 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003901 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3902passive scan without finding focus,<wbr/> and may restart
3903scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003904 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003905 </ul>
3906
3907 </td> <!-- entry_type -->
3908
3909 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003910 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003911 </td>
3912
3913 <td class="entry_units">
3914 </td>
3915
3916 <td class="entry_range">
3917 </td>
3918
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003919 <td class="entry_tags">
3920 </td>
3921
3922 </tr>
3923 <tr class="entries_header">
3924 <th class="th_details" colspan="5">Details</th>
3925 </tr>
3926 <tr class="entry_cont">
3927 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003928 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3929resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3930or <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
3931the algorithm states to INACTIVE.<wbr/></p>
3932<p>The camera device can do several state transitions between two results,<wbr/> if it is
3933allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3934seen in a result.<wbr/></p>
3935<p>The state in the result is the state for this image (in sync with this image): if
3936AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3937be sharp.<wbr/></p>
3938<p>Below are state transition tables for different AF modes.<wbr/></p>
3939<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>
3940<table>
3941<thead>
3942<tr>
3943<th align="center">State</th>
3944<th align="center">Transition Cause</th>
3945<th align="center">New State</th>
3946<th align="center">Notes</th>
3947</tr>
3948</thead>
3949<tbody>
3950<tr>
3951<td align="center">INACTIVE</td>
3952<td align="center"></td>
3953<td align="center">INACTIVE</td>
3954<td align="center">Never changes</td>
3955</tr>
3956</tbody>
3957</table>
3958<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>
3959<table>
3960<thead>
3961<tr>
3962<th align="center">State</th>
3963<th align="center">Transition Cause</th>
3964<th align="center">New State</th>
3965<th align="center">Notes</th>
3966</tr>
3967</thead>
3968<tbody>
3969<tr>
3970<td align="center">INACTIVE</td>
3971<td align="center">AF_<wbr/>TRIGGER</td>
3972<td align="center">ACTIVE_<wbr/>SCAN</td>
3973<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
3974</tr>
3975<tr>
3976<td align="center">ACTIVE_<wbr/>SCAN</td>
3977<td align="center">AF sweep done</td>
3978<td align="center">FOCUSED_<wbr/>LOCKED</td>
3979<td align="center">Focused,<wbr/> Lens now locked</td>
3980</tr>
3981<tr>
3982<td align="center">ACTIVE_<wbr/>SCAN</td>
3983<td align="center">AF sweep done</td>
3984<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3985<td align="center">Not focused,<wbr/> Lens now locked</td>
3986</tr>
3987<tr>
3988<td align="center">ACTIVE_<wbr/>SCAN</td>
3989<td align="center">AF_<wbr/>CANCEL</td>
3990<td align="center">INACTIVE</td>
3991<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3992</tr>
3993<tr>
3994<td align="center">FOCUSED_<wbr/>LOCKED</td>
3995<td align="center">AF_<wbr/>CANCEL</td>
3996<td align="center">INACTIVE</td>
3997<td align="center">Cancel/<wbr/>reset AF</td>
3998</tr>
3999<tr>
4000<td align="center">FOCUSED_<wbr/>LOCKED</td>
4001<td align="center">AF_<wbr/>TRIGGER</td>
4002<td align="center">ACTIVE_<wbr/>SCAN</td>
4003<td align="center">Start new sweep,<wbr/> Lens now moving</td>
4004</tr>
4005<tr>
4006<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4007<td align="center">AF_<wbr/>CANCEL</td>
4008<td align="center">INACTIVE</td>
4009<td align="center">Cancel/<wbr/>reset AF</td>
4010</tr>
4011<tr>
4012<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4013<td align="center">AF_<wbr/>TRIGGER</td>
4014<td align="center">ACTIVE_<wbr/>SCAN</td>
4015<td align="center">Start new sweep,<wbr/> Lens now moving</td>
4016</tr>
4017<tr>
4018<td align="center">Any state</td>
4019<td align="center">Mode change</td>
4020<td align="center">INACTIVE</td>
4021<td align="center"></td>
4022</tr>
4023</tbody>
4024</table>
4025<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>
4026<table>
4027<thead>
4028<tr>
4029<th align="center">State</th>
4030<th align="center">Transition Cause</th>
4031<th align="center">New State</th>
4032<th align="center">Notes</th>
4033</tr>
4034</thead>
4035<tbody>
4036<tr>
4037<td align="center">INACTIVE</td>
4038<td align="center">Camera device initiates new scan</td>
4039<td align="center">PASSIVE_<wbr/>SCAN</td>
4040<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4041</tr>
4042<tr>
4043<td align="center">INACTIVE</td>
4044<td align="center">AF_<wbr/>TRIGGER</td>
4045<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4046<td align="center">AF state query,<wbr/> Lens now locked</td>
4047</tr>
4048<tr>
4049<td align="center">PASSIVE_<wbr/>SCAN</td>
4050<td align="center">Camera device completes current scan</td>
4051<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4052<td align="center">End AF scan,<wbr/> Lens now locked</td>
4053</tr>
4054<tr>
4055<td align="center">PASSIVE_<wbr/>SCAN</td>
4056<td align="center">Camera device fails current scan</td>
4057<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4058<td align="center">End AF scan,<wbr/> Lens now locked</td>
4059</tr>
4060<tr>
4061<td align="center">PASSIVE_<wbr/>SCAN</td>
4062<td align="center">AF_<wbr/>TRIGGER</td>
4063<td align="center">FOCUSED_<wbr/>LOCKED</td>
4064<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
4065</tr>
4066<tr>
4067<td align="center">PASSIVE_<wbr/>SCAN</td>
4068<td align="center">AF_<wbr/>TRIGGER</td>
4069<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4070<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
4071</tr>
4072<tr>
4073<td align="center">PASSIVE_<wbr/>SCAN</td>
4074<td align="center">AF_<wbr/>CANCEL</td>
4075<td align="center">INACTIVE</td>
4076<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4077</tr>
4078<tr>
4079<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4080<td align="center">Camera device initiates new scan</td>
4081<td align="center">PASSIVE_<wbr/>SCAN</td>
4082<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4083</tr>
4084<tr>
4085<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4086<td align="center">Camera device initiates new scan</td>
4087<td align="center">PASSIVE_<wbr/>SCAN</td>
4088<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4089</tr>
4090<tr>
4091<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4092<td align="center">AF_<wbr/>TRIGGER</td>
4093<td align="center">FOCUSED_<wbr/>LOCKED</td>
4094<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4095</tr>
4096<tr>
4097<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4098<td align="center">AF_<wbr/>TRIGGER</td>
4099<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4100<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4101</tr>
4102<tr>
4103<td align="center">FOCUSED_<wbr/>LOCKED</td>
4104<td align="center">AF_<wbr/>TRIGGER</td>
4105<td align="center">FOCUSED_<wbr/>LOCKED</td>
4106<td align="center">No effect</td>
4107</tr>
4108<tr>
4109<td align="center">FOCUSED_<wbr/>LOCKED</td>
4110<td align="center">AF_<wbr/>CANCEL</td>
4111<td align="center">INACTIVE</td>
4112<td align="center">Restart AF scan</td>
4113</tr>
4114<tr>
4115<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4116<td align="center">AF_<wbr/>TRIGGER</td>
4117<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4118<td align="center">No effect</td>
4119</tr>
4120<tr>
4121<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4122<td align="center">AF_<wbr/>CANCEL</td>
4123<td align="center">INACTIVE</td>
4124<td align="center">Restart AF scan</td>
4125</tr>
4126</tbody>
4127</table>
4128<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>
4129<table>
4130<thead>
4131<tr>
4132<th align="center">State</th>
4133<th align="center">Transition Cause</th>
4134<th align="center">New State</th>
4135<th align="center">Notes</th>
4136</tr>
4137</thead>
4138<tbody>
4139<tr>
4140<td align="center">INACTIVE</td>
4141<td align="center">Camera device initiates new scan</td>
4142<td align="center">PASSIVE_<wbr/>SCAN</td>
4143<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4144</tr>
4145<tr>
4146<td align="center">INACTIVE</td>
4147<td align="center">AF_<wbr/>TRIGGER</td>
4148<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4149<td align="center">AF state query,<wbr/> Lens now locked</td>
4150</tr>
4151<tr>
4152<td align="center">PASSIVE_<wbr/>SCAN</td>
4153<td align="center">Camera device completes current scan</td>
4154<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4155<td align="center">End AF scan,<wbr/> Lens now locked</td>
4156</tr>
4157<tr>
4158<td align="center">PASSIVE_<wbr/>SCAN</td>
4159<td align="center">Camera device fails current scan</td>
4160<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4161<td align="center">End AF scan,<wbr/> Lens now locked</td>
4162</tr>
4163<tr>
4164<td align="center">PASSIVE_<wbr/>SCAN</td>
4165<td align="center">AF_<wbr/>TRIGGER</td>
4166<td align="center">FOCUSED_<wbr/>LOCKED</td>
4167<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4168</tr>
4169<tr>
4170<td align="center">PASSIVE_<wbr/>SCAN</td>
4171<td align="center">AF_<wbr/>TRIGGER</td>
4172<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4173<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4174</tr>
4175<tr>
4176<td align="center">PASSIVE_<wbr/>SCAN</td>
4177<td align="center">AF_<wbr/>CANCEL</td>
4178<td align="center">INACTIVE</td>
4179<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4180</tr>
4181<tr>
4182<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4183<td align="center">Camera device initiates new scan</td>
4184<td align="center">PASSIVE_<wbr/>SCAN</td>
4185<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4186</tr>
4187<tr>
4188<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4189<td align="center">Camera device initiates new scan</td>
4190<td align="center">PASSIVE_<wbr/>SCAN</td>
4191<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4192</tr>
4193<tr>
4194<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4195<td align="center">AF_<wbr/>TRIGGER</td>
4196<td align="center">FOCUSED_<wbr/>LOCKED</td>
4197<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4198</tr>
4199<tr>
4200<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4201<td align="center">AF_<wbr/>TRIGGER</td>
4202<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4203<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4204</tr>
4205<tr>
4206<td align="center">FOCUSED_<wbr/>LOCKED</td>
4207<td align="center">AF_<wbr/>TRIGGER</td>
4208<td align="center">FOCUSED_<wbr/>LOCKED</td>
4209<td align="center">No effect</td>
4210</tr>
4211<tr>
4212<td align="center">FOCUSED_<wbr/>LOCKED</td>
4213<td align="center">AF_<wbr/>CANCEL</td>
4214<td align="center">INACTIVE</td>
4215<td align="center">Restart AF scan</td>
4216</tr>
4217<tr>
4218<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4219<td align="center">AF_<wbr/>TRIGGER</td>
4220<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4221<td align="center">No effect</td>
4222</tr>
4223<tr>
4224<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4225<td align="center">AF_<wbr/>CANCEL</td>
4226<td align="center">INACTIVE</td>
4227<td align="center">Restart AF scan</td>
4228</tr>
4229</tbody>
4230</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004231 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004232 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004233
4234
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004235 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4236 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237
4238
4239 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004240 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004241 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004242 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004244 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004245
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004246 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004247
4248
4249 </td> <!-- entry_type -->
4250
4251 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004252 <p>The ID sent with the latest
4253CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004254 </td>
4255
4256 <td class="entry_units">
4257 </td>
4258
4259 <td class="entry_range">
4260 </td>
4261
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004262 <td class="entry_tags">
4263 </td>
4264
4265 </tr>
4266 <tr class="entries_header">
4267 <th class="th_details" colspan="5">Details</th>
4268 </tr>
4269 <tr class="entry_cont">
4270 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004271 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4272received yet by HAL.<wbr/> Always updated even if AF algorithm
4273ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004274 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004275 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004276
4277
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004278 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4279 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004280
4281
4282 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004283 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004284 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004285 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004286 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004287 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004288
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004289 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004290
4291 <ul class="entry_type_enum">
4292 <li>
4293 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004294 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4295the application-selected color transform matrix
4296(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4297(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4298device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004299 </li>
4300 <li>
4301 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004302 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is active;
4303the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4304and <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 -08004305 </li>
4306 <li>
4307 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004308 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4309the camera device uses incandescent light as the assumed scene
4310illumination for white balance.<wbr/> While the exact white balance
4311transforms are up to the camera device,<wbr/> they will approximately
4312match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004313 </li>
4314 <li>
4315 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004316 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4317the camera device uses fluorescent light as the assumed scene
4318illumination for white balance.<wbr/> While the exact white balance
4319transforms are up to the camera device,<wbr/> they will approximately
4320match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004321 </li>
4322 <li>
4323 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004324 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4325the camera device uses warm fluorescent light as the assumed scene
4326illumination for white balance.<wbr/> While the exact white balance
4327transforms are up to the camera device,<wbr/> they will approximately
4328match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004329 </li>
4330 <li>
4331 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004332 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4333the camera device uses daylight light as the assumed scene
4334illumination for white balance.<wbr/> While the exact white balance
4335transforms are up to the camera device,<wbr/> they will approximately
4336match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004337 </li>
4338 <li>
4339 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004340 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4341the camera device uses cloudy daylight light as the assumed scene
4342illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004343 </li>
4344 <li>
4345 <span class="entry_type_enum_name">TWILIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004346 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4347the camera device uses twilight light as the assumed scene
4348illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004349 </li>
4350 <li>
4351 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004352 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4353the camera device uses shade light as the assumed scene
4354illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004355 </li>
4356 </ul>
4357
4358 </td> <!-- entry_type -->
4359
4360 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004361 <p>Whether AWB is currently setting the color
4362transform fields,<wbr/> and what its illumination target
4363is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004364 </td>
4365
4366 <td class="entry_units">
4367 </td>
4368
4369 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004370 <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 -08004371 </td>
4372
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004373 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004374 <ul class="entry_tags">
4375 <li><a href="#tag_BC">BC</a></li>
4376 <li><a href="#tag_AWB">AWB</a></li>
4377 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004378 </td>
4379
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004380 </tr>
4381 <tr class="entries_header">
4382 <th class="th_details" colspan="5">Details</th>
4383 </tr>
4384 <tr class="entry_cont">
4385 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004386 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4387<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4388routine is enabled,<wbr/> overriding the application's selected
4389<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
4390<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4391<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4392routine is disabled.<wbr/> The applicantion manually controls the white
4393balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4394and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4395<p>When set to any other modes,<wbr/> the camera device's auto white balance
4396routine is disabled.<wbr/> The camera device uses each particular illumination
4397target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004398 </td>
4399 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004400
4401
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004402 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4403 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004404
4405
4406 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004407 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004408 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004409 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004410 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004411 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004412 <span class="entry_type_container">x</span>
4413
4414 <span class="entry_type_array">
4415 5 x area_count
4416 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004417 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004418
4419
4420 </td> <!-- entry_type -->
4421
4422 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004423 <p>List of areas to use for illuminant
4424estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004425 </td>
4426
4427 <td class="entry_units">
4428 </td>
4429
4430 <td class="entry_range">
4431 </td>
4432
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004433 <td class="entry_tags">
4434 <ul class="entry_tags">
4435 <li><a href="#tag_BC">BC</a></li>
4436 </ul>
4437 </td>
4438
4439 </tr>
4440 <tr class="entries_header">
4441 <th class="th_details" colspan="5">Details</th>
4442 </tr>
4443 <tr class="entry_cont">
4444 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004445 <p>Only used in AUTO mode.<wbr/></p>
4446<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4447xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4448specified coordinates.<wbr/></p>
4449<p>The coordinate system is based on the active pixel array,<wbr/>
4450with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004451(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4452<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 -08004453bottom-right pixel in the active pixel array.<wbr/> The weight
4454should be nonnegative.<wbr/></p>
4455<p>If all regions have 0 weight,<wbr/> then no specific metering area
4456needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004457outside 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 -08004458should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004459used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004460 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004461 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004462
4463
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004464 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4465 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004466
4467
4468 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004469 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004470 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004471 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004472 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004473 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004474
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004475 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004476
4477 <ul class="entry_type_enum">
4478 <li>
4479 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004480 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4481starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004482 </li>
4483 <li>
4484 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004485 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004486values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004487 </li>
4488 <li>
4489 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004490 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004491current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004492 </li>
4493 <li>
4494 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004495 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004496 </li>
4497 </ul>
4498
4499 </td> <!-- entry_type -->
4500
4501 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004502 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004503 </td>
4504
4505 <td class="entry_units">
4506 </td>
4507
4508 <td class="entry_range">
4509 </td>
4510
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004511 <td class="entry_tags">
4512 </td>
4513
4514 </tr>
4515 <tr class="entries_header">
4516 <th class="th_details" colspan="5">Details</th>
4517 </tr>
4518 <tr class="entry_cont">
4519 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004520 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4521resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4522or <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
4523the algorithm states to INACTIVE.<wbr/></p>
4524<p>The camera device can do several state transitions between two results,<wbr/> if it is
4525allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4526a result.<wbr/></p>
4527<p>The state in the result is the state for this image (in sync with this image): if
4528AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4529be good to use.<wbr/></p>
4530<p>Below are state transition tables for different AWB modes.<wbr/></p>
4531<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4532<table>
4533<thead>
4534<tr>
4535<th align="center">State</th>
4536<th align="center">Transition Cause</th>
4537<th align="center">New State</th>
4538<th align="center">Notes</th>
4539</tr>
4540</thead>
4541<tbody>
4542<tr>
4543<td align="center">INACTIVE</td>
4544<td align="center"></td>
4545<td align="center">INACTIVE</td>
4546<td align="center">Camera device auto white balance algorithm is disabled</td>
4547</tr>
4548</tbody>
4549</table>
4550<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4551<table>
4552<thead>
4553<tr>
4554<th align="center">State</th>
4555<th align="center">Transition Cause</th>
4556<th align="center">New State</th>
4557<th align="center">Notes</th>
4558</tr>
4559</thead>
4560<tbody>
4561<tr>
4562<td align="center">INACTIVE</td>
4563<td align="center">Camera device initiates AWB scan</td>
4564<td align="center">SEARCHING</td>
4565<td align="center">Values changing</td>
4566</tr>
4567<tr>
4568<td align="center">INACTIVE</td>
4569<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4570<td align="center">LOCKED</td>
4571<td align="center">Values locked</td>
4572</tr>
4573<tr>
4574<td align="center">SEARCHING</td>
4575<td align="center">Camera device finishes AWB scan</td>
4576<td align="center">CONVERGED</td>
4577<td align="center">Good values,<wbr/> not changing</td>
4578</tr>
4579<tr>
4580<td align="center">SEARCHING</td>
4581<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4582<td align="center">LOCKED</td>
4583<td align="center">Values locked</td>
4584</tr>
4585<tr>
4586<td align="center">CONVERGED</td>
4587<td align="center">Camera device initiates AWB scan</td>
4588<td align="center">SEARCHING</td>
4589<td align="center">Values changing</td>
4590</tr>
4591<tr>
4592<td align="center">CONVERGED</td>
4593<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4594<td align="center">LOCKED</td>
4595<td align="center">Values locked</td>
4596</tr>
4597<tr>
4598<td align="center">LOCKED</td>
4599<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4600<td align="center">SEARCHING</td>
4601<td align="center">Values not good after unlock</td>
4602</tr>
4603<tr>
4604<td align="center">LOCKED</td>
4605<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4606<td align="center">CONVERGED</td>
4607<td align="center">Values good after unlock</td>
4608</tr>
4609</tbody>
4610</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004611 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004612 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004613
4614
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004615 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4616 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004617
4618
4619 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004620 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004621 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004622 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004623 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004624 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004625
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004626 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004627
4628 <ul class="entry_type_enum">
4629 <li>
4630 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004631 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4632routines are disabled,<wbr/> no other settings in
4633android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004634 </li>
4635 <li>
4636 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004637 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4638Manual control of capture parameters is disabled.<wbr/> All
4639controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4640effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004641 </li>
4642 <li>
4643 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004644 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4645control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4646controls; the HAL must ignore those settings while
4647USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4648scene mode).<wbr/> Other control entries are still active.<wbr/>
4649This setting can only be used if availableSceneModes !=
4650UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004651 </li>
4652 </ul>
4653
4654 </td> <!-- entry_type -->
4655
4656 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004657 <p>Overall mode of 3A control
4658routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004659 </td>
4660
4661 <td class="entry_units">
4662 </td>
4663
4664 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004665 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004666 </td>
4667
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004668 <td class="entry_tags">
4669 <ul class="entry_tags">
4670 <li><a href="#tag_BC">BC</a></li>
4671 </ul>
4672 </td>
4673
4674 </tr>
4675 <tr class="entries_header">
4676 <th class="th_details" colspan="5">Details</th>
4677 </tr>
4678 <tr class="entry_cont">
4679 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004680 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004681by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004682capture parameters itself.<wbr/></p>
4683<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004684android.<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 -08004685<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004686android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004687one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004688as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004689<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 -08004690 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004691 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004692
4693
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004694 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4695 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004696
4697
4698
4699 <!-- end of kind -->
4700 </tbody>
4701
4702 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004703 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004704
4705
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004706 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004707
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004708 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004709 <tr>
4710 <th class="th_name">Property Name</th>
4711 <th class="th_type">Type</th>
4712 <th class="th_description">Description</th>
4713 <th class="th_units">Units</th>
4714 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004715 <th class="th_tags">Tags</th>
4716 </tr>
4717 </thead>
4718
4719 <tbody>
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004731 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004732 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004733 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004735 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004737 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004738
4739 <ul class="entry_type_enum">
4740 <li>
4741 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004742 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4743Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004744 </li>
4745 <li>
4746 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004747 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4748rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004749 </li>
4750 </ul>
4751
4752 </td> <!-- entry_type -->
4753
4754 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004755 <p>Controls the quality of the demosaicing
4756processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004757 </td>
4758
4759 <td class="entry_units">
4760 </td>
4761
4762 <td class="entry_range">
4763 </td>
4764
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765 <td class="entry_tags">
4766 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004767 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004768 </ul>
4769 </td>
4770
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004771 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004772
4773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004774 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4775 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004776
4777
4778
4779 <!-- end of kind -->
4780 </tbody>
4781
4782 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004783 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004784
4785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004786 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004787
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004788 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004789 <tr>
4790 <th class="th_name">Property Name</th>
4791 <th class="th_type">Type</th>
4792 <th class="th_description">Description</th>
4793 <th class="th_units">Units</th>
4794 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004795 <th class="th_tags">Tags</th>
4796 </tr>
4797 </thead>
4798
4799 <tbody>
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004811 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004812 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004813 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004814 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004815 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004816
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004817 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004818
4819 <ul class="entry_type_enum">
4820 <li>
4821 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004822 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004823 </li>
4824 <li>
4825 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004826 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4827output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828 </li>
4829 <li>
4830 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004831 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4832quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004833 </li>
4834 </ul>
4835
4836 </td> <!-- entry_type -->
4837
4838 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004839 <p>Operation mode for edge
4840enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004841 </td>
4842
4843 <td class="entry_units">
4844 </td>
4845
4846 <td class="entry_range">
4847 </td>
4848
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004849 <td class="entry_tags">
4850 </td>
4851
4852 </tr>
4853 <tr class="entries_header">
4854 <th class="th_details" colspan="5">Details</th>
4855 </tr>
4856 <tr class="entry_cont">
4857 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004858 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4859enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004860<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004861will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004862camera device will use the highest-quality enhancement algorithms,<wbr/>
4863even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004864not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004865 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004866 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004867
4868
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004869 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4870 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004871
4872
4873 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004874 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004875 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004876 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004877 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004878 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004879
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004880 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004881
4882
4883 </td> <!-- entry_type -->
4884
4885 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004886 <p>Control the amount of edge enhancement
4887applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004888 </td>
4889
4890 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004891 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004892 </td>
4893
4894 <td class="entry_range">
4895 </td>
4896
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004897 <td class="entry_tags">
4898 </td>
4899
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004900 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004901
4902
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004903 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4904 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004905
4906
4907
4908 <!-- end of kind -->
4909 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004910 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004911
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004912 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004913 <tr>
4914 <th class="th_name">Property Name</th>
4915 <th class="th_type">Type</th>
4916 <th class="th_description">Description</th>
4917 <th class="th_units">Units</th>
4918 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004919 <th class="th_tags">Tags</th>
4920 </tr>
4921 </thead>
4922
4923 <tbody>
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004935 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004936 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004937 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004938 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004939 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004940
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004941 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004942
4943 <ul class="entry_type_enum">
4944 <li>
4945 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004946 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004947 </li>
4948 <li>
4949 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004950 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4951output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952 </li>
4953 <li>
4954 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004955 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4956quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004957 </li>
4958 </ul>
4959
4960 </td> <!-- entry_type -->
4961
4962 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004963 <p>Operation mode for edge
4964enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004965 </td>
4966
4967 <td class="entry_units">
4968 </td>
4969
4970 <td class="entry_range">
4971 </td>
4972
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004973 <td class="entry_tags">
4974 </td>
4975
4976 </tr>
4977 <tr class="entries_header">
4978 <th class="th_details" colspan="5">Details</th>
4979 </tr>
4980 <tr class="entry_cont">
4981 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004982 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4983enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004984<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004985will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004986camera device will use the highest-quality enhancement algorithms,<wbr/>
4987even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004988not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004989 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004990 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004991
4992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004993 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4994 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004995
4996
4997
4998 <!-- end of kind -->
4999 </tbody>
5000
5001 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005002 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005003
5004
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005005 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005006
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005007 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005008 <tr>
5009 <th class="th_name">Property Name</th>
5010 <th class="th_type">Type</th>
5011 <th class="th_description">Description</th>
5012 <th class="th_units">Units</th>
5013 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005014 <th class="th_tags">Tags</th>
5015 </tr>
5016 </thead>
5017
5018 <tbody>
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005030 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005031 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005032 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005033 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005034 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005035
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005036 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005037
5038
5039 </td> <!-- entry_type -->
5040
5041 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005042 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005043 </td>
5044
5045 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005046 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005047 </td>
5048
5049 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005050 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005051 </td>
5052
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 <td class="entry_tags">
5054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005055 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005056 </ul>
5057 </td>
5058
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005059 </tr>
5060 <tr class="entries_header">
5061 <th class="th_details" colspan="5">Details</th>
5062 </tr>
5063 <tr class="entry_cont">
5064 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005065 <p>Power for snapshot may use a different scale than
5066for torch mode.<wbr/> Only one entry for torch mode will be
5067used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005068 </td>
5069 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005070
5071
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005072 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5073 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005074
5075
5076 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005077 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005078 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005079 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005081 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005082
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005083 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005084
5085
5086 </td> <!-- entry_type -->
5087
5088 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005089 <p>Firing time of flash relative to start of
5090exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005091 </td>
5092
5093 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005094 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005095 </td>
5096
5097 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005098 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005099 </td>
5100
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005101 <td class="entry_tags">
5102 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005103 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005104 </ul>
5105 </td>
5106
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005107 </tr>
5108 <tr class="entries_header">
5109 <th class="th_details" colspan="5">Details</th>
5110 </tr>
5111 <tr class="entry_cont">
5112 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005113 <p>Clamped to (0,<wbr/> exposure time - flash
5114duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005115 </td>
5116 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005117
5118
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005119 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5120 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005121
5122
5123 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005124 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005125 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005126 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005127 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005128 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005129
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005130 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005131
5132 <ul class="entry_type_enum">
5133 <li>
5134 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005135 <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 -08005136 </li>
5137 <li>
5138 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005139 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5140for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5141<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005142 </li>
5143 <li>
5144 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005145 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005146 </li>
5147 </ul>
5148
5149 </td> <!-- entry_type -->
5150
5151 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005152 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005153 </td>
5154
5155 <td class="entry_units">
5156 </td>
5157
5158 <td class="entry_range">
5159 </td>
5160
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005161 <td class="entry_tags">
5162 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005163 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005164 </ul>
5165 </td>
5166
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005167 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005168 <tr class="entries_header">
5169 <th class="th_details" colspan="5">Details</th>
5170 </tr>
5171 <tr class="entry_cont">
5172 <td class="entry_details" colspan="5">
5173 <p>This control is only effective when flash unit is available
5174(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5175<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/>
5176Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5177ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5178<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5179<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5180device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5181control should be used along with AE precapture metering sequence
5182(<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>
5183<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5184for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5185 </td>
5186 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005187
5188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005189 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5190 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005191
5192
5193
5194 <!-- end of kind -->
5195 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005196 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005197
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005198 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005199 <tr>
5200 <th class="th_name">Property Name</th>
5201 <th class="th_type">Type</th>
5202 <th class="th_description">Description</th>
5203 <th class="th_units">Units</th>
5204 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005205 <th class="th_tags">Tags</th>
5206 </tr>
5207 </thead>
5208
5209 <tbody>
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005223 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005224 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005225 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005226 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005227 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005228
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005229 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005230
5231
5232 </td> <!-- entry_type -->
5233
5234 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005235 <p>Whether this camera has a
5236flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005237 </td>
5238
5239 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005240 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005241 </td>
5242
5243 <td class="entry_range">
5244 </td>
5245
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005246 <td class="entry_tags">
5247 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005248 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005249 </ul>
5250 </td>
5251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005252 </tr>
5253 <tr class="entries_header">
5254 <th class="th_details" colspan="5">Details</th>
5255 </tr>
5256 <tr class="entry_cont">
5257 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005258 <p>If no flash,<wbr/> none of the flash controls do
5259anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005260 </td>
5261 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005262
5263
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005264 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5265 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005266
5267
5268 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005269 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005270 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005271 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005272 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005273 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005274
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005275 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005276
5277
5278 </td> <!-- entry_type -->
5279
5280 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005281 <p>Time taken before flash can fire
5282again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005283 </td>
5284
5285 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005286 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005287 </td>
5288
5289 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005290 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005291 </td>
5292
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005293 <td class="entry_tags">
5294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005295 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005296 </ul>
5297 </td>
5298
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005299 </tr>
5300 <tr class="entries_header">
5301 <th class="th_details" colspan="5">Details</th>
5302 </tr>
5303 <tr class="entry_cont">
5304 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005305 <p>1 second too long/<wbr/>too short for recharge? Should
5306this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005307 </td>
5308 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005309
5310
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005311 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5312 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005313
5314
5315
5316
5317
5318 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005319 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005320 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005321 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005322 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005323 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005325 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005326
5327
5328 </td> <!-- entry_type -->
5329
5330 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005331 <p>The x,<wbr/>y whitepoint of the
5332flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005333 </td>
5334
5335 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005336 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005337 </td>
5338
5339 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005340 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005341 </td>
5342
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005343 <td class="entry_tags">
5344 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005345 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005346 </ul>
5347 </td>
5348
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005349 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005350
5351
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005352 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5353 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005354
5355
5356 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005357 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005358 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005359 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005360 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005361 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005362
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005363 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005364
5365
5366 </td> <!-- entry_type -->
5367
5368 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005369 <p>Max energy output of the flash for a full
5370power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005371 </td>
5372
5373 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005374 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005375 </td>
5376
5377 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005378 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005379 </td>
5380
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005381 <td class="entry_tags">
5382 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005383 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005384 </ul>
5385 </td>
5386
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005387 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005388
5389
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005390 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5391 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005392
5393
5394
5395 <!-- end of kind -->
5396 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005397 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005398
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005399 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005400 <tr>
5401 <th class="th_name">Property Name</th>
5402 <th class="th_type">Type</th>
5403 <th class="th_description">Description</th>
5404 <th class="th_units">Units</th>
5405 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005406 <th class="th_tags">Tags</th>
5407 </tr>
5408 </thead>
5409
5410 <tbody>
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005422 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005423 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005424 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005425 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005426 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005427
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005428 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005429
5430
5431 </td> <!-- entry_type -->
5432
5433 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005434 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005435 </td>
5436
5437 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005438 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005439 </td>
5440
5441 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005442 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005443 </td>
5444
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005445 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005446 <ul class="entry_tags">
5447 <li><a href="#tag_V1">V1</a></li>
5448 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005449 </td>
5450
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005451 </tr>
5452 <tr class="entries_header">
5453 <th class="th_details" colspan="5">Details</th>
5454 </tr>
5455 <tr class="entry_cont">
5456 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005457 <p>Power for snapshot may use a different scale than
5458for torch mode.<wbr/> Only one entry for torch mode will be
5459used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005460 </td>
5461 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005462
5463
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005464 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5465 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005466
5467
5468 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005469 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005470 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005471 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005473 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005474
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005475 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005476
5477
5478 </td> <!-- entry_type -->
5479
5480 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005481 <p>Firing time of flash relative to start of
5482exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005483 </td>
5484
5485 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005486 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005487 </td>
5488
5489 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005490 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005491 </td>
5492
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005493 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005494 <ul class="entry_tags">
5495 <li><a href="#tag_V1">V1</a></li>
5496 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005497 </td>
5498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005499 </tr>
5500 <tr class="entries_header">
5501 <th class="th_details" colspan="5">Details</th>
5502 </tr>
5503 <tr class="entry_cont">
5504 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005505 <p>Clamped to (0,<wbr/> exposure time - flash
5506duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005507 </td>
5508 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005509
5510
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005511 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5512 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005513
5514
5515 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005516 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005517 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005518 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005520 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005522 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005523
5524 <ul class="entry_type_enum">
5525 <li>
5526 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005527 <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 -08005528 </li>
5529 <li>
5530 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005531 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5532for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5533<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005534 </li>
5535 <li>
5536 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005537 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005538 </li>
5539 </ul>
5540
5541 </td> <!-- entry_type -->
5542
5543 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005544 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005545 </td>
5546
5547 <td class="entry_units">
5548 </td>
5549
5550 <td class="entry_range">
5551 </td>
5552
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005553 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005554 <ul class="entry_tags">
5555 <li><a href="#tag_BC">BC</a></li>
5556 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005557 </td>
5558
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005559 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005560 <tr class="entries_header">
5561 <th class="th_details" colspan="5">Details</th>
5562 </tr>
5563 <tr class="entry_cont">
5564 <td class="entry_details" colspan="5">
5565 <p>This control is only effective when flash unit is available
5566(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5567<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/>
5568Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5569ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5570<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5571<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5572device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5573control should be used along with AE precapture metering sequence
5574(<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>
5575<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5576for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5577 </td>
5578 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005579
5580
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005581 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5582 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005583
5584
5585 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005586 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005587 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005588 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005589 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005590 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005591
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005592 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005593
5594 <ul class="entry_type_enum">
5595 <li>
5596 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005597 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005598 </li>
5599 <li>
5600 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005601 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5602charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005603 </li>
5604 <li>
5605 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005606 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5607ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005608 </li>
5609 <li>
5610 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005611 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5612for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005613 </li>
5614 </ul>
5615
5616 </td> <!-- entry_type -->
5617
5618 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005619 <p>Current state of the flash
5620unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005621 </td>
5622
5623 <td class="entry_units">
5624 </td>
5625
5626 <td class="entry_range">
5627 </td>
5628
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005629 <td class="entry_tags">
5630 </td>
5631
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005632 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005633
5634
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005635 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5636 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005637
5638
5639
5640 <!-- end of kind -->
5641 </tbody>
5642
5643 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005644 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005645
5646
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005647 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005648
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005649 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005650 <tr>
5651 <th class="th_name">Property Name</th>
5652 <th class="th_type">Type</th>
5653 <th class="th_description">Description</th>
5654 <th class="th_units">Units</th>
5655 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005656 <th class="th_tags">Tags</th>
5657 </tr>
5658 </thead>
5659
5660 <tbody>
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005672 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005673 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005674 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005675 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005676 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005677
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005678 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005679
5680 <ul class="entry_type_enum">
5681 <li>
5682 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005683 <span class="entry_type_enum_notes"><p>No geometric correction is
5684applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005685 </li>
5686 <li>
5687 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005688 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5689bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005690 </li>
5691 <li>
5692 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005693 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5694quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005695 </li>
5696 </ul>
5697
5698 </td> <!-- entry_type -->
5699
5700 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005701 <p>Operating mode of geometric
5702correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005703 </td>
5704
5705 <td class="entry_units">
5706 </td>
5707
5708 <td class="entry_range">
5709 </td>
5710
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005711 <td class="entry_tags">
5712 </td>
5713
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005714 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005715
5716
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005717 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5718 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005719
5720
5721 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005722 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005723 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005724 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005725 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005726 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005727
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005728 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005729
5730
5731 </td> <!-- entry_type -->
5732
5733 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005734 <p>Control the amount of shading correction
5735applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005736 </td>
5737
5738 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005739 unitless: 1-10; 10 is full shading
5740 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005741 </td>
5742
5743 <td class="entry_range">
5744 </td>
5745
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746 <td class="entry_tags">
5747 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005748 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005749 </ul>
5750 </td>
5751
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005752 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005753
5754
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005755 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5756 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005757
5758
5759
5760 <!-- end of kind -->
5761 </tbody>
5762
5763 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005764 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005765
5766
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005767 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005768
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005769 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005770 <tr>
5771 <th class="th_name">Property Name</th>
5772 <th class="th_type">Type</th>
5773 <th class="th_description">Description</th>
5774 <th class="th_units">Units</th>
5775 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005776 <th class="th_tags">Tags</th>
5777 </tr>
5778 </thead>
5779
5780 <tbody>
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005792 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005793 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005794 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005795 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005796 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005798 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005799
5800 <ul class="entry_type_enum">
5801 <li>
5802 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005803 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5804applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005805 </li>
5806 <li>
5807 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005808 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5809Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005810 </li>
5811 <li>
5812 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005813 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5814quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005815 </li>
5816 </ul>
5817
5818 </td> <!-- entry_type -->
5819
5820 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005821 <p>Set operational mode for hot pixel
5822correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005823 </td>
5824
5825 <td class="entry_units">
5826 </td>
5827
5828 <td class="entry_range">
5829 </td>
5830
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005831 <td class="entry_tags">
5832 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005833 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005834 </ul>
5835 </td>
5836
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005837 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005838
5839
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005840 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5841 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005842
5843
5844
5845 <!-- end of kind -->
5846 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005847 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005848
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005849 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850 <tr>
5851 <th class="th_name">Property Name</th>
5852 <th class="th_type">Type</th>
5853 <th class="th_description">Description</th>
5854 <th class="th_units">Units</th>
5855 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856 <th class="th_tags">Tags</th>
5857 </tr>
5858 </thead>
5859
5860 <tbody>
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005874 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005875 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005876 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005877 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005878 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005879 <span class="entry_type_container">x</span>
5880
5881 <span class="entry_type_array">
5882 2 x n
5883 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005884 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005885 <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 -08005886
5887
5888 </td> <!-- entry_type -->
5889
5890 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005891 <p>Location of hot/<wbr/>defective pixels on
5892sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005893 </td>
5894
5895 <td class="entry_units">
5896 </td>
5897
5898 <td class="entry_range">
5899 </td>
5900
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005901 <td class="entry_tags">
5902 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005903 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005904 </ul>
5905 </td>
5906
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005907 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005908
5909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005910 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5911 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005912
5913
5914
5915
5916
5917
5918 <!-- end of kind -->
5919 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005920 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005921
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005922 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005923 <tr>
5924 <th class="th_name">Property Name</th>
5925 <th class="th_type">Type</th>
5926 <th class="th_description">Description</th>
5927 <th class="th_units">Units</th>
5928 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005929 <th class="th_tags">Tags</th>
5930 </tr>
5931 </thead>
5932
5933 <tbody>
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005945 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005946 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005947 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005948 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005949 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005950
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005951 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005952
5953 <ul class="entry_type_enum">
5954 <li>
5955 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005956 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5957applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005958 </li>
5959 <li>
5960 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005961 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5962Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005963 </li>
5964 <li>
5965 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005966 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5967quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005968 </li>
5969 </ul>
5970
5971 </td> <!-- entry_type -->
5972
5973 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005974 <p>Set operational mode for hot pixel
5975correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005976 </td>
5977
5978 <td class="entry_units">
5979 </td>
5980
5981 <td class="entry_range">
5982 </td>
5983
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984 <td class="entry_tags">
5985 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005986 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005987 </ul>
5988 </td>
5989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005990 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005991
5992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005993 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5994 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005995
5996
5997
5998 <!-- end of kind -->
5999 </tbody>
6000
6001 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006002 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006003
6004
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006005 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006006
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006007 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006008 <tr>
6009 <th class="th_name">Property Name</th>
6010 <th class="th_type">Type</th>
6011 <th class="th_description">Description</th>
6012 <th class="th_units">Units</th>
6013 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006014 <th class="th_tags">Tags</th>
6015 </tr>
6016 </thead>
6017
6018 <tbody>
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006030 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006031 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006032 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006033 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006034 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006035 <span class="entry_type_container">x</span>
6036
6037 <span class="entry_type_array">
6038 3
6039 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006040 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006041 <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 -08006042
6043
6044 </td> <!-- entry_type -->
6045
6046 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006047 <p>GPS coordinates to include in output JPEG
6048EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006049 </td>
6050
6051 <td class="entry_units">
6052 </td>
6053
6054 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006055 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006056 </td>
6057
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006058 <td class="entry_tags">
6059 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006060 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061 </ul>
6062 </td>
6063
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006064 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006065
6066
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006067 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6068 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006069
6070
6071 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006072 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006073 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006074 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006075 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006076 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006077
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006078 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006079
6080
6081 </td> <!-- entry_type -->
6082
6083 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006084 <p>32 characters describing GPS algorithm to
6085include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006086 </td>
6087
6088 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006089 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006090 </td>
6091
6092 <td class="entry_range">
6093 </td>
6094
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006095 <td class="entry_tags">
6096 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006097 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098 </ul>
6099 </td>
6100
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006101 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006102
6103
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006104 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6105 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006106
6107
6108 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006109 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006110 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006111 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006112 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006113 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006114
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006115 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006116
6117
6118 </td> <!-- entry_type -->
6119
6120 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006121 <p>Time GPS fix was made to include in
6122EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006123 </td>
6124
6125 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006126 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006127 </td>
6128
6129 <td class="entry_range">
6130 </td>
6131
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006132 <td class="entry_tags">
6133 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006134 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006135 </ul>
6136 </td>
6137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006138 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006139
6140
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006141 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6142 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143
6144
6145 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006146 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006147 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006148 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006149 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006150 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006151
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006152 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006153
6154
6155 </td> <!-- entry_type -->
6156
6157 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006158 <p>Orientation of JPEG image to
6159write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006160 </td>
6161
6162 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006163 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006164 </td>
6165
6166 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006167 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006168 </td>
6169
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006170 <td class="entry_tags">
6171 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006172 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006173 </ul>
6174 </td>
6175
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006176 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006177
6178
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006179 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6180 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006181
6182
6183 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006184 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006185 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006186 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006187 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006188 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006189
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006190 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006191
6192
6193 </td> <!-- entry_type -->
6194
6195 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006196 <p>Compression quality of the final JPEG
6197image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006198 </td>
6199
6200 <td class="entry_units">
6201 </td>
6202
6203 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006204 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006205 </td>
6206
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006207 <td class="entry_tags">
6208 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006209 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006210 </ul>
6211 </td>
6212
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006213 </tr>
6214 <tr class="entries_header">
6215 <th class="th_details" colspan="5">Details</th>
6216 </tr>
6217 <tr class="entry_cont">
6218 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006219 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006220 </td>
6221 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006222
6223
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006224 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6225 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006226
6227
6228 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006229 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006230 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006231 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006232 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006233 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006234
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006235 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006236
6237
6238 </td> <!-- entry_type -->
6239
6240 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006241 <p>Compression quality of JPEG
6242thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006243 </td>
6244
6245 <td class="entry_units">
6246 </td>
6247
6248 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006249 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006250 </td>
6251
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006252 <td class="entry_tags">
6253 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006254 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006255 </ul>
6256 </td>
6257
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006258 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006259
6260
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006261 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6262 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006263
6264
6265 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006266 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006267 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006268 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006269 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006270 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006271 <span class="entry_type_container">x</span>
6272
6273 <span class="entry_type_array">
6274 2
6275 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006276 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006277
6278
6279 </td> <!-- entry_type -->
6280
6281 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006282 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006283 </td>
6284
6285 <td class="entry_units">
6286 </td>
6287
6288 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006289 <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 -08006290 </td>
6291
6292 <td class="entry_tags">
6293 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006294 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006295 </ul>
6296 </td>
6297
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006298 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006299 <tr class="entries_header">
6300 <th class="th_details" colspan="5">Details</th>
6301 </tr>
6302 <tr class="entry_cont">
6303 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006304 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6305but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006306<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6307the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006308 </td>
6309 </tr>
6310
6311
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006312 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6313 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006314
6315
6316
6317 <!-- end of kind -->
6318 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006319 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006320
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006321 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006322 <tr>
6323 <th class="th_name">Property Name</th>
6324 <th class="th_type">Type</th>
6325 <th class="th_description">Description</th>
6326 <th class="th_units">Units</th>
6327 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006328 <th class="th_tags">Tags</th>
6329 </tr>
6330 </thead>
6331
6332 <tbody>
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006344 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006345 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006346 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006347 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006348 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006349 <span class="entry_type_container">x</span>
6350
6351 <span class="entry_type_array">
6352 2 x n
6353 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006354 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006355
6356
6357 </td> <!-- entry_type -->
6358
6359 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006360 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006361 </td>
6362
6363 <td class="entry_units">
6364 </td>
6365
6366 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006367 <p>Will include at least one valid resolution,<wbr/> plus
6368(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006369 </td>
6370
6371 <td class="entry_tags">
6372 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006373 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006374 </ul>
6375 </td>
6376
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006377 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006378 <tr class="entries_header">
6379 <th class="th_details" colspan="5">Details</th>
6380 </tr>
6381 <tr class="entry_cont">
6382 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006383 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006384<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006385<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6386If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6387<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006388aspect 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 -08006389The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006390in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006391<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 -08006392one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6393and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006394<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006395</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006396 </td>
6397 </tr>
6398
6399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006400 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6401 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006402
6403
6404 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006405 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006406 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006407 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006408 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006409 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006410
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006411 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006412
6413
6414 </td> <!-- entry_type -->
6415
6416 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006417 <p>Maximum size in bytes for the compressed
6418JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006419 </td>
6420
6421 <td class="entry_units">
6422 </td>
6423
6424 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006425 <p>Must be large enough to fit any JPEG produced by
6426the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006427 </td>
6428
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006429 <td class="entry_tags">
6430 </td>
6431
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006432 </tr>
6433 <tr class="entries_header">
6434 <th class="th_details" colspan="5">Details</th>
6435 </tr>
6436 <tr class="entry_cont">
6437 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006438 <p>This is used for sizing the gralloc buffers for
6439JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006440 </td>
6441 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006442
6443
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006444 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6445 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006446
6447
6448
6449 <!-- end of kind -->
6450 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006451 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006452
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006453 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006454 <tr>
6455 <th class="th_name">Property Name</th>
6456 <th class="th_type">Type</th>
6457 <th class="th_description">Description</th>
6458 <th class="th_units">Units</th>
6459 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006460 <th class="th_tags">Tags</th>
6461 </tr>
6462 </thead>
6463
6464 <tbody>
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006476 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006477 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006478 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006479 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006480 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006481 <span class="entry_type_container">x</span>
6482
6483 <span class="entry_type_array">
6484 3
6485 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006486 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006487 <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 -08006488
6489
6490 </td> <!-- entry_type -->
6491
6492 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006493 <p>GPS coordinates to include in output JPEG
6494EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006495 </td>
6496
6497 <td class="entry_units">
6498 </td>
6499
6500 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006501 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006502 </td>
6503
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006504 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006505 <ul class="entry_tags">
6506 <li><a href="#tag_BC">BC</a></li>
6507 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006508 </td>
6509
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006510 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006511
6512
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006513 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6514 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006515
6516
6517 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006518 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006519 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006520 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006521 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006522 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006523
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006524 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006525
6526
6527 </td> <!-- entry_type -->
6528
6529 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006530 <p>32 characters describing GPS algorithm to
6531include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006532 </td>
6533
6534 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006535 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006536 </td>
6537
6538 <td class="entry_range">
6539 </td>
6540
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006541 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006542 <ul class="entry_tags">
6543 <li><a href="#tag_BC">BC</a></li>
6544 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006545 </td>
6546
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006547 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006548
6549
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006550 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6551 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006552
6553
6554 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006555 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006556 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006557 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006558 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006559 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006560
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006561 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006562
6563
6564 </td> <!-- entry_type -->
6565
6566 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006567 <p>Time GPS fix was made to include in
6568EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006569 </td>
6570
6571 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006572 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006573 </td>
6574
6575 <td class="entry_range">
6576 </td>
6577
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006578 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006579 <ul class="entry_tags">
6580 <li><a href="#tag_BC">BC</a></li>
6581 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006582 </td>
6583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006584 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006585
6586
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006587 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6588 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006589
6590
6591 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006592 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006593 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006594 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006595 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006596 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006597
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006598 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006599
6600
6601 </td> <!-- entry_type -->
6602
6603 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006604 <p>Orientation of JPEG image to
6605write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006606 </td>
6607
6608 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006609 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006610 </td>
6611
6612 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006613 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006614 </td>
6615
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006616 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006617 <ul class="entry_tags">
6618 <li><a href="#tag_BC">BC</a></li>
6619 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006620 </td>
6621
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006622 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006623
6624
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006625 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6626 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006627
6628
6629 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006630 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006631 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006632 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006633 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006634 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006635
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006636 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006637
6638
6639 </td> <!-- entry_type -->
6640
6641 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006642 <p>Compression quality of the final JPEG
6643image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006644 </td>
6645
6646 <td class="entry_units">
6647 </td>
6648
6649 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006650 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006651 </td>
6652
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006653 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006654 <ul class="entry_tags">
6655 <li><a href="#tag_BC">BC</a></li>
6656 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006657 </td>
6658
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006659 </tr>
6660 <tr class="entries_header">
6661 <th class="th_details" colspan="5">Details</th>
6662 </tr>
6663 <tr class="entry_cont">
6664 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006665 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006666 </td>
6667 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006668
6669
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006670 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6671 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006672
6673
6674 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006675 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006676 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006677 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006679 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006681 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006682
6683
6684 </td> <!-- entry_type -->
6685
6686 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006687 <p>The size of the compressed JPEG image,<wbr/> in
6688bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006689 </td>
6690
6691 <td class="entry_units">
6692 </td>
6693
6694 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006695 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006696 </td>
6697
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006698 <td class="entry_tags">
6699 </td>
6700
6701 </tr>
6702 <tr class="entries_header">
6703 <th class="th_details" colspan="5">Details</th>
6704 </tr>
6705 <tr class="entry_cont">
6706 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006707 <p>If no JPEG output is produced for the request,<wbr/>
6708this must be 0.<wbr/></p>
6709<p>Otherwise,<wbr/> this describes the real size of the compressed
6710JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006711if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6712has <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 -08006713the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6714500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006715 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006716 </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="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006724 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006725 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
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">byte</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">
Igor Murashkin0b080452013-12-27 15:30:25 -08006736 <p>Compression quality of JPEG
6737thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006738 </td>
6739
6740 <td class="entry_units">
6741 </td>
6742
6743 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006744 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006745 </td>
6746
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006747 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006748 <ul class="entry_tags">
6749 <li><a href="#tag_BC">BC</a></li>
6750 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006751 </td>
6752
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006753 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006754
6755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006756 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6757 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006758
6759
6760 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006761 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006762 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006763 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006764 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006765 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006766 <span class="entry_type_container">x</span>
6767
6768 <span class="entry_type_array">
6769 2
6770 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006771 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006772
6773
6774 </td> <!-- entry_type -->
6775
6776 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006777 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006778 </td>
6779
6780 <td class="entry_units">
6781 </td>
6782
6783 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006784 <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 -08006785 </td>
6786
6787 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006788 <ul class="entry_tags">
6789 <li><a href="#tag_BC">BC</a></li>
6790 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006791 </td>
6792
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006793 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006794 <tr class="entries_header">
6795 <th class="th_details" colspan="5">Details</th>
6796 </tr>
6797 <tr class="entry_cont">
6798 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006799 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6800but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006801<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6802the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006803 </td>
6804 </tr>
6805
6806
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006807 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6808 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006809
6810
6811
6812 <!-- end of kind -->
6813 </tbody>
6814
6815 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006816 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006817
6818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006819 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006820
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006821 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006822 <tr>
6823 <th class="th_name">Property Name</th>
6824 <th class="th_type">Type</th>
6825 <th class="th_description">Description</th>
6826 <th class="th_units">Units</th>
6827 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006828 <th class="th_tags">Tags</th>
6829 </tr>
6830 </thead>
6831
6832 <tbody>
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006844 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006845 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006846 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006848 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006849
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006850 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006851
6852
6853 </td> <!-- entry_type -->
6854
6855 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006856 <p>The ratio of lens focal length to the effective
6857aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006858 </td>
6859
6860 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006861 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006862 </td>
6863
6864 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006865 <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 -08006866 </td>
6867
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006868 <td class="entry_tags">
6869 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006870 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006871 </ul>
6872 </td>
6873
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006874 </tr>
6875 <tr class="entries_header">
6876 <th class="th_details" colspan="5">Details</th>
6877 </tr>
6878 <tr class="entry_cont">
6879 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006880 <p>This will only be supported on the camera devices that
6881have variable aperture lens.<wbr/> The aperture value can only be
6882one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6883<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6884this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6885<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6886to achieve manual exposure control.<wbr/></p>
6887<p>The requested aperture value may take several frames to reach the
6888requested value; the camera device will report the current (intermediate)
6889aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6890<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6891the ON modes,<wbr/> this will be overridden by the camera device
6892auto-exposure algorithm,<wbr/> the overridden values are then provided
6893back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006894 </td>
6895 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006896
6897
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006898 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6899 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006900
6901
6902 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006903 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006904 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006905 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006906 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006907 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006908
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006909 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006910
6911
6912 </td> <!-- entry_type -->
6913
6914 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006915 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006916 </td>
6917
6918 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006919 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006920 </td>
6921
6922 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006923 <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 -08006924 </td>
6925
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006926 <td class="entry_tags">
6927 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006928 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006929 </ul>
6930 </td>
6931
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006932 </tr>
6933 <tr class="entries_header">
6934 <th class="th_details" colspan="5">Details</th>
6935 </tr>
6936 <tr class="entry_cont">
6937 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006938 <p>This will not be supported on most camera devices.<wbr/> On devices
6939where this is supported,<wbr/> this may only be set to one of the
6940values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6941<p>Lens filters are typically used to lower the amount of light the
6942sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6943step is the standard logarithmic representation,<wbr/> which are
6944non-negative,<wbr/> and inversely proportional to the amount of light
6945hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6946in no reduction of the incoming light,<wbr/> and setting this to 2 would
6947mean that the filter is set to reduce incoming light by two stops
6948(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006949 </td>
6950 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006951
6952
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006953 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6954 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006955
6956
6957 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006958 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006959 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006960 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006962 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006963
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006964 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006965
6966
6967 </td> <!-- entry_type -->
6968
6969 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006970 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006971 </td>
6972
6973 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006974 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006975 </td>
6976
6977 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006978 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006979 </td>
6980
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006981 <td class="entry_tags">
6982 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006983 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006984 </ul>
6985 </td>
6986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006987 </tr>
6988 <tr class="entries_header">
6989 <th class="th_details" colspan="5">Details</th>
6990 </tr>
6991 <tr class="entry_cont">
6992 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006993 <p>This setting controls the physical focal length of the camera
6994device's lens.<wbr/> Changing the focal length changes the field of
6995view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
6996<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
6997setting won't be applied instantaneously,<wbr/> and it may take several
6998frames before the lens can move to the requested focal length.<wbr/>
6999While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7000be set to MOVING.<wbr/></p>
7001<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007002 </td>
7003 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007004
7005
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007006 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7007 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007008
7009
7010 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007011 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007012 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007013 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007015 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007016
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">
Igor Murashkin0b080452013-12-27 15:30:25 -08007023 <p>Distance to plane of sharpest focus,<wbr/>
7024measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025 </td>
7026
7027 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007028 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007029 </td>
7030
7031 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007032 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007033 </td>
7034
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007035 <td class="entry_tags">
7036 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007037 <li><a href="#tag_BC">BC</a></li>
7038 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007039 </ul>
7040 </td>
7041
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007042 </tr>
7043 <tr class="entries_header">
7044 <th class="th_details" colspan="5">Details</th>
7045 </tr>
7046 <tr class="entry_cont">
7047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007048 <p>0 = infinity focus.<wbr/> Used value should be clamped
7049to (0,<wbr/>minimum focus distance)</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="controls_android.lens.opticalStabilizationMode">
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/>optical<wbr/>Stabilization<wbr/>Mode
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 entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007064
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007065 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007066
7067 <ul class="entry_type_enum">
7068 <li>
7069 <span class="entry_type_enum_name">OFF</span>
7070 </li>
7071 <li>
7072 <span class="entry_type_enum_name">ON</span>
7073 <span class="entry_type_enum_optional">optional</span>
7074 </li>
7075 </ul>
7076
7077 </td> <!-- entry_type -->
7078
7079 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007080 <p>Whether optical image stabilization is
7081enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007082 </td>
7083
7084 <td class="entry_units">
7085 </td>
7086
7087 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007088 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007089 </td>
7090
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007091 <td class="entry_tags">
7092 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007093 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007094 </ul>
7095 </td>
7096
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007097 </tr>
7098 <tr class="entries_header">
7099 <th class="th_details" colspan="5">Details</th>
7100 </tr>
7101 <tr class="entry_cont">
7102 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007103 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007104 </td>
7105 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007106
7107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007108 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7109 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007110
7111
7112
7113 <!-- end of kind -->
7114 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007115 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007116
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007117 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007118 <tr>
7119 <th class="th_name">Property Name</th>
7120 <th class="th_type">Type</th>
7121 <th class="th_description">Description</th>
7122 <th class="th_units">Units</th>
7123 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007124 <th class="th_tags">Tags</th>
7125 </tr>
7126 </thead>
7127
7128 <tbody>
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007142 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007143 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007144 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007145 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007146 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007147 <span class="entry_type_container">x</span>
7148
7149 <span class="entry_type_array">
7150 n
7151 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007152 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153
7154
7155 </td> <!-- entry_type -->
7156
7157 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007158 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007159values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007160 </td>
7161
7162 <td class="entry_units">
7163 </td>
7164
7165 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007166 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007167 </td>
7168
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007169 <td class="entry_tags">
7170 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007171 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007172 </ul>
7173 </td>
7174
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007175 </tr>
7176 <tr class="entries_header">
7177 <th class="th_details" colspan="5">Details</th>
7178 </tr>
7179 <tr class="entry_cont">
7180 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007181 <p>If the camera device doesn't support variable apertures,<wbr/>
7182listed value will be the fixed aperture.<wbr/></p>
7183<p>If the camera device supports variable apertures,<wbr/> the aperture value
7184in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007185 </td>
7186 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007187
7188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007189 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7190 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007191
7192
7193 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007194 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007195 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007196 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007197 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007198 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007199 <span class="entry_type_container">x</span>
7200
7201 <span class="entry_type_array">
7202 n
7203 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007204 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007205
7206
7207 </td> <!-- entry_type -->
7208
7209 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007210 <p>List of supported neutral density filter values for
7211<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007212 </td>
7213
7214 <td class="entry_units">
7215 </td>
7216
7217 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007218 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007219 </td>
7220
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007221 <td class="entry_tags">
7222 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007223 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007224 </ul>
7225 </td>
7226
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007227 </tr>
7228 <tr class="entries_header">
7229 <th class="th_details" colspan="5">Details</th>
7230 </tr>
7231 <tr class="entry_cont">
7232 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007233 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7234availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7235list contains only the exact filter density values available on
7236this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007237 </td>
7238 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007239
7240
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007241 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7242 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007243
7244
7245 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007246 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007247 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007248 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007250 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007251 <span class="entry_type_container">x</span>
7252
7253 <span class="entry_type_array">
7254 n
7255 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007256 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007257 <div class="entry_type_notes">The list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007258
7259
7260 </td> <!-- entry_type -->
7261
7262 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007263 <p>The available focal lengths for this device for use with
7264<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007265 </td>
7266
7267 <td class="entry_units">
7268 </td>
7269
7270 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007271 <p>Each value in this list must be &gt; 0.<wbr/> This list must
7272contain at least one value.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007273 </td>
7274
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007275 <td class="entry_tags">
7276 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007277 <li><a href="#tag_BC">BC</a></li>
7278 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007279 </ul>
7280 </td>
7281
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007282 </tr>
7283 <tr class="entries_header">
7284 <th class="th_details" colspan="5">Details</th>
7285 </tr>
7286 <tr class="entry_cont">
7287 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007288 <p>If optical zoom is not supported,<wbr/> this will only report
7289a single value corresponding to the static focal length of the
7290device.<wbr/> Otherwise,<wbr/> this will report every focal length supported
7291by the device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007292 </td>
7293 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007294
7295
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007296 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7297 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007298
7299
7300 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007301 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007302 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007303 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007304 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007305 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007306 <span class="entry_type_container">x</span>
7307
7308 <span class="entry_type_array">
7309 n
7310 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007311 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007312 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007313
7314
7315 </td> <!-- entry_type -->
7316
7317 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007318 <p>List of supported optical image
7319stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007320 </td>
7321
7322 <td class="entry_units">
7323 </td>
7324
7325 <td class="entry_range">
7326 </td>
7327
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007328 <td class="entry_tags">
7329 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007330 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007331 </ul>
7332 </td>
7333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007334 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007335
7336
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007337 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7338 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007339
7340
7341 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007342 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007343 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007344 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007345 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007346 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007347 <span class="entry_type_container">x</span>
7348
7349 <span class="entry_type_array">
7350 2 x 3 x n x m
7351 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007352 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007353 <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 -08007354
7355
7356 </td> <!-- entry_type -->
7357
7358 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007359 <p>A low-resolution map for correction of
7360geometric distortions and chromatic aberrations,<wbr/> per
7361color channel</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>N,<wbr/> M &gt;= 2</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_DNG">DNG</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>[DNG wants a function instead].<wbr/> What's easiest
7384for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7385j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7386j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7387entry 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 -08007388 </td>
7389 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007390
7391
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007392 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7393 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007394
7395
7396 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
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/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
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">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007402 <span class="entry_type_container">x</span>
7403
7404 <span class="entry_type_array">
7405 2
7406 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007407 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007408 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007409
7410
7411 </td> <!-- entry_type -->
7412
7413 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007414 <p>Dimensions of geometric correction
7415map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007416 </td>
7417
7418 <td class="entry_units">
7419 </td>
7420
7421 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007422 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007423 </td>
7424
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007425 <td class="entry_tags">
7426 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007427 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007428 </ul>
7429 </td>
7430
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007431 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007432
7433
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007434 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7435 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007436
7437
7438 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007439 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007440 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007441 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007442 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007443 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007444
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007445 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007446
7447
7448 </td> <!-- entry_type -->
7449
7450 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007451 <p>Hyperfocal distance for this lens; set to
74520 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007453 </td>
7454
7455 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007456 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457 </td>
7458
7459 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007460 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007461 </td>
7462
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007463 <td class="entry_tags">
7464 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007465 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007466 </ul>
7467 </td>
7468
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007469 </tr>
7470 <tr class="entries_header">
7471 <th class="th_details" colspan="5">Details</th>
7472 </tr>
7473 <tr class="entry_cont">
7474 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007475 <p>The hyperfocal distance is used for the old
7476API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007477 </td>
7478 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007479
7480
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007481 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7482 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007483
7484
7485 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007486 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007487 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007488 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007489 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007490 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007491
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007492 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007493
7494
7495 </td> <!-- entry_type -->
7496
7497 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007498 <p>Shortest distance from frontmost surface
7499of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007500 </td>
7501
7502 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007503 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007504 </td>
7505
7506 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007507 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508 </td>
7509
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007510 <td class="entry_tags">
7511 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007512 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007513 </ul>
7514 </td>
7515
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007516 </tr>
7517 <tr class="entries_header">
7518 <th class="th_details" colspan="5">Details</th>
7519 </tr>
7520 <tr class="entry_cont">
7521 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007522 <p>If the lens is fixed-focus,<wbr/> this should be
75230</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007524 </td>
7525 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007526
7527
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007528 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7529 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007530
7531
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007532 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007533 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007534 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007535 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007536 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007537 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007538 <span class="entry_type_container">x</span>
7539
7540 <span class="entry_type_array">
7541 2
7542 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007543 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007544 <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 -08007545
7546
7547 </td> <!-- entry_type -->
7548
7549 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007550 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007551 </td>
7552
7553 <td class="entry_units">
7554 </td>
7555
7556 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007557 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007558 </td>
7559
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007560 <td class="entry_tags">
7561 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007562 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007563 </ul>
7564 </td>
7565
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007566 </tr>
7567 <tr class="entries_header">
7568 <th class="th_details" colspan="5">Details</th>
7569 </tr>
7570 <tr class="entry_cont">
7571 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007572 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7573must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007574 </td>
7575 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007576
7577
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007578 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7579 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007580
7581
7582
7583
7584
7585 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007586 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007587 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007588 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007589 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007590 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007591
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007592 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007593
7594 <ul class="entry_type_enum">
7595 <li>
7596 <span class="entry_type_enum_name">FRONT</span>
7597 </li>
7598 <li>
7599 <span class="entry_type_enum_name">BACK</span>
7600 </li>
7601 </ul>
7602
7603 </td> <!-- entry_type -->
7604
7605 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007606 <p>Direction the camera faces relative to
7607device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007608 </td>
7609
7610 <td class="entry_units">
7611 </td>
7612
7613 <td class="entry_range">
7614 </td>
7615
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007616 <td class="entry_tags">
7617 </td>
7618
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007619 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007620
7621
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007622 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7623 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007624
7625
7626 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007627 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007628 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007629 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007631 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007632 <span class="entry_type_container">x</span>
7633
7634 <span class="entry_type_array">
7635 2
7636 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007637 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007638 <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 -08007639
7640
7641 </td> <!-- entry_type -->
7642
7643 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007644 <p>Relative angle of camera optical axis to the
7645perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007646 </td>
7647
7648 <td class="entry_units">
7649 </td>
7650
7651 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007652 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007653 </td>
7654
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007655 <td class="entry_tags">
7656 <ul class="entry_tags">
7657 <li><a href="#tag_ADV">ADV</a></li>
7658 </ul>
7659 </td>
7660
7661 </tr>
7662 <tr class="entries_header">
7663 <th class="th_details" colspan="5">Details</th>
7664 </tr>
7665 <tr class="entry_cont">
7666 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007667 <p>Examples:</p>
7668<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007669is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007670<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007671device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007672<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7673the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007674<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007675direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007676 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007677 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007678
7679
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007680 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7681 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007682
7683
7684 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007685 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007686 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007687 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007688 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007689 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007690 <span class="entry_type_container">x</span>
7691
7692 <span class="entry_type_array">
7693 3, location in mm, in the sensor coordinate
7694 system
7695 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007696 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007697
7698
7699 </td> <!-- entry_type -->
7700
7701 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007702 <p>Coordinates of camera optical axis on
7703device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007704 </td>
7705
7706 <td class="entry_units">
7707 </td>
7708
7709 <td class="entry_range">
7710 </td>
7711
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007712 <td class="entry_tags">
7713 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007714 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007715 </ul>
7716 </td>
7717
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007718 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007719
7720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7722 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007723
7724
7725
7726 <!-- end of kind -->
7727 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007728 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007729
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007730 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007731 <tr>
7732 <th class="th_name">Property Name</th>
7733 <th class="th_type">Type</th>
7734 <th class="th_description">Description</th>
7735 <th class="th_units">Units</th>
7736 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007737 <th class="th_tags">Tags</th>
7738 </tr>
7739 </thead>
7740
7741 <tbody>
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007753 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007754 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007755 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007757 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007758
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007759 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007760
7761
7762 </td> <!-- entry_type -->
7763
7764 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007765 <p>The ratio of lens focal length to the effective
7766aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007767 </td>
7768
7769 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007770 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007771 </td>
7772
7773 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007774 <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 -08007775 </td>
7776
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007777 <td class="entry_tags">
7778 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007779 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007780 </ul>
7781 </td>
7782
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007783 </tr>
7784 <tr class="entries_header">
7785 <th class="th_details" colspan="5">Details</th>
7786 </tr>
7787 <tr class="entry_cont">
7788 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007789 <p>This will only be supported on the camera devices that
7790have variable aperture lens.<wbr/> The aperture value can only be
7791one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7792<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7793this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7794<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7795to achieve manual exposure control.<wbr/></p>
7796<p>The requested aperture value may take several frames to reach the
7797requested value; the camera device will report the current (intermediate)
7798aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7799<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7800the ON modes,<wbr/> this will be overridden by the camera device
7801auto-exposure algorithm,<wbr/> the overridden values are then provided
7802back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007803 </td>
7804 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007805
7806
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007807 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7808 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007809
7810
7811 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007812 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007813 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007814 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007815 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007816 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007817
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007818 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007819
7820
7821 </td> <!-- entry_type -->
7822
7823 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007824 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007825 </td>
7826
7827 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007828 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007829 </td>
7830
7831 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007832 <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 -08007833 </td>
7834
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007835 <td class="entry_tags">
7836 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007837 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007838 </ul>
7839 </td>
7840
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007841 </tr>
7842 <tr class="entries_header">
7843 <th class="th_details" colspan="5">Details</th>
7844 </tr>
7845 <tr class="entry_cont">
7846 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007847 <p>This will not be supported on most camera devices.<wbr/> On devices
7848where this is supported,<wbr/> this may only be set to one of the
7849values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7850<p>Lens filters are typically used to lower the amount of light the
7851sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7852step is the standard logarithmic representation,<wbr/> which are
7853non-negative,<wbr/> and inversely proportional to the amount of light
7854hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7855in no reduction of the incoming light,<wbr/> and setting this to 2 would
7856mean that the filter is set to reduce incoming light by two stops
7857(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007858 </td>
7859 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007860
7861
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007862 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7863 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007864
7865
7866 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007867 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007868 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007869 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007870 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007871 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007872
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007873 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007874
7875
7876 </td> <!-- entry_type -->
7877
7878 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007879 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007880 </td>
7881
7882 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007883 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007884 </td>
7885
7886 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007887 <p><a href="#static_android.lens.info.availableFocalLengths">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007888 </td>
7889
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007890 <td class="entry_tags">
7891 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007892 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007893 </ul>
7894 </td>
7895
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007896 </tr>
7897 <tr class="entries_header">
7898 <th class="th_details" colspan="5">Details</th>
7899 </tr>
7900 <tr class="entry_cont">
7901 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007902 <p>This setting controls the physical focal length of the camera
7903device's lens.<wbr/> Changing the focal length changes the field of
7904view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
7905<p>Like <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>,<wbr/> this
7906setting won't be applied instantaneously,<wbr/> and it may take several
7907frames before the lens can move to the requested focal length.<wbr/>
7908While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7909be set to MOVING.<wbr/></p>
7910<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007911 </td>
7912 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007913
7914
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007915 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7916 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007917
7918
7919 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007920 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007921 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007922 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007923 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007924 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007925
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007926 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007927
7928
7929 </td> <!-- entry_type -->
7930
7931 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007932 <p>Distance to plane of sharpest focus,<wbr/>
7933measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007934 </td>
7935
7936 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007937 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007938 </td>
7939
7940 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007941 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007942 </td>
7943
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007944 <td class="entry_tags">
7945 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007946 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007947 </ul>
7948 </td>
7949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007950 </tr>
7951 <tr class="entries_header">
7952 <th class="th_details" colspan="5">Details</th>
7953 </tr>
7954 <tr class="entry_cont">
7955 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007956 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007957 </td>
7958 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007959
7960
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007961 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7962 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007963
7964
7965 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007966 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007967 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007968 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007969 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007970 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007971 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007972
Zhijun He50451ad2013-09-26 10:27:47 -07007973 <span class="entry_type_array">
7974 2
7975 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007976 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007977 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007978
7979
7980 </td> <!-- entry_type -->
7981
7982 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007983 <p>The range of scene distances that are in
7984sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007985 </td>
7986
7987 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007988 pair of focus distances in diopters: (near,<wbr/>
7989 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007990 </td>
7991
7992 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007993 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007994 </td>
7995
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007996 <td class="entry_tags">
7997 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007998 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007999 </ul>
8000 </td>
8001
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008002 </tr>
8003 <tr class="entries_header">
8004 <th class="th_details" colspan="5">Details</th>
8005 </tr>
8006 <tr class="entry_cont">
8007 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008008 <p>If variable focus not supported,<wbr/> can still report
8009fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008010 </td>
8011 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008012
8013
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008014 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8015 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008016
8017
8018 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008019 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008020 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008021 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008022 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008023 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008024
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008025 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008026
8027 <ul class="entry_type_enum">
8028 <li>
8029 <span class="entry_type_enum_name">OFF</span>
8030 </li>
8031 <li>
8032 <span class="entry_type_enum_name">ON</span>
8033 <span class="entry_type_enum_optional">optional</span>
8034 </li>
8035 </ul>
8036
8037 </td> <!-- entry_type -->
8038
8039 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008040 <p>Whether optical image stabilization is
8041enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008042 </td>
8043
8044 <td class="entry_units">
8045 </td>
8046
8047 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008048 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008049 </td>
8050
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008051 <td class="entry_tags">
8052 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008053 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008054 </ul>
8055 </td>
8056
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008057 </tr>
8058 <tr class="entries_header">
8059 <th class="th_details" colspan="5">Details</th>
8060 </tr>
8061 <tr class="entry_cont">
8062 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008063 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008064 </td>
8065 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008066
8067
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008068 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8069 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008070
8071
8072 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008073 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008074 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008075 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008076 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008077 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008079 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008080
8081 <ul class="entry_type_enum">
8082 <li>
8083 <span class="entry_type_enum_name">STATIONARY</span>
8084 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07008085 <li>
8086 <span class="entry_type_enum_name">MOVING</span>
8087 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008088 </ul>
8089
8090 </td> <!-- entry_type -->
8091
8092 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008093 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008094 </td>
8095
8096 <td class="entry_units">
8097 </td>
8098
8099 <td class="entry_range">
8100 </td>
8101
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102 <td class="entry_tags">
8103 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008104 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008105 </ul>
8106 </td>
8107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008108 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008109
8110
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008111 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8112 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008113
8114
8115
8116 <!-- end of kind -->
8117 </tbody>
8118
8119 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008120 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008121
8122
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008123 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008124
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008125 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008126 <tr>
8127 <th class="th_name">Property Name</th>
8128 <th class="th_type">Type</th>
8129 <th class="th_description">Description</th>
8130 <th class="th_units">Units</th>
8131 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008132 <th class="th_tags">Tags</th>
8133 </tr>
8134 </thead>
8135
8136 <tbody>
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008148 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008149 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008150 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008151 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008152 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008154 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008155
8156 <ul class="entry_type_enum">
8157 <li>
8158 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008159 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008160 </li>
8161 <li>
8162 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008163 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8164output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008165 </li>
8166 <li>
8167 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008168 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8169quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008170 </li>
8171 </ul>
8172
8173 </td> <!-- entry_type -->
8174
8175 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008176 <p>Mode of operation for the noise reduction
8177algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008178 </td>
8179
8180 <td class="entry_units">
8181 </td>
8182
8183 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008184 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008185 </td>
8186
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008187 <td class="entry_tags">
8188 <ul class="entry_tags">
8189 <li><a href="#tag_V1">V1</a></li>
8190 </ul>
8191 </td>
8192
8193 </tr>
8194 <tr class="entries_header">
8195 <th class="th_details" colspan="5">Details</th>
8196 </tr>
8197 <tr class="entry_cont">
8198 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008199 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8200will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008201<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8202will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8203will use the highest-quality noise filtering algorithms,<wbr/>
8204even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008205slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008206 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008207 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008208
8209
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008210 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8211 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008212
8213
8214 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008215 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008216 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008217 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008218 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008219 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008220
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008221 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008222
8223
8224 </td> <!-- entry_type -->
8225
8226 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008227 <p>Control the amount of noise reduction
8228applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008229 </td>
8230
8231 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008232 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008233 </td>
8234
8235 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008236 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008237 </td>
8238
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008239 <td class="entry_tags">
8240 </td>
8241
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008242 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008243
8244
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008245 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8246 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008247
8248
8249
8250 <!-- end of kind -->
8251 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008252 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008253
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008254 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008255 <tr>
8256 <th class="th_name">Property Name</th>
8257 <th class="th_type">Type</th>
8258 <th class="th_description">Description</th>
8259 <th class="th_units">Units</th>
8260 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008261 <th class="th_tags">Tags</th>
8262 </tr>
8263 </thead>
8264
8265 <tbody>
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008277 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008278 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008279 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008280 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008281 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008282
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008283 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008284
8285 <ul class="entry_type_enum">
8286 <li>
8287 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008288 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008289 </li>
8290 <li>
8291 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008292 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8293output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008294 </li>
8295 <li>
8296 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008297 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8298quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008299 </li>
8300 </ul>
8301
8302 </td> <!-- entry_type -->
8303
8304 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008305 <p>Mode of operation for the noise reduction
8306algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008307 </td>
8308
8309 <td class="entry_units">
8310 </td>
8311
8312 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008313 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008314 </td>
8315
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008316 <td class="entry_tags">
8317 <ul class="entry_tags">
8318 <li><a href="#tag_V1">V1</a></li>
8319 </ul>
8320 </td>
8321
8322 </tr>
8323 <tr class="entries_header">
8324 <th class="th_details" colspan="5">Details</th>
8325 </tr>
8326 <tr class="entry_cont">
8327 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008328 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8329will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008330<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8331will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8332will use the highest-quality noise filtering algorithms,<wbr/>
8333even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008334slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008335 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008336 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008337
8338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008339 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8340 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008341
8342
8343
8344 <!-- end of kind -->
8345 </tbody>
8346
8347 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008348 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008349
8350
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008351 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008352
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008353 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008354 <tr>
8355 <th class="th_name">Property Name</th>
8356 <th class="th_type">Type</th>
8357 <th class="th_description">Description</th>
8358 <th class="th_units">Units</th>
8359 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008360 <th class="th_tags">Tags</th>
8361 </tr>
8362 </thead>
8363
8364 <tbody>
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008376 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008377 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008378 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008379 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008380 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008381
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008382 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008383
8384
8385 </td> <!-- entry_type -->
8386
8387 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008388 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008389scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008390region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8391and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008392 </td>
8393
8394 <td class="entry_units">
8395 </td>
8396
8397 <td class="entry_range">
8398 </td>
8399
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008400 <td class="entry_tags">
8401 </td>
8402
8403 </tr>
8404 <tr class="entries_header">
8405 <th class="th_details" colspan="5">Details</th>
8406 </tr>
8407 <tr class="entry_cont">
8408 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008409 <p>Normalized coordinates refer to those in the
8410(-1000,<wbr/>1000) range mentioned in the
8411android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008412<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008413sensor array-relative coordinates for all region data.<wbr/> Does
8414not need to be listed in static metadata.<wbr/> Support will be
8415removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008416 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008417 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008418
8419
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008420 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8421 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008422
8423
8424 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008425 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008426 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008427 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008429 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008430
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008431 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008432
8433
8434 </td> <!-- entry_type -->
8435
8436 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008437 <p>If set to 1,<wbr/> then the camera service always
8438switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8439trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008440 </td>
8441
8442 <td class="entry_units">
8443 </td>
8444
8445 <td class="entry_range">
8446 </td>
8447
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008448 <td class="entry_tags">
8449 </td>
8450
8451 </tr>
8452 <tr class="entries_header">
8453 <th class="th_details" colspan="5">Details</th>
8454 </tr>
8455 <tr class="entry_cont">
8456 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008457 <p>HAL implementations should implement AF trigger
8458modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8459CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8460not need to be listed in static metadata.<wbr/> Support will be
8461removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008462 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008463 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008464
8465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008466 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8467 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008468
8469
8470 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008471 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008472 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008473 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008474 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008475 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008476
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008477 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008478
8479
8480 </td> <!-- entry_type -->
8481
8482 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008483 <p>If set to 1,<wbr/> the camera service uses
8484CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8485HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8486shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008487 </td>
8488
8489 <td class="entry_units">
8490 </td>
8491
8492 <td class="entry_range">
8493 </td>
8494
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008495 <td class="entry_tags">
8496 </td>
8497
8498 </tr>
8499 <tr class="entries_header">
8500 <th class="th_details" colspan="5">Details</th>
8501 </tr>
8502 <tr class="entry_cont">
8503 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008504 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008505to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008506zero-shutter-lag,<wbr/> instead of relying on an explicit
8507format setting.<wbr/> Does not need to be listed in static
8508metadata.<wbr/> Support will be removed in future versions of
8509camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008510 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008511 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008512
8513
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008514 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8515 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008516
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008517
8518 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008519 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008520 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008521 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008522 <td class="entry_type">
8523 <span class="entry_type_name">byte</span>
8524
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008525 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008526
8527
8528 </td> <!-- entry_type -->
8529
8530 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008531 <p>If set to 1,<wbr/> the HAL will always split result
8532metadata for a single capture into multiple buffers,<wbr/>
8533returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008534 </td>
8535
8536 <td class="entry_units">
8537 </td>
8538
8539 <td class="entry_range">
8540 </td>
8541
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008542 <td class="entry_tags">
8543 </td>
8544
8545 </tr>
8546 <tr class="entries_header">
8547 <th class="th_details" colspan="5">Details</th>
8548 </tr>
8549 <tr class="entry_cont">
8550 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008551 <p>Does not need to be listed in static
8552metadata.<wbr/> Support for partial results will be reworked in
8553future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008554working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008555consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008556 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008557 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008558
8559
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008560 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8561 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008562
8563
8564
8565 <!-- end of kind -->
8566 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008567 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008568
8569 <thead class="entries_header">
8570 <tr>
8571 <th class="th_name">Property Name</th>
8572 <th class="th_type">Type</th>
8573 <th class="th_description">Description</th>
8574 <th class="th_units">Units</th>
8575 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008576 <th class="th_tags">Tags</th>
8577 </tr>
8578 </thead>
8579
8580 <tbody>
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008592 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008593 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008594 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008595 <td class="entry_type">
8596 <span class="entry_type_name entry_type_name_enum">byte</span>
8597
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008598 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008599
8600 <ul class="entry_type_enum">
8601 <li>
8602 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008603 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8604for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008605 </li>
8606 <li>
8607 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008608 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8609capture.<wbr/> More result buffers for this capture will be sent
8610by the HAL,<wbr/> the last of which will be marked
8611FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008612 </li>
8613 </ul>
8614
8615 </td> <!-- entry_type -->
8616
8617 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008618 <p>Whether a result given to the framework is the
8619final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008620subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008621values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008622 </td>
8623
8624 <td class="entry_units">
8625 </td>
8626
8627 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008628 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008629 </td>
8630
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008631 <td class="entry_tags">
8632 </td>
8633
8634 </tr>
8635 <tr class="entries_header">
8636 <th class="th_details" colspan="5">Details</th>
8637 </tr>
8638 <tr class="entry_cont">
8639 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008640 <p>The entries in the result metadata buffers for a
8641single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008642FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008643requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8644always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8645before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8646in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8647capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8648only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008649 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008650 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008651
8652
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008653 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8654 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008655
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008656
8657
8658 <!-- end of kind -->
8659 </tbody>
8660
8661 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008662 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008663
8664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008665 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008666
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008667 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008668 <tr>
8669 <th class="th_name">Property Name</th>
8670 <th class="th_type">Type</th>
8671 <th class="th_description">Description</th>
8672 <th class="th_units">Units</th>
8673 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008674 <th class="th_tags">Tags</th>
8675 </tr>
8676 </thead>
8677
8678 <tbody>
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008690 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008691 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008692 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008693 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008694 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008695
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008696 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008697
8698
8699 </td> <!-- entry_type -->
8700
8701 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008702 <p>A frame counter set by the framework.<wbr/> Must
8703be maintained unchanged in output frame.<wbr/> This value monotonically
8704increases with every new result (that is,<wbr/> each new result has a unique
8705frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008706 </td>
8707
8708 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008709 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008710 </td>
8711
8712 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008713 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008714 </td>
8715
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008716 <td class="entry_tags">
8717 </td>
8718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008719 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008720
8721
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008722 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8723 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008724
8725
8726 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008727 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008728 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008729 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008730 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008731 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008732
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008733 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008734
8735
8736 </td> <!-- entry_type -->
8737
8738 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008739 <p>An application-specified ID for the current
8740request.<wbr/> Must be maintained unchanged in output
8741frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008742 </td>
8743
8744 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008745 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008746 </td>
8747
8748 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008749 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008750 </td>
8751
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008752 <td class="entry_tags">
8753 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008754 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008755 </ul>
8756 </td>
8757
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008758 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008759
8760
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008761 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8762 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008763
8764
8765 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008766 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008767 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008768 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008769 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008770 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008771 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008772
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008773 <span class="entry_type_array">
8774 n
8775 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008777
8778
8779 </td> <!-- entry_type -->
8780
8781 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008782 <p>List which camera reprocess stream is used
8783for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008784 </td>
8785
8786 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008787 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008788 </td>
8789
8790 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008791 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8792reprocess stream ID.<wbr/></p>
8793<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8794reprocess streams may be included in a single request; they
8795must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008796 </td>
8797
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008798 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008799 <ul class="entry_tags">
8800 <li><a href="#tag_HAL2">HAL2</a></li>
8801 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008802 </td>
8803
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008804 </tr>
8805 <tr class="entries_header">
8806 <th class="th_details" colspan="5">Details</th>
8807 </tr>
8808 <tr class="entry_cont">
8809 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008810 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008811REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008812 </td>
8813 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008814
8815
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008816 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8817 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008818
8819
8820 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008821 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008822 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008823 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008824 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008825 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008827 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008828
8829 <ul class="entry_type_enum">
8830 <li>
8831 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008832 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8833for application-bound buffer data.<wbr/> If no
8834application-bound streams exist,<wbr/> no frame should be
8835placed in the output frame queue.<wbr/> If such streams
8836exist,<wbr/> a frame should be placed on the output queue
8837with null metadata but with the necessary output buffer
8838information.<wbr/> Timestamp information should still be
8839included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008840 </li>
8841 <li>
8842 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008843 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8844only be produced if they are separately
8845enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008846 </li>
8847 </ul>
8848
8849 </td> <!-- entry_type -->
8850
8851 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008852 <p>How much metadata to produce on
8853output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008854 </td>
8855
8856 <td class="entry_units">
8857 </td>
8858
8859 <td class="entry_range">
8860 </td>
8861
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008862 <td class="entry_tags">
8863 </td>
8864
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008865 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008866
8867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008868 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8869 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008870
8871
8872 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008874 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008875 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008876 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008877 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008878 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008879
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008880 <span class="entry_type_array">
8881 n
8882 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008883 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008884
8885
8886 </td> <!-- entry_type -->
8887
8888 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008889 <p>Lists which camera output streams image data
8890from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008891 </td>
8892
8893 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008894 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008895 </td>
8896
8897 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008898 <p>List must only include streams that have been
8899created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008900 </td>
8901
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008902 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008903 <ul class="entry_tags">
8904 <li><a href="#tag_HAL2">HAL2</a></li>
8905 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008906 </td>
8907
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008908 </tr>
8909 <tr class="entries_header">
8910 <th class="th_details" colspan="5">Details</th>
8911 </tr>
8912 <tr class="entry_cont">
8913 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008914 <p>If no output streams are listed,<wbr/> then the image
8915data should simply be discarded.<wbr/> The image data must
8916still be captured for metadata and statistics production,<wbr/>
8917and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008918 </td>
8919 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008920
8921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008922 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8923 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008924
8925
8926 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008927 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008928 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008929 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008930 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008931 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008932
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008933 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008934
8935 <ul class="entry_type_enum">
8936 <li>
8937 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008938 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8939and process it according to the
8940settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008941 </li>
8942 <li>
8943 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008944 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8945android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8946source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8947needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008948 </li>
8949 </ul>
8950
8951 </td> <!-- entry_type -->
8952
8953 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008954 <p>The type of the request; either CAPTURE or
8955REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008956 </td>
8957
8958 <td class="entry_units">
8959 </td>
8960
8961 <td class="entry_range">
8962 </td>
8963
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008964 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008965 <ul class="entry_tags">
8966 <li><a href="#tag_HAL2">HAL2</a></li>
8967 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008968 </td>
8969
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008970 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008971
8972
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008973 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8974 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008975
8976
8977
8978 <!-- end of kind -->
8979 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008980 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008981
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008982 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008983 <tr>
8984 <th class="th_name">Property Name</th>
8985 <th class="th_type">Type</th>
8986 <th class="th_description">Description</th>
8987 <th class="th_units">Units</th>
8988 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008989 <th class="th_tags">Tags</th>
8990 </tr>
8991 </thead>
8992
8993 <tbody>
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009005 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009006 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009007 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009008 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009009 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009010 <span class="entry_type_container">x</span>
9011
9012 <span class="entry_type_array">
9013 3
9014 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009015 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009016
9017
9018 </td> <!-- entry_type -->
9019
9020 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009021 <p>How many output streams can be allocated at
9022the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009023 </td>
9024
9025 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009026 The number of raw sensor streams; the number of
9027 processed,<wbr/> uncompressed streams; and the number of
9028 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009029 </td>
9030
9031 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009032 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009033for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009034 </td>
9035
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009036 <td class="entry_tags">
9037 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009038 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009039 </ul>
9040 </td>
9041
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009042 </tr>
9043 <tr class="entries_header">
9044 <th class="th_details" colspan="5">Details</th>
9045 </tr>
9046 <tr class="entry_cont">
9047 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009048 <p>Video snapshot with preview callbacks requires 3
9049processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
9050one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009051 </td>
9052 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009053
9054
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009055 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9056 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009057
9058
9059 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009060 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009061 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009062 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009064 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009065 <span class="entry_type_container">x</span>
9066
9067 <span class="entry_type_array">
9068 1
9069 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009070 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009071
9072
9073 </td> <!-- entry_type -->
9074
9075 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009076 <p>How many reprocessing streams of any type
9077can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009078 </td>
9079
9080 <td class="entry_units">
9081 </td>
9082
9083 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009084 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009085 </td>
9086
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009087 <td class="entry_tags">
9088 </td>
9089
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009090 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009091
9092
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009093 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9094 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009095
9096
9097
9098 <!-- end of kind -->
9099 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009100 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009101
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009102 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009103 <tr>
9104 <th class="th_name">Property Name</th>
9105 <th class="th_type">Type</th>
9106 <th class="th_description">Description</th>
9107 <th class="th_units">Units</th>
9108 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009109 <th class="th_tags">Tags</th>
9110 </tr>
9111 </thead>
9112
9113 <tbody>
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009125 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009126 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009127 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009128 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009129 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009130
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009131 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009132
9133
9134 </td> <!-- entry_type -->
9135
9136 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009137 <p>A frame counter set by the framework.<wbr/> This value monotonically
9138increases with every new result (that is,<wbr/> each new result has a unique
9139frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009140 </td>
9141
9142 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009143 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009144 </td>
9145
9146 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009147 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009148 </td>
9149
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009150 <td class="entry_tags">
9151 </td>
9152
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009153 </tr>
9154 <tr class="entries_header">
9155 <th class="th_details" colspan="5">Details</th>
9156 </tr>
9157 <tr class="entry_cont">
9158 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009159 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009160 </td>
9161 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009162
9163
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009164 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9165 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009166
9167
9168 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009169 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009170 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009171 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009172 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009173 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009174
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009175 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009176
9177
9178 </td> <!-- entry_type -->
9179
9180 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009181 <p>An application-specified ID for the current
9182request.<wbr/> Must be maintained unchanged in output
9183frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009184 </td>
9185
9186 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009187 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009188 </td>
9189
9190 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009191 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009192 </td>
9193
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009194 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009195 <ul class="entry_tags">
9196 <li><a href="#tag_V1">V1</a></li>
9197 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009198 </td>
9199
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009200 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009201
9202
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009203 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9204 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009205
9206
9207 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009208 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009209 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009210 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009211 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009212 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009213
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009214 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009215
9216 <ul class="entry_type_enum">
9217 <li>
9218 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009219 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9220for application-bound buffer data.<wbr/> If no
9221application-bound streams exist,<wbr/> no frame should be
9222placed in the output frame queue.<wbr/> If such streams
9223exist,<wbr/> a frame should be placed on the output queue
9224with null metadata but with the necessary output buffer
9225information.<wbr/> Timestamp information should still be
9226included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009227 </li>
9228 <li>
9229 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009230 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9231only be produced if they are separately
9232enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009233 </li>
9234 </ul>
9235
9236 </td> <!-- entry_type -->
9237
9238 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009239 <p>How much metadata to produce on
9240output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009241 </td>
9242
9243 <td class="entry_units">
9244 </td>
9245
9246 <td class="entry_range">
9247 </td>
9248
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009249 <td class="entry_tags">
9250 </td>
9251
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009252 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009253
9254
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009255 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9256 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009257
9258
9259 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009260 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009261 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009262 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009263 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009264 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009265 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009266
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009267 <span class="entry_type_array">
9268 n
9269 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009270 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009271
9272
9273 </td> <!-- entry_type -->
9274
9275 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009276 <p>Lists which camera output streams image data
9277from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009278 </td>
9279
9280 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009281 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009282 </td>
9283
9284 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009285 <p>List must only include streams that have been
9286created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009287 </td>
9288
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009289 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009290 <ul class="entry_tags">
9291 <li><a href="#tag_HAL2">HAL2</a></li>
9292 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009293 </td>
9294
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009295 </tr>
9296 <tr class="entries_header">
9297 <th class="th_details" colspan="5">Details</th>
9298 </tr>
9299 <tr class="entry_cont">
9300 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009301 <p>If no output streams are listed,<wbr/> then the image
9302data should simply be discarded.<wbr/> The image data must
9303still be captured for metadata and statistics production,<wbr/>
9304and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009305 </td>
9306 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009307
9308
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009309 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9310 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009311
9312
9313
9314 <!-- end of kind -->
9315 </tbody>
9316
9317 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009318 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009319
9320
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009321 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009323 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009324 <tr>
9325 <th class="th_name">Property Name</th>
9326 <th class="th_type">Type</th>
9327 <th class="th_description">Description</th>
9328 <th class="th_units">Units</th>
9329 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009330 <th class="th_tags">Tags</th>
9331 </tr>
9332 </thead>
9333
9334 <tbody>
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009346 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009347 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009348 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009349 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009350 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009351 <span class="entry_type_container">x</span>
9352
9353 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009354 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009355 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009356 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009357
9358
9359 </td> <!-- entry_type -->
9360
9361 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009362 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9363<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9364(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9365output.<wbr/> Each stream must use this rectangle to produce its
9366output,<wbr/> cropping to a smaller region if necessary to
9367maintain the stream's aspect ratio.<wbr/></p>
9368<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009369 </td>
9370
9371 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009372 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9373 in pixels; (0,<wbr/>0) is top-left corner of
9374 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009375 </td>
9376
9377 <td class="entry_range">
9378 </td>
9379
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009380 <td class="entry_tags">
9381 <ul class="entry_tags">
9382 <li><a href="#tag_BC">BC</a></li>
9383 </ul>
9384 </td>
9385
9386 </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 Murashkin0b080452013-12-27 15:30:25 -08009392 <p>Any additional per-stream cropping must be done to
9393maximize the final pixel area of the stream.<wbr/></p>
9394<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9395ratio,<wbr/> then 4:3 streams should use the exact crop
9396region.<wbr/> 16:9 streams should further crop vertically
9397(letterbox).<wbr/></p>
9398<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9399outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9400streams should match exactly.<wbr/> These additional crops must
9401be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009402<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009403times,<wbr/> no matter what the relative aspect ratios of the
9404crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009405corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009406larger than active pixel array.<wbr/> Width and height may be
9407rounded to nearest larger supportable width,<wbr/> especially
9408for raw output,<wbr/> where only a few fixed scales may be
9409possible.<wbr/> The width and height of the crop region cannot
9410be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9411android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9412activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9413respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009414 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009415 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009416
9417
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009418 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9419 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009420
9421
9422
9423 <!-- end of kind -->
9424 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009425 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009426
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009427 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009428 <tr>
9429 <th class="th_name">Property Name</th>
9430 <th class="th_type">Type</th>
9431 <th class="th_description">Description</th>
9432 <th class="th_units">Units</th>
9433 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009434 <th class="th_tags">Tags</th>
9435 </tr>
9436 </thead>
9437
9438 <tbody>
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009450 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009451 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009452 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009453 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009454 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009455 <span class="entry_type_container">x</span>
9456
9457 <span class="entry_type_array">
9458 n
9459 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009460 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009461
9462 <ul class="entry_type_enum">
9463 <li>
9464 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009465 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009466 <span class="entry_type_enum_value">0x20</span>
9467 </li>
9468 <li>
9469 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009470 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009471 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009472 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009473 </li>
9474 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009475 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009476 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009477 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009478 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009479 </li>
9480 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009481 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9482 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009483 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009484 </li>
9485 <li>
9486 <span class="entry_type_enum_name">YCbCr_420_888</span>
9487 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009488 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009489 </li>
9490 <li>
9491 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009492 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009493 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009494 </li>
9495 </ul>
9496
9497 </td> <!-- entry_type -->
9498
9499 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009500 <p>The list of image formats that are supported by this
9501camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009502 </td>
9503
9504 <td class="entry_units">
9505 </td>
9506
9507 <td class="entry_range">
9508 </td>
9509
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009510 <td class="entry_tags">
9511 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009512 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009513 </ul>
9514 </td>
9515
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009516 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009517 <tr class="entries_header">
9518 <th class="th_details" colspan="5">Details</th>
9519 </tr>
9520 <tr class="entry_cont">
9521 <td class="entry_details" colspan="5">
9522 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9523<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9524 </td>
9525 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009526
Zhijun Heb8317e22014-01-16 09:47:07 -08009527 <tr class="entries_header">
9528 <th class="th_details" colspan="5">HAL Implementation Details</th>
9529 </tr>
9530 <tr class="entry_cont">
9531 <td class="entry_details" colspan="5">
9532 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9533system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9534<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9535gralloc module will select a format based on the usage flags provided
9536by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9537usually used by preview and recording streams,<wbr/> where the application doesn't
9538need access the image data.<wbr/></p>
9539<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9540needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9541<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9542 </td>
9543 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009544
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009545 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9546 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009547
9548
9549 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009550 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009551 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009552 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009553 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009554 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555 <span class="entry_type_container">x</span>
9556
9557 <span class="entry_type_array">
9558 n
9559 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009560 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009561
9562
9563 </td> <!-- entry_type -->
9564
9565 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009566 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009567for 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 -08009568 </td>
9569
9570 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009571 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009572 </td>
9573
9574 <td class="entry_range">
9575 </td>
9576
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009577 <td class="entry_tags">
9578 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009579 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009580 </ul>
9581 </td>
9582
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009583 </tr>
9584 <tr class="entries_header">
9585 <th class="th_details" colspan="5">Details</th>
9586 </tr>
9587 <tr class="entry_cont">
9588 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009589 <p>This corresponds to the minimum steady-state frame duration when only
9590that JPEG stream is active and captured in a burst,<wbr/> with all
9591processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9592<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009593frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009594durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009595 </td>
9596 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009597
9598
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009599 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9600 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009601
9602
9603 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009604 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009605 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009606 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009607 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009608 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009609 <span class="entry_type_container">x</span>
9610
9611 <span class="entry_type_array">
9612 n x 2
9613 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009614 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009615
9616
9617 </td> <!-- entry_type -->
9618
9619 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009620 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009621 </td>
9622
9623 <td class="entry_units">
9624 </td>
9625
9626 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009627 </td>
9628
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009629 <td class="entry_tags">
9630 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009631 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009632 </ul>
9633 </td>
9634
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009635 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009636 <tr class="entries_header">
9637 <th class="th_details" colspan="5">Details</th>
9638 </tr>
9639 <tr class="entry_cont">
9640 <td class="entry_details" colspan="5">
9641 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9642sensor 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>
9643 </td>
9644 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009645
Zhijun Heb8317e22014-01-16 09:47:07 -08009646 <tr class="entries_header">
9647 <th class="th_details" colspan="5">HAL Implementation Details</th>
9648 </tr>
9649 <tr class="entry_cont">
9650 <td class="entry_details" colspan="5">
9651 <p>The HAL must include sensor maximum resolution
9652(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9653and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9654 </td>
9655 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009656
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009657 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9658 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009659
9660
9661 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009662 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009663 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009664 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009665 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009666 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009667
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009668 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009669
9670
9671 </td> <!-- entry_type -->
9672
9673 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009674 <p>The maximum ratio between active area width
9675and crop region width,<wbr/> or between active area height and
9676crop region height,<wbr/> if the crop region height is larger
9677than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009678 </td>
9679
9680 <td class="entry_units">
9681 </td>
9682
9683 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009684 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009685 </td>
9686
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009687 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009688 <ul class="entry_tags">
9689 <li><a href="#tag_BC">BC</a></li>
9690 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009691 </td>
9692
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009693 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009694
9695
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009696 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9697 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009698
9699
9700 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009701 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009702 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009703 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009704 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009705 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009706 <span class="entry_type_container">x</span>
9707
9708 <span class="entry_type_array">
9709 n
9710 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009711 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009712
9713
9714 </td> <!-- entry_type -->
9715
9716 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009717 <p>For each available processed output size (defined in
9718<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9719minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009720 </td>
9721
9722 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009723 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009724 </td>
9725
9726 <td class="entry_range">
9727 </td>
9728
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009729 <td class="entry_tags">
9730 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009731 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009732 </ul>
9733 </td>
9734
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009735 </tr>
9736 <tr class="entries_header">
9737 <th class="th_details" colspan="5">Details</th>
9738 </tr>
9739 <tr class="entry_cont">
9740 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009741 <p>This should correspond to the frame duration when only that processed
9742stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9743set to FAST.<wbr/></p>
9744<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9745be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009746 </td>
9747 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009748
9749
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009750 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9751 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009752
9753
9754 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009755 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009756 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
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">
9763 n x 2
9764 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009765 <span class="entry_type_visibility"> [public as size]</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>The resolutions available for use with
9772processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9773platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009774encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009775 </td>
9776
9777 <td class="entry_units">
9778 </td>
9779
9780 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009781 </td>
9782
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009783 <td class="entry_tags">
9784 <ul class="entry_tags">
9785 <li><a href="#tag_BC">BC</a></li>
9786 </ul>
9787 </td>
9788
9789 </tr>
9790 <tr class="entries_header">
9791 <th class="th_details" colspan="5">Details</th>
9792 </tr>
9793 <tr class="entry_cont">
9794 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009795 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9796<p>For a given use case,<wbr/> the actual maximum supported resolution
9797may be lower than what is listed here,<wbr/> depending on the destination
9798Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9799the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9800smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9801can provide.<wbr/></p>
9802<p>Please reference the documentation for the image data destination to
9803check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009804 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009805 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009806
Zhijun Heb8317e22014-01-16 09:47:07 -08009807 <tr class="entries_header">
9808 <th class="th_details" colspan="5">HAL Implementation Details</th>
9809 </tr>
9810 <tr class="entry_cont">
9811 <td class="entry_details" colspan="5">
9812 <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/>
9813the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9814and each below resolution if it is smaller than or equal to the sensor
9815maximum resolution (if they are not listed in JPEG sizes already):</p>
9816<ul>
9817<li>240p (320 x 240)</li>
9818<li>480p (640 x 480)</li>
9819<li>720p (1280 x 720)</li>
9820<li>1080p (1920 x 1080)</li>
9821</ul>
9822<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/>
9823the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9824 </td>
9825 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009826
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 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009832 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009833 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009834 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009836 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009837 <span class="entry_type_container">x</span>
9838
9839 <span class="entry_type_array">
9840 n
9841 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009842 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009843
9844
9845 </td> <!-- entry_type -->
9846
9847 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009848 <p>For each available processed output size (defined in
9849<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9850supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009851 </td>
9852
9853 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009854 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009855 </td>
9856
9857 <td class="entry_range">
9858 </td>
9859
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860 <td class="entry_tags">
9861 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009862 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009863 </ul>
9864 </td>
9865
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009866 </tr>
9867 <tr class="entries_header">
9868 <th class="th_details" colspan="5">Details</th>
9869 </tr>
9870 <tr class="entry_cont">
9871 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009872 <p>Should correspond to the frame duration when only the raw stream is
9873active.<wbr/></p>
9874<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009875frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009876durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009877 </td>
9878 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009879
9880
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009881 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9882 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009883
9884
9885 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009886 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009887 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009888 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009889 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009890 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009891 <span class="entry_type_container">x</span>
9892
9893 <span class="entry_type_array">
9894 n x 2
9895 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009896 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009897
9898
9899 </td> <!-- entry_type -->
9900
9901 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009902 <p>The resolutions available for use with raw
9903sensor output streams,<wbr/> listed as width,<wbr/>
9904height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009905 </td>
9906
9907 <td class="entry_units">
9908 </td>
9909
9910 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009911 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009912 </td>
9913
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009914 <td class="entry_tags">
9915 </td>
9916
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009917 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009918
9919
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009920 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9921 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009922
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009923
9924
9925 <!-- end of kind -->
9926 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009927 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009928
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009929 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009930 <tr>
9931 <th class="th_name">Property Name</th>
9932 <th class="th_type">Type</th>
9933 <th class="th_description">Description</th>
9934 <th class="th_units">Units</th>
9935 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009936 <th class="th_tags">Tags</th>
9937 </tr>
9938 </thead>
9939
9940 <tbody>
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009952 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009953 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009954 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009955 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009956 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009957 <span class="entry_type_container">x</span>
9958
9959 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009960 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009961 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009962 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009963
9964
9965 </td> <!-- entry_type -->
9966
9967 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009968 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9969<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9970(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9971output.<wbr/> Each stream must use this rectangle to produce its
9972output,<wbr/> cropping to a smaller region if necessary to
9973maintain the stream's aspect ratio.<wbr/></p>
9974<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009975 </td>
9976
9977 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009978 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9979 in pixels; (0,<wbr/>0) is top-left corner of
9980 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009981 </td>
9982
9983 <td class="entry_range">
9984 </td>
9985
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009986 <td class="entry_tags">
9987 <ul class="entry_tags">
9988 <li><a href="#tag_BC">BC</a></li>
9989 </ul>
9990 </td>
9991
9992 </tr>
9993 <tr class="entries_header">
9994 <th class="th_details" colspan="5">Details</th>
9995 </tr>
9996 <tr class="entry_cont">
9997 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009998 <p>Any additional per-stream cropping must be done to
9999maximize the final pixel area of the stream.<wbr/></p>
10000<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
10001ratio,<wbr/> then 4:3 streams should use the exact crop
10002region.<wbr/> 16:9 streams should further crop vertically
10003(letterbox).<wbr/></p>
10004<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
10005outputs should crop horizontally (pillarbox),<wbr/> and 16:9
10006streams should match exactly.<wbr/> These additional crops must
10007be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010008<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -080010009times,<wbr/> no matter what the relative aspect ratios of the
10010crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010011corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -080010012larger than active pixel array.<wbr/> Width and height may be
10013rounded to nearest larger supportable width,<wbr/> especially
10014for raw output,<wbr/> where only a few fixed scales may be
10015possible.<wbr/> The width and height of the crop region cannot
10016be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
10017android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
10018activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
10019respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010020 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010021 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010022
10023
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010024 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10025 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010026
10027
10028
10029 <!-- end of kind -->
10030 </tbody>
10031
10032 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010033 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010034
10035
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010036 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010037
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010038 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010039 <tr>
10040 <th class="th_name">Property Name</th>
10041 <th class="th_type">Type</th>
10042 <th class="th_description">Description</th>
10043 <th class="th_units">Units</th>
10044 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010045 <th class="th_tags">Tags</th>
10046 </tr>
10047 </thead>
10048
10049 <tbody>
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010061 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010062 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010063 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010064 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010065 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010066
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010067 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010068
10069
10070 </td> <!-- entry_type -->
10071
10072 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010073 <p>Duration each pixel is exposed to
10074light.<wbr/></p>
10075<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
10076duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010077 </td>
10078
10079 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010080 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010081 </td>
10082
10083 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010084 <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 -080010085 </td>
10086
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010087 <td class="entry_tags">
10088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010089 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010090 </ul>
10091 </td>
10092
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010093 </tr>
10094 <tr class="entries_header">
10095 <th class="th_details" colspan="5">Details</th>
10096 </tr>
10097 <tr class="entry_cont">
10098 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010099 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010100 </td>
10101 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010102
10103
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010104 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10105 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010106
10107
10108 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010109 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010110 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010111 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010112 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010113 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010114
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010115 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010116
10117
10118 </td> <!-- entry_type -->
10119
10120 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010121 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010122start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010123 </td>
10124
10125 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010126 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010127 </td>
10128
10129 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010130 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10131android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10132is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010133 </td>
10134
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010135 <td class="entry_tags">
10136 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010137 <li><a href="#tag_V1">V1</a></li>
10138 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010139 </ul>
10140 </td>
10141
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010142 </tr>
10143 <tr class="entries_header">
10144 <th class="th_details" colspan="5">Details</th>
10145 </tr>
10146 <tr class="entry_cont">
10147 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010148 <p>The maximum frame rate that can be supported by a camera subsystem is
10149a function of many factors:</p>
10150<ul>
10151<li>Requested resolutions of output image streams</li>
10152<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10153<li>The bandwidth of the imager interface</li>
10154<li>The bandwidth of the various ISP processing blocks</li>
10155</ul>
10156<p>Since these factors can vary greatly between different ISPs and
10157sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10158restrictions with as simple a model as possible.<wbr/></p>
10159<p>The model presented has the following characteristics:</p>
10160<ul>
10161<li>The image sensor is always configured to output the smallest
10162resolution possible given the application's requested output stream
10163sizes.<wbr/> The smallest resolution is defined as being at least as large
10164as the largest requested output stream size; the camera pipeline must
10165never digitally upsample sensor data when the crop region covers the
10166whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10167resolutions are configured,<wbr/> the sensor can provide a higher frame
10168rate.<wbr/></li>
10169<li>Since any request may use any or all the currently configured
10170output streams,<wbr/> the sensor and ISP must be configured to support
10171scaling a single capture to all the streams at the same time.<wbr/> This
10172means the camera pipeline must be ready to produce the largest
10173requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10174frame rate of a given configured stream set is governed only by the
10175largest requested stream resolution.<wbr/></li>
10176<li>Using more than one output stream in a request does not affect the
10177frame duration.<wbr/></li>
10178<li>JPEG streams act like processed YUV streams in requests for which
10179they are not included; in requests in which they are directly
10180referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10181JPEG stream requires the underlying YUV data to always be ready for
10182use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10183frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10184<li>The JPEG processor can run concurrently to the rest of the camera
10185pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10186</ul>
10187<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10188is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10189These are used to determine the maximum frame rate /<wbr/> minimum frame
10190duration that is possible for a given stream configuration.<wbr/></p>
10191<p>Specifically,<wbr/> the application can use the following rules to
10192determine the minimum frame duration it can request from the HAL
10193device:</p>
10194<ol>
10195<li>Given the application's currently configured set of output
10196streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10197<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10198<code>SP</code>.<wbr/></li>
10199<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10200count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10201<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10202<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
10203no exact match for <code>RP == RJ</code> (in particular there isn't an available
10204processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10205to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10206there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10207the processed resolution closest to <code>RJ</code>.<wbr/></li>
10208<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
10209no exact match for <code>RR == RP</code> (in particular there isn't an available
10210raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10211or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10212there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10213the raw resolution closest to <code>RP</code>.<wbr/></li>
10214<li>Look up the matching minimum frame durations in the property lists
10215<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10216<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10217<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10218minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10219<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10220supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10221<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10222supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10223<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10224the application,<wbr/> then the HAL will have to delay JPEG-using requests
10225whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10226This will happen whenever a JPEG-using request starts capture less
10227than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10228supported frame duration will vary between the values calculated in
10229#6 and #7.<wbr/></li>
10230</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010231 </td>
10232 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010233
10234
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010235 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10236 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010237
10238
10239 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010240 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010241 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010242 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010243 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010244 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010245
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010246 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010247
10248
10249 </td> <!-- entry_type -->
10250
10251 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010252 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010253implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010254below 'maximum analog sensitivity'.<wbr/></p>
10255<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10256gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010257 </td>
10258
10259 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010260 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010261 </td>
10262
10263 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010264 <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 -080010265 </td>
10266
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010267 <td class="entry_tags">
10268 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010269 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010270 </ul>
10271 </td>
10272
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010273 </tr>
10274 <tr class="entries_header">
10275 <th class="th_details" colspan="5">Details</th>
10276 </tr>
10277 <tr class="entry_cont">
10278 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010279 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010280 </td>
10281 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010282
10283
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010284 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10285 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010286
10287
10288
10289 <!-- end of kind -->
10290 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010291 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010292
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010293 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010294 <tr>
10295 <th class="th_name">Property Name</th>
10296 <th class="th_type">Type</th>
10297 <th class="th_description">Description</th>
10298 <th class="th_units">Units</th>
10299 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010300 <th class="th_tags">Tags</th>
10301 </tr>
10302 </thead>
10303
10304 <tbody>
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010318 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010319 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010320 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010321 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010322 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010323 <span class="entry_type_container">x</span>
10324
10325 <span class="entry_type_array">
10326 4
10327 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010328 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010329 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010330
10331
10332 </td> <!-- entry_type -->
10333
10334 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010335 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010336active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010337pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010338 </td>
10339
10340 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010341 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10342 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010343 </td>
10344
10345 <td class="entry_range">
10346 </td>
10347
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010348 <td class="entry_tags">
10349 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010350 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010351 </ul>
10352 </td>
10353
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010354 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010355
10356
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010357 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10358 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010359
10360
Zhijun He69fc0ea2013-07-17 09:42:58 -070010361 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010362 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010363 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010364 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010365 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010366 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010367 <span class="entry_type_container">x</span>
10368
10369 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010370 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010371 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010372 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010373 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010374
10375
10376 </td> <!-- entry_type -->
10377
10378 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010379 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010380 </td>
10381
10382 <td class="entry_units">
10383 </td>
10384
10385 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010386 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010387 </td>
10388
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010389 <td class="entry_tags">
10390 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010391 <li><a href="#tag_BC">BC</a></li>
10392 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010393 </ul>
10394 </td>
10395
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010396 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010397
10398
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010399 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10400 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010401
10402
10403 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010404 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010405 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010406 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010407 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010408 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010409
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010410 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010411
10412 <ul class="entry_type_enum">
10413 <li>
10414 <span class="entry_type_enum_name">RGGB</span>
10415 </li>
10416 <li>
10417 <span class="entry_type_enum_name">GRBG</span>
10418 </li>
10419 <li>
10420 <span class="entry_type_enum_name">GBRG</span>
10421 </li>
10422 <li>
10423 <span class="entry_type_enum_name">BGGR</span>
10424 </li>
10425 <li>
10426 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010427 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10428values for each pixel,<wbr/> instead of just 1 16-bit value
10429per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010430 </li>
10431 </ul>
10432
10433 </td> <!-- entry_type -->
10434
10435 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010436 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010437represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010438the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010439 </td>
10440
10441 <td class="entry_units">
10442 </td>
10443
10444 <td class="entry_range">
10445 </td>
10446
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010447 <td class="entry_tags">
10448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010449 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010450 </ul>
10451 </td>
10452
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010453 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010454
10455
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010456 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10457 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010458
10459
10460 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010461 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010462 android.<wbr/>sensor.<wbr/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010463 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010464 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010465 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010466 <span class="entry_type_container">x</span>
10467
10468 <span class="entry_type_array">
10469 2
10470 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010471 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010472 <div class="entry_type_notes">nanoseconds</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010473
10474
10475 </td> <!-- entry_type -->
10476
10477 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010478 <p>Range of valid exposure
10479times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010480 </td>
10481
10482 <td class="entry_units">
10483 </td>
10484
10485 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010486 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10487sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010488 </td>
10489
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010490 <td class="entry_tags">
10491 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010492 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010493 </ul>
10494 </td>
10495
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010496 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010497
10498
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010499 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10500 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010501
10502
10503 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010504 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010505 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010506 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010508 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010509
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010510 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010511
10512
10513 </td> <!-- entry_type -->
10514
10515 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010516 <p>Maximum possible frame duration (minimum frame
10517rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010518 </td>
10519
10520 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010521 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010522 </td>
10523
10524 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010525 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010526 </td>
10527
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010528 <td class="entry_tags">
10529 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010530 <li><a href="#tag_BC">BC</a></li>
10531 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010532 </ul>
10533 </td>
10534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010535 </tr>
10536 <tr class="entries_header">
10537 <th class="th_details" colspan="5">Details</th>
10538 </tr>
10539 <tr class="entry_cont">
10540 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010541 <p>Minimum duration is a function of resolution,<wbr/>
10542processing settings.<wbr/> See
10543android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10544android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010545<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 -080010546 </td>
10547 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010548
10549
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010550 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10551 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010552
10553
10554 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010555 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010556 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010557 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010558 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010559 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010560 <span class="entry_type_container">x</span>
10561
10562 <span class="entry_type_array">
10563 2
10564 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010565 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010566 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010567
10568
10569 </td> <!-- entry_type -->
10570
10571 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010572 <p>The physical dimensions of the full pixel
10573array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010574 </td>
10575
10576 <td class="entry_units">
10577 </td>
10578
10579 <td class="entry_range">
10580 </td>
10581
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010582 <td class="entry_tags">
10583 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010584 <li><a href="#tag_V1">V1</a></li>
10585 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010586 </ul>
10587 </td>
10588
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010589 </tr>
10590 <tr class="entries_header">
10591 <th class="th_details" colspan="5">Details</th>
10592 </tr>
10593 <tr class="entry_cont">
10594 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010595 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010596 </td>
10597 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010598
10599
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010600 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10601 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010602
10603
10604 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010605 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010606 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010607 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010608 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010609 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010610 <span class="entry_type_container">x</span>
10611
10612 <span class="entry_type_array">
10613 2
10614 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010615 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010616
10617
10618 </td> <!-- entry_type -->
10619
10620 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010621 <p>Dimensions of full pixel array,<wbr/> possibly
10622including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010623 </td>
10624
10625 <td class="entry_units">
10626 </td>
10627
10628 <td class="entry_range">
10629 </td>
10630
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010631 <td class="entry_tags">
10632 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010633 <li><a href="#tag_DNG">DNG</a></li>
10634 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010635 </ul>
10636 </td>
10637
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010638 </tr>
10639 <tr class="entries_header">
10640 <th class="th_details" colspan="5">Details</th>
10641 </tr>
10642 <tr class="entry_cont">
10643 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010644 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010645match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010646android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010647 </td>
10648 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010649
10650
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010651 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10652 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010653
10654
10655 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010656 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010657 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010658 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010659 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010660 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010661
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010662 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010663
10664
10665 </td> <!-- entry_type -->
10666
10667 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010668 <p>Maximum raw value output by
10669sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010670 </td>
10671
10672 <td class="entry_units">
10673 </td>
10674
10675 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010676 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010677 </td>
10678
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010679 <td class="entry_tags">
10680 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010681 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010682 </ul>
10683 </td>
10684
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010685 </tr>
10686 <tr class="entries_header">
10687 <th class="th_details" colspan="5">Details</th>
10688 </tr>
10689 <tr class="entry_cont">
10690 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010691 <p>Defines sensor bit depth (10-14 bits is
10692expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010693 </td>
10694 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010695
10696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010697 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10698 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010699
10700
10701
10702
10703
10704 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010705 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010706 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010707 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010708 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010709 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010710
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010711 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010712
10713
10714 </td> <!-- entry_type -->
10715
10716 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010717 <p>Gain factor from electrons to raw units when
10718ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010719 </td>
10720
10721 <td class="entry_units">
10722 </td>
10723
10724 <td class="entry_range">
10725 </td>
10726
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010727 <td class="entry_tags">
10728 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010729 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070010730 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010731 </ul>
10732 </td>
10733
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010734 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010735
10736
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010737 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10738 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010739
10740
10741 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010742 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010743 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010744 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010746 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010747 <span class="entry_type_container">x</span>
10748
10749 <span class="entry_type_array">
10750 4
10751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010752 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010753 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010754
10755
10756 </td> <!-- entry_type -->
10757
10758 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010759 <p>A fixed black level offset for each of the
10760Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010761 </td>
10762
10763 <td class="entry_units">
10764 </td>
10765
10766 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010767 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010768 </td>
10769
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010770 <td class="entry_tags">
10771 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010772 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010773 </ul>
10774 </td>
10775
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010776 </tr>
10777 <tr class="entries_header">
10778 <th class="th_details" colspan="5">Details</th>
10779 </tr>
10780 <tr class="entry_cont">
10781 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010782 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
10783tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010784 </td>
10785 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010786
10787
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010788 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10789 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010790
10791
10792 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010793 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010794 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010795 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010796 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010797 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010798 <span class="entry_type_container">x</span>
10799
10800 <span class="entry_type_array">
10801 9
10802 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010803 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010804 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010805
10806
10807 </td> <!-- entry_type -->
10808
10809 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010810 <p>Per-device calibration on top of color space
10811transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010812 </td>
10813
10814 <td class="entry_units">
10815 </td>
10816
10817 <td class="entry_range">
10818 </td>
10819
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010820 <td class="entry_tags">
10821 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010822 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010823 </ul>
10824 </td>
10825
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010826 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010827
10828
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010829 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10830 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010831
10832
10833 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010834 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010835 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010836 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010838 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010839 <span class="entry_type_container">x</span>
10840
10841 <span class="entry_type_array">
10842 9
10843 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010844 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010845 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010846
10847
10848 </td> <!-- entry_type -->
10849
10850 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010851 <p>Per-device calibration on top of color space
10852transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010853 </td>
10854
10855 <td class="entry_units">
10856 </td>
10857
10858 <td class="entry_range">
10859 </td>
10860
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010861 <td class="entry_tags">
10862 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010863 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010864 </ul>
10865 </td>
10866
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010867 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010868
10869
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010870 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10871 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010872
10873
10874 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010875 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010876 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010877 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010878 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010879 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010880 <span class="entry_type_container">x</span>
10881
10882 <span class="entry_type_array">
10883 9
10884 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010885 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010886 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010887
10888
10889 </td> <!-- entry_type -->
10890
10891 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010892 <p>Linear mapping from XYZ (D50) color space to
10893reference linear sensor color,<wbr/> for first reference
10894illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010895 </td>
10896
10897 <td class="entry_units">
10898 </td>
10899
10900 <td class="entry_range">
10901 </td>
10902
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010903 <td class="entry_tags">
10904 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010905 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010906 </ul>
10907 </td>
10908
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010909 </tr>
10910 <tr class="entries_header">
10911 <th class="th_details" colspan="5">Details</th>
10912 </tr>
10913 <tr class="entry_cont">
10914 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010915 <p>Use as follows XYZ = inv(transform) * clip( (raw -
10916black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
10917At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010918 </td>
10919 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010920
10921
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010922 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10923 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010924
10925
10926 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010927 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010928 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010929 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010930 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010931 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010932 <span class="entry_type_container">x</span>
10933
10934 <span class="entry_type_array">
10935 9
10936 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010937 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010938 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010939
10940
10941 </td> <!-- entry_type -->
10942
10943 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010944 <p>Linear mapping from XYZ (D50) color space to
10945reference linear sensor color,<wbr/> for second reference
10946illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010947 </td>
10948
10949 <td class="entry_units">
10950 </td>
10951
10952 <td class="entry_range">
10953 </td>
10954
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010955 <td class="entry_tags">
10956 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010957 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010958 </ul>
10959 </td>
10960
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010961 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010962
10963
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010964 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10965 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010966
10967
10968 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010969 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010970 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010971 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010972 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010973 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010974 <span class="entry_type_container">x</span>
10975
10976 <span class="entry_type_array">
10977 9
10978 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010979 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010980 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010981
10982
10983 </td> <!-- entry_type -->
10984
10985 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010986 <p>Used by DNG for better WB
10987adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010988 </td>
10989
10990 <td class="entry_units">
10991 </td>
10992
10993 <td class="entry_range">
10994 </td>
10995
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010996 <td class="entry_tags">
10997 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010998 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010999 </ul>
11000 </td>
11001
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011002 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011003
11004
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011005 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11006 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011007
11008
11009 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011010 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011011 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011012 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011013 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011014 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011015 <span class="entry_type_container">x</span>
11016
11017 <span class="entry_type_array">
11018 9
11019 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011020 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011021 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011022
11023
11024 </td> <!-- entry_type -->
11025
11026 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011027 <p>Used by DNG for better WB
11028adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011029 </td>
11030
11031 <td class="entry_units">
11032 </td>
11033
11034 <td class="entry_range">
11035 </td>
11036
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011037 <td class="entry_tags">
11038 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011039 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011040 </ul>
11041 </td>
11042
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011043 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011044
11045
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011046 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11047 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011048
11049
11050 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011051 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011052 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011053 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011055 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011056
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011057 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011058
11059
11060 </td> <!-- entry_type -->
11061
11062 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011063 <p>Maximum sensitivity that is implemented
11064purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011065 </td>
11066
11067 <td class="entry_units">
11068 </td>
11069
11070 <td class="entry_range">
11071 </td>
11072
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011073 <td class="entry_tags">
11074 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011075 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070011076 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011077 </ul>
11078 </td>
11079
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011080 </tr>
11081 <tr class="entries_header">
11082 <th class="th_details" colspan="5">Details</th>
11083 </tr>
11084 <tr class="entry_cont">
11085 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011086 <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 -080011087equal to this,<wbr/> all applied gain must be analog.<wbr/> For
11088values above this,<wbr/> it can be a mix of analog and
11089digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011090 </td>
11091 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011092
11093
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011094 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11095 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011096
11097
11098 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011099 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011100 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011101 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011102 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011103 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011104 <span class="entry_type_container">x</span>
11105
11106 <span class="entry_type_array">
11107 2
11108 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011109 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011110 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011111
11112
11113 </td> <!-- entry_type -->
11114
11115 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011116 <p>Estimation of sensor noise
11117characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011118 </td>
11119
11120 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011121 var(raw pixel value) = electrons * (baseGainFactor
11122 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
11123 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011124 </td>
11125
11126 <td class="entry_range">
11127 </td>
11128
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011129 <td class="entry_tags">
11130 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011131 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011132 </ul>
11133 </td>
11134
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011135 </tr>
11136 <tr class="entries_header">
11137 <th class="th_details" colspan="5">Details</th>
11138 </tr>
11139 <tr class="entry_cont">
11140 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011141 <p>A represents sensor read noise before analog
11142amplification; B represents noise from A/<wbr/>D conversion and
11143other circuits after amplification.<wbr/> Both noise sources
11144are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11145across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011146 </td>
11147 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011148
11149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011150 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11151 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011152
11153
11154 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011155 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011156 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011157 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011158 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011159 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011160
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011161 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011162
11163
11164 </td> <!-- entry_type -->
11165
11166 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011167 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011168image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011169screen in its native orientation.<wbr/> Also defines the
11170direction of rolling shutter readout,<wbr/> which is from top
11171to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011172 </td>
11173
11174 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011175 degrees clockwise rotation,<wbr/> only multiples of
11176 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011177 </td>
11178
11179 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011180 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011181 </td>
11182
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011183 <td class="entry_tags">
11184 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011185 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011186 </ul>
11187 </td>
11188
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011189 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011190
11191
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011192 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11193 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011194
11195
11196 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011197 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011198 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011199 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011200 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011201 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011202
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011203 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011204
11205 <ul class="entry_type_enum">
11206 <li>
11207 <span class="entry_type_enum_name">DAYLIGHT</span>
11208 <span class="entry_type_enum_value">1</span>
11209 </li>
11210 <li>
11211 <span class="entry_type_enum_name">FLUORESCENT</span>
11212 <span class="entry_type_enum_value">2</span>
11213 </li>
11214 <li>
11215 <span class="entry_type_enum_name">TUNGSTEN</span>
11216 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011217 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011218 </li>
11219 <li>
11220 <span class="entry_type_enum_name">FLASH</span>
11221 <span class="entry_type_enum_value">4</span>
11222 </li>
11223 <li>
11224 <span class="entry_type_enum_name">FINE_WEATHER</span>
11225 <span class="entry_type_enum_value">9</span>
11226 </li>
11227 <li>
11228 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11229 <span class="entry_type_enum_value">10</span>
11230 </li>
11231 <li>
11232 <span class="entry_type_enum_name">SHADE</span>
11233 <span class="entry_type_enum_value">11</span>
11234 </li>
11235 <li>
11236 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11237 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011238 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011239 </li>
11240 <li>
11241 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11242 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011243 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011244 </li>
11245 <li>
11246 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11247 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011248 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011249 </li>
11250 <li>
11251 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11252 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011253 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011254 </li>
11255 <li>
11256 <span class="entry_type_enum_name">STANDARD_A</span>
11257 <span class="entry_type_enum_value">17</span>
11258 </li>
11259 <li>
11260 <span class="entry_type_enum_name">STANDARD_B</span>
11261 <span class="entry_type_enum_value">18</span>
11262 </li>
11263 <li>
11264 <span class="entry_type_enum_name">STANDARD_C</span>
11265 <span class="entry_type_enum_value">19</span>
11266 </li>
11267 <li>
11268 <span class="entry_type_enum_name">D55</span>
11269 <span class="entry_type_enum_value">20</span>
11270 </li>
11271 <li>
11272 <span class="entry_type_enum_name">D65</span>
11273 <span class="entry_type_enum_value">21</span>
11274 </li>
11275 <li>
11276 <span class="entry_type_enum_name">D75</span>
11277 <span class="entry_type_enum_value">22</span>
11278 </li>
11279 <li>
11280 <span class="entry_type_enum_name">D50</span>
11281 <span class="entry_type_enum_value">23</span>
11282 </li>
11283 <li>
11284 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11285 <span class="entry_type_enum_value">24</span>
11286 </li>
11287 </ul>
11288
11289 </td> <!-- entry_type -->
11290
11291 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011292 <p>Light source used to define transform
112931</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011294 </td>
11295
11296 <td class="entry_units">
11297 </td>
11298
11299 <td class="entry_range">
11300 </td>
11301
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011302 <td class="entry_tags">
11303 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011304 <li><a href="#tag_DNG">DNG</a></li>
11305 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011306 </ul>
11307 </td>
11308
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011309 </tr>
11310 <tr class="entries_header">
11311 <th class="th_details" colspan="5">Details</th>
11312 </tr>
11313 <tr class="entry_cont">
11314 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011315 <p>[EXIF LightSource tag] Must all these be
11316supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011317 </td>
11318 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011319
11320
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011321 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11322 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011323
11324
11325 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011326 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011327 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011328 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011329 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011330 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011331
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011332 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011333
11334
11335 </td> <!-- entry_type -->
11336
11337 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011338 <p>Light source used to define transform
113392</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011340 </td>
11341
11342 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011343 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011344 </td>
11345
11346 <td class="entry_range">
11347 </td>
11348
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011349 <td class="entry_tags">
11350 </td>
11351
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011352 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011353
11354
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011355 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11356 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011357
11358
11359
11360 <!-- end of kind -->
11361 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011362 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011363
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011364 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011365 <tr>
11366 <th class="th_name">Property Name</th>
11367 <th class="th_type">Type</th>
11368 <th class="th_description">Description</th>
11369 <th class="th_units">Units</th>
11370 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011371 <th class="th_tags">Tags</th>
11372 </tr>
11373 </thead>
11374
11375 <tbody>
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011387 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011388 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011389 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011390 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011391 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011392
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011393 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011394
11395
11396 </td> <!-- entry_type -->
11397
11398 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011399 <p>Duration each pixel is exposed to
11400light.<wbr/></p>
11401<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11402duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011403 </td>
11404
11405 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011406 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011407 </td>
11408
11409 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011410 <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 -080011411 </td>
11412
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011413 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011414 <ul class="entry_tags">
11415 <li><a href="#tag_V1">V1</a></li>
11416 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011417 </td>
11418
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011419 </tr>
11420 <tr class="entries_header">
11421 <th class="th_details" colspan="5">Details</th>
11422 </tr>
11423 <tr class="entry_cont">
11424 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011425 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011426 </td>
11427 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011428
11429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011430 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11431 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011432
11433
11434 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011435 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011436 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011437 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011438 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011439 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011440
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011441 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011442
11443
11444 </td> <!-- entry_type -->
11445
11446 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011447 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011448start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011449 </td>
11450
11451 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011452 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011453 </td>
11454
11455 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011456 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11457android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11458is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011459 </td>
11460
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011461 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011462 <ul class="entry_tags">
11463 <li><a href="#tag_V1">V1</a></li>
11464 <li><a href="#tag_BC">BC</a></li>
11465 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011466 </td>
11467
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011468 </tr>
11469 <tr class="entries_header">
11470 <th class="th_details" colspan="5">Details</th>
11471 </tr>
11472 <tr class="entry_cont">
11473 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011474 <p>The maximum frame rate that can be supported by a camera subsystem is
11475a function of many factors:</p>
11476<ul>
11477<li>Requested resolutions of output image streams</li>
11478<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11479<li>The bandwidth of the imager interface</li>
11480<li>The bandwidth of the various ISP processing blocks</li>
11481</ul>
11482<p>Since these factors can vary greatly between different ISPs and
11483sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11484restrictions with as simple a model as possible.<wbr/></p>
11485<p>The model presented has the following characteristics:</p>
11486<ul>
11487<li>The image sensor is always configured to output the smallest
11488resolution possible given the application's requested output stream
11489sizes.<wbr/> The smallest resolution is defined as being at least as large
11490as the largest requested output stream size; the camera pipeline must
11491never digitally upsample sensor data when the crop region covers the
11492whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11493resolutions are configured,<wbr/> the sensor can provide a higher frame
11494rate.<wbr/></li>
11495<li>Since any request may use any or all the currently configured
11496output streams,<wbr/> the sensor and ISP must be configured to support
11497scaling a single capture to all the streams at the same time.<wbr/> This
11498means the camera pipeline must be ready to produce the largest
11499requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11500frame rate of a given configured stream set is governed only by the
11501largest requested stream resolution.<wbr/></li>
11502<li>Using more than one output stream in a request does not affect the
11503frame duration.<wbr/></li>
11504<li>JPEG streams act like processed YUV streams in requests for which
11505they are not included; in requests in which they are directly
11506referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11507JPEG stream requires the underlying YUV data to always be ready for
11508use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11509frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11510<li>The JPEG processor can run concurrently to the rest of the camera
11511pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11512</ul>
11513<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11514is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11515These are used to determine the maximum frame rate /<wbr/> minimum frame
11516duration that is possible for a given stream configuration.<wbr/></p>
11517<p>Specifically,<wbr/> the application can use the following rules to
11518determine the minimum frame duration it can request from the HAL
11519device:</p>
11520<ol>
11521<li>Given the application's currently configured set of output
11522streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11523<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11524<code>SP</code>.<wbr/></li>
11525<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11526count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11527<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11528<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
11529no exact match for <code>RP == RJ</code> (in particular there isn't an available
11530processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11531to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11532there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11533the processed resolution closest to <code>RJ</code>.<wbr/></li>
11534<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
11535no exact match for <code>RR == RP</code> (in particular there isn't an available
11536raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11537or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11538there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11539the raw resolution closest to <code>RP</code>.<wbr/></li>
11540<li>Look up the matching minimum frame durations in the property lists
11541<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11542<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11543<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11544minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11545<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11546supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11547<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11548supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11549<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11550the application,<wbr/> then the HAL will have to delay JPEG-using requests
11551whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11552This will happen whenever a JPEG-using request starts capture less
11553than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11554supported frame duration will vary between the values calculated in
11555#6 and #7.<wbr/></li>
11556</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011557 </td>
11558 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011559
11560
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011561 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11562 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011563
11564
11565 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011566 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011567 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011568 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011570 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011571
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011572 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011573
11574
11575 </td> <!-- entry_type -->
11576
11577 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011578 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011579implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011580below 'maximum analog sensitivity'.<wbr/></p>
11581<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11582gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011583 </td>
11584
11585 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011586 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011587 </td>
11588
11589 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011590 <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 -080011591 </td>
11592
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011593 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011594 <ul class="entry_tags">
11595 <li><a href="#tag_V1">V1</a></li>
11596 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011597 </td>
11598
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011599 </tr>
11600 <tr class="entries_header">
11601 <th class="th_details" colspan="5">Details</th>
11602 </tr>
11603 <tr class="entry_cont">
11604 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011605 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011606 </td>
11607 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011608
11609
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011610 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11611 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011612
11613
11614 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011615 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011616 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011617 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011618 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011619 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011620
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011621 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011622
11623
11624 </td> <!-- entry_type -->
11625
11626 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011627 <p>Time at start of exposure of first
11628row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011629 </td>
11630
11631 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011632 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011633 </td>
11634
11635 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011636 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011637 </td>
11638
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011639 <td class="entry_tags">
11640 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011641 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011642 </ul>
11643 </td>
11644
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011645 </tr>
11646 <tr class="entries_header">
11647 <th class="th_details" colspan="5">Details</th>
11648 </tr>
11649 <tr class="entry_cont">
11650 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011651 <p>Monotonic,<wbr/> should be synced to other timestamps in
11652system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011653 </td>
11654 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011655
11656
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011657 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11658 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011659
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011660
11661 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011662 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011663 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011664 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011665 <td class="entry_type">
11666 <span class="entry_type_name">float</span>
11667
11668 <span class="entry_type_visibility"> [public]</span>
11669
11670
11671 </td> <!-- entry_type -->
11672
11673 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011674 <p>The temperature of the sensor,<wbr/> sampled at the time
11675exposure began for this frame.<wbr/></p>
11676<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
11677somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011678 </td>
11679
11680 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011681 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011682 </td>
11683
11684 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011685 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011686 </td>
11687
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011688 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070011689 <ul class="entry_tags">
11690 <li><a href="#tag_FULL">FULL</a></li>
11691 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011692 </td>
11693
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011694 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011695
11696
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011697 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11698 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011699
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011700
11701
11702 <!-- end of kind -->
11703 </tbody>
11704
11705 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011706 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011707
11708
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011709 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011710
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011711 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011712 <tr>
11713 <th class="th_name">Property Name</th>
11714 <th class="th_type">Type</th>
11715 <th class="th_description">Description</th>
11716 <th class="th_units">Units</th>
11717 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011718 <th class="th_tags">Tags</th>
11719 </tr>
11720 </thead>
11721
11722 <tbody>
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733 <tr class="entry" id="controls_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080011734 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011735 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011736 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011737 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011738 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011739
Zhijun He2f86a212014-01-15 10:34:02 -080011740 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011741
11742 <ul class="entry_type_enum">
11743 <li>
11744 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011745 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011746 </li>
11747 <li>
11748 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011749 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor raw output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011750 </li>
11751 <li>
11752 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011753 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011754 </li>
11755 </ul>
11756
11757 </td> <!-- entry_type -->
11758
11759 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011760 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080011761to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011762 </td>
11763
11764 <td class="entry_units">
11765 </td>
11766
11767 <td class="entry_range">
11768 </td>
11769
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011770 <td class="entry_tags">
11771 </td>
11772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011773 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080011774 <tr class="entries_header">
11775 <th class="th_details" colspan="5">Details</th>
11776 </tr>
11777 <tr class="entry_cont">
11778 <td class="entry_details" colspan="5">
11779 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
11780camera device,<wbr/> and an identity lens shading map data will be provided
11781if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
11782shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
11783the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
11784shown below:</p>
11785<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11786 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11787 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11788 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11789 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11790 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
11791</code></pre>
11792<p>When set to other modes,<wbr/> lens shading correction will be applied by the
11793camera device.<wbr/> Applications can request lens shading map data by setting
11794<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
11795lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
11796by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
11797 </td>
11798 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011799
11800
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011801 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11802 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011803
11804
11805 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011806 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011807 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011808 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011809 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011810 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011811
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011812 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011813
11814
11815 </td> <!-- entry_type -->
11816
11817 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011818 <p>Control the amount of shading correction
11819applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011820 </td>
11821
11822 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011823 unitless: 1-10; 10 is full shading
11824 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011825 </td>
11826
11827 <td class="entry_range">
11828 </td>
11829
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011830 <td class="entry_tags">
11831 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011832 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011833 </ul>
11834 </td>
11835
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011836 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011837
11838
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011839 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11840 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011841
11842
11843
11844 <!-- end of kind -->
11845 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011846 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011847
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011848 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011849 <tr>
11850 <th class="th_name">Property Name</th>
11851 <th class="th_type">Type</th>
11852 <th class="th_description">Description</th>
11853 <th class="th_units">Units</th>
11854 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011855 <th class="th_tags">Tags</th>
11856 </tr>
11857 </thead>
11858
11859 <tbody>
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870 <tr class="entry" id="dynamic_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080011871 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011872 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011873 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011874 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011875 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011876
Zhijun He2f86a212014-01-15 10:34:02 -080011877 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011878
11879 <ul class="entry_type_enum">
11880 <li>
11881 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011882 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011883 </li>
11884 <li>
11885 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011886 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor raw output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011887 </li>
11888 <li>
11889 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080011890 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011891 </li>
11892 </ul>
11893
11894 </td> <!-- entry_type -->
11895
11896 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011897 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080011898to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011899 </td>
11900
11901 <td class="entry_units">
11902 </td>
11903
11904 <td class="entry_range">
11905 </td>
11906
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011907 <td class="entry_tags">
11908 </td>
11909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011910 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080011911 <tr class="entries_header">
11912 <th class="th_details" colspan="5">Details</th>
11913 </tr>
11914 <tr class="entry_cont">
11915 <td class="entry_details" colspan="5">
11916 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
11917camera device,<wbr/> and an identity lens shading map data will be provided
11918if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
11919shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
11920the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
11921shown below:</p>
11922<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11923 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11924 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11925 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11926 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
11927 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
11928</code></pre>
11929<p>When set to other modes,<wbr/> lens shading correction will be applied by the
11930camera device.<wbr/> Applications can request lens shading map data by setting
11931<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
11932lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
11933by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
11934 </td>
11935 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011936
11937
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011938 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11939 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011940
11941
11942
11943 <!-- end of kind -->
11944 </tbody>
11945
11946 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011947 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011948
11949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011950 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011951
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011952 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011953 <tr>
11954 <th class="th_name">Property Name</th>
11955 <th class="th_type">Type</th>
11956 <th class="th_description">Description</th>
11957 <th class="th_units">Units</th>
11958 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011959 <th class="th_tags">Tags</th>
11960 </tr>
11961 </thead>
11962
11963 <tbody>
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011975 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011976 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011977 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011978 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011979 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011980
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011981 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011982
11983 <ul class="entry_type_enum">
11984 <li>
11985 <span class="entry_type_enum_name">OFF</span>
11986 </li>
11987 <li>
11988 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011989 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
11990only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011991 </li>
11992 <li>
11993 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011994 <span class="entry_type_enum_notes"><p>Optional Return all face
11995metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011996 </li>
11997 </ul>
11998
11999 </td> <!-- entry_type -->
12000
12001 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012002 <p>State of the face detector
12003unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012004 </td>
12005
12006 <td class="entry_units">
12007 </td>
12008
12009 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012010 <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 -080012011 </td>
12012
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012013 <td class="entry_tags">
12014 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012015 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012016 </ul>
12017 </td>
12018
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012019 </tr>
12020 <tr class="entries_header">
12021 <th class="th_details" colspan="5">Details</th>
12022 </tr>
12023 <tr class="entry_cont">
12024 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012025 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012026should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012027fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012028<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 -080012029 </td>
12030 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012031
12032
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012033 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12034 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012035
12036
12037 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012038 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012039 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012040 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012041 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012042 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012043
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012044 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012045
12046 <ul class="entry_type_enum">
12047 <li>
12048 <span class="entry_type_enum_name">OFF</span>
12049 </li>
12050 <li>
12051 <span class="entry_type_enum_name">ON</span>
12052 </li>
12053 </ul>
12054
12055 </td> <!-- entry_type -->
12056
12057 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012058 <p>Operating mode for histogram
12059generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012060 </td>
12061
12062 <td class="entry_units">
12063 </td>
12064
12065 <td class="entry_range">
12066 </td>
12067
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012068 <td class="entry_tags">
12069 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012070 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012071 </ul>
12072 </td>
12073
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012074 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012075
12076
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012077 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12078 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012079
12080
12081 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012082 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012083 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012084 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012085 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012086 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012087
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012088 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012089
12090 <ul class="entry_type_enum">
12091 <li>
12092 <span class="entry_type_enum_name">OFF</span>
12093 </li>
12094 <li>
12095 <span class="entry_type_enum_name">ON</span>
12096 </li>
12097 </ul>
12098
12099 </td> <!-- entry_type -->
12100
12101 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012102 <p>Operating mode for sharpness map
12103generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012104 </td>
12105
12106 <td class="entry_units">
12107 </td>
12108
12109 <td class="entry_range">
12110 </td>
12111
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012112 <td class="entry_tags">
12113 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012114 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012115 </ul>
12116 </td>
12117
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012118 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012119
12120
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012121 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12122 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012123
Zhijun He69fc0ea2013-07-17 09:42:58 -070012124
12125 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012126 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012127 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012128 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012129 <td class="entry_type">
12130 <span class="entry_type_name entry_type_name_enum">byte</span>
12131
12132 <span class="entry_type_visibility"> [public]</span>
12133
12134 <ul class="entry_type_enum">
12135 <li>
12136 <span class="entry_type_enum_name">OFF</span>
12137 </li>
12138 <li>
12139 <span class="entry_type_enum_name">ON</span>
12140 </li>
12141 </ul>
12142
12143 </td> <!-- entry_type -->
12144
12145 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012146 <p>Whether the HAL needs to output the lens
12147shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012148 </td>
12149
12150 <td class="entry_units">
12151 </td>
12152
12153 <td class="entry_range">
12154 </td>
12155
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012156 <td class="entry_tags">
12157 </td>
12158
12159 </tr>
12160 <tr class="entries_header">
12161 <th class="th_details" colspan="5">Details</th>
12162 </tr>
12163 <tr class="entry_cont">
12164 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012165 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012166<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 -080012167the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012168 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012169 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012170
12171
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012172 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12173 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012174
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012175
12176
12177 <!-- end of kind -->
12178 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012179 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012180
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012181 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012182 <tr>
12183 <th class="th_name">Property Name</th>
12184 <th class="th_type">Type</th>
12185 <th class="th_description">Description</th>
12186 <th class="th_units">Units</th>
12187 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012188 <th class="th_tags">Tags</th>
12189 </tr>
12190 </thead>
12191
12192 <tbody>
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012206 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012207 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012208 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012209 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012210 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012211 <span class="entry_type_container">x</span>
12212
12213 <span class="entry_type_array">
12214 n
12215 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012216 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012217 <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 -080012218
12219
12220 </td> <!-- entry_type -->
12221
12222 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012223 <p>Which face detection modes are available,<wbr/>
12224if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012225 </td>
12226
12227 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012228 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012229 OFF
12230 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012231 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012232 </td>
12233
12234 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012235 </td>
12236
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012237 <td class="entry_tags">
12238 </td>
12239
12240 </tr>
12241 <tr class="entries_header">
12242 <th class="th_details" colspan="5">Details</th>
12243 </tr>
12244 <tr class="entry_cont">
12245 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012246 <p>OFF means face detection is disabled,<wbr/> it must
12247be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012248<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012249<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12250<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012251<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012252<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12253<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012254 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012255 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012256
12257
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012258 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12259 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012260
12261
12262 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012263 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012264 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012265 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012266 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012267 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012268
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012269 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012270
12271
12272 </td> <!-- entry_type -->
12273
12274 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012275 <p>Number of histogram buckets
12276supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012277 </td>
12278
12279 <td class="entry_units">
12280 </td>
12281
12282 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012283 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012284 </td>
12285
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012286 <td class="entry_tags">
12287 </td>
12288
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012289 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012290
12291
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012292 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12293 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012294
12295
12296 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012297 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012298 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012299 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012300 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012301 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012302
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012303 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012304
12305
12306 </td> <!-- entry_type -->
12307
12308 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012309 <p>Maximum number of simultaneously detectable
12310faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012311 </td>
12312
12313 <td class="entry_units">
12314 </td>
12315
12316 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012317 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012318modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012319 </td>
12320
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012321 <td class="entry_tags">
12322 </td>
12323
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012324 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012325
12326
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012327 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12328 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012329
12330
12331 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012332 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012333 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012334 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012335 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012336 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012337
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012338 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012339
12340
12341 </td> <!-- entry_type -->
12342
12343 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012344 <p>Maximum value possible for a histogram
12345bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012346 </td>
12347
12348 <td class="entry_units">
12349 </td>
12350
12351 <td class="entry_range">
12352 </td>
12353
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012354 <td class="entry_tags">
12355 </td>
12356
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012357 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012358
12359
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012360 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12361 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012362
12363
12364 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012365 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012366 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012367 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012368 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012369 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012370
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012371 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012372
12373
12374 </td> <!-- entry_type -->
12375
12376 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012377 <p>Maximum value possible for a sharpness map
12378region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012379 </td>
12380
12381 <td class="entry_units">
12382 </td>
12383
12384 <td class="entry_range">
12385 </td>
12386
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012387 <td class="entry_tags">
12388 </td>
12389
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012390 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012391
12392
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012393 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12394 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012395
12396
12397 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012398 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012399 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012400 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012401 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012402 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012403 <span class="entry_type_container">x</span>
12404
12405 <span class="entry_type_array">
12406 2
12407 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012408 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012409 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012410
12411
12412 </td> <!-- entry_type -->
12413
12414 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012415 <p>Dimensions of the sharpness
12416map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012417 </td>
12418
12419 <td class="entry_units">
12420 </td>
12421
12422 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012423 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012424 </td>
12425
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012426 <td class="entry_tags">
12427 </td>
12428
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012429 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012430
12431
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012432 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12433 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012434
12435
12436
12437
12438
12439
12440 <!-- end of kind -->
12441 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012442 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012443
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012444 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012445 <tr>
12446 <th class="th_name">Property Name</th>
12447 <th class="th_type">Type</th>
12448 <th class="th_description">Description</th>
12449 <th class="th_units">Units</th>
12450 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012451 <th class="th_tags">Tags</th>
12452 </tr>
12453 </thead>
12454
12455 <tbody>
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012467 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012468 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012469 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012471 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012472
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012473 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012474
12475 <ul class="entry_type_enum">
12476 <li>
12477 <span class="entry_type_enum_name">OFF</span>
12478 </li>
12479 <li>
12480 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012481 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12482only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012483 </li>
12484 <li>
12485 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012486 <span class="entry_type_enum_notes"><p>Optional Return all face
12487metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012488 </li>
12489 </ul>
12490
12491 </td> <!-- entry_type -->
12492
12493 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012494 <p>State of the face detector
12495unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012496 </td>
12497
12498 <td class="entry_units">
12499 </td>
12500
12501 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012502 <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 -080012503 </td>
12504
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012505 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012506 <ul class="entry_tags">
12507 <li><a href="#tag_BC">BC</a></li>
12508 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012509 </td>
12510
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012511 </tr>
12512 <tr class="entries_header">
12513 <th class="th_details" colspan="5">Details</th>
12514 </tr>
12515 <tr class="entry_cont">
12516 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012517 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012518should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012519fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012520<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 -080012521 </td>
12522 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012523
12524
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012525 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12526 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012527
12528
12529 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012530 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012531 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012532 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012534 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012535 <span class="entry_type_container">x</span>
12536
12537 <span class="entry_type_array">
12538 n
12539 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012540 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012541
12542
12543 </td> <!-- entry_type -->
12544
12545 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012546 <p>List of unique IDs for detected
12547faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012548 </td>
12549
12550 <td class="entry_units">
12551 </td>
12552
12553 <td class="entry_range">
12554 </td>
12555
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012556 <td class="entry_tags">
12557 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012558 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012559 </ul>
12560 </td>
12561
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012562 </tr>
12563 <tr class="entries_header">
12564 <th class="th_details" colspan="5">Details</th>
12565 </tr>
12566 <tr class="entry_cont">
12567 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012568 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012569 </td>
12570 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012571
12572
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012573 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12574 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012575
12576
12577 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012578 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012579 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012580 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012581 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012582 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012583 <span class="entry_type_container">x</span>
12584
12585 <span class="entry_type_array">
12586 n x 6
12587 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012588 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012589 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012590
12591
12592 </td> <!-- entry_type -->
12593
12594 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012595 <p>List of landmarks for detected
12596faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012597 </td>
12598
12599 <td class="entry_units">
12600 </td>
12601
12602 <td class="entry_range">
12603 </td>
12604
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012605 <td class="entry_tags">
12606 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012607 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012608 </ul>
12609 </td>
12610
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012611 </tr>
12612 <tr class="entries_header">
12613 <th class="th_details" colspan="5">Details</th>
12614 </tr>
12615 <tr class="entry_cont">
12616 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012617 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012618 </td>
12619 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012620
12621
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012622 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12623 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012624
12625
12626 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012627 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012628 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012629 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012630 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012631 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012632 <span class="entry_type_container">x</span>
12633
12634 <span class="entry_type_array">
12635 n x 4
12636 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012637 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012638 <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 -080012639
12640
12641 </td> <!-- entry_type -->
12642
12643 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012644 <p>List of the bounding rectangles for detected
12645faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012646 </td>
12647
12648 <td class="entry_units">
12649 </td>
12650
12651 <td class="entry_range">
12652 </td>
12653
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012654 <td class="entry_tags">
12655 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012656 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012657 </ul>
12658 </td>
12659
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012660 </tr>
12661 <tr class="entries_header">
12662 <th class="th_details" colspan="5">Details</th>
12663 </tr>
12664 <tr class="entry_cont">
12665 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012666 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012667 </td>
12668 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012669
12670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012671 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12672 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012673
12674
12675 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012676 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012677 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012678 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012679 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012680 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012681 <span class="entry_type_container">x</span>
12682
12683 <span class="entry_type_array">
12684 n
12685 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070012686 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012687
12688
12689 </td> <!-- entry_type -->
12690
12691 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012692 <p>List of the face confidence scores for
12693detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012694 </td>
12695
12696 <td class="entry_units">
12697 </td>
12698
12699 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012700 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012701 </td>
12702
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012703 <td class="entry_tags">
12704 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012705 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012706 </ul>
12707 </td>
12708
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012709 </tr>
12710 <tr class="entries_header">
12711 <th class="th_details" colspan="5">Details</th>
12712 </tr>
12713 <tr class="entry_cont">
12714 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012715 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
12716meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012717 </td>
12718 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012719
12720
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12722 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012723
12724
12725 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012726 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012727 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012728 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012729 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012730 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012731 <span class="entry_type_container">x</span>
12732
12733 <span class="entry_type_array">
12734 n x 3
12735 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012736 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012737 <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 -080012738
12739
12740 </td> <!-- entry_type -->
12741
12742 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012743 <p>A 3-channel histogram based on the raw
12744sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012745 </td>
12746
12747 <td class="entry_units">
12748 </td>
12749
12750 <td class="entry_range">
12751 </td>
12752
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012753 <td class="entry_tags">
12754 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012755 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012756 </ul>
12757 </td>
12758
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012759 </tr>
12760 <tr class="entries_header">
12761 <th class="th_details" colspan="5">Details</th>
12762 </tr>
12763 <tr class="entry_cont">
12764 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012765 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012766(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 -080012767(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
12768supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012769 </td>
12770 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012771
12772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012773 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12774 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012775
12776
12777 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012778 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012779 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012780 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012781 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012782 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012783
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012784 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012785
12786 <ul class="entry_type_enum">
12787 <li>
12788 <span class="entry_type_enum_name">OFF</span>
12789 </li>
12790 <li>
12791 <span class="entry_type_enum_name">ON</span>
12792 </li>
12793 </ul>
12794
12795 </td> <!-- entry_type -->
12796
12797 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012798 <p>Operating mode for histogram
12799generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012800 </td>
12801
12802 <td class="entry_units">
12803 </td>
12804
12805 <td class="entry_range">
12806 </td>
12807
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012808 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012809 <ul class="entry_tags">
12810 <li><a href="#tag_V1">V1</a></li>
12811 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012812 </td>
12813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012814 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012815
12816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012817 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12818 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012819
12820
12821 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012823 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012824 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012825 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012826 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012827 <span class="entry_type_container">x</span>
12828
12829 <span class="entry_type_array">
12830 n x m x 3
12831 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012832 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012833 <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 -080012834
12835
12836 </td> <!-- entry_type -->
12837
12838 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012839 <p>A 3-channel sharpness map,<wbr/> based on the raw
12840sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012841 </td>
12842
12843 <td class="entry_units">
12844 </td>
12845
12846 <td class="entry_range">
12847 </td>
12848
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012849 <td class="entry_tags">
12850 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012851 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012852 </ul>
12853 </td>
12854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012855 </tr>
12856 <tr class="entries_header">
12857 <th class="th_details" colspan="5">Details</th>
12858 </tr>
12859 <tr class="entry_cont">
12860 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012861 <p>If only a monochrome sharpness map is supported,<wbr/>
12862all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012863 </td>
12864 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012865
12866
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012867 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12868 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012869
12870
12871 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012872 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012873 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012874 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012875 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012876 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012877
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012878 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012879
12880 <ul class="entry_type_enum">
12881 <li>
12882 <span class="entry_type_enum_name">OFF</span>
12883 </li>
12884 <li>
12885 <span class="entry_type_enum_name">ON</span>
12886 </li>
12887 </ul>
12888
12889 </td> <!-- entry_type -->
12890
12891 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012892 <p>Operating mode for sharpness map
12893generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012894 </td>
12895
12896 <td class="entry_units">
12897 </td>
12898
12899 <td class="entry_range">
12900 </td>
12901
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012902 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012903 <ul class="entry_tags">
12904 <li><a href="#tag_V1">V1</a></li>
12905 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012906 </td>
12907
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012908 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012909
12910
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012911 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12912 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012913
Zhijun He69fc0ea2013-07-17 09:42:58 -070012914
12915 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012916 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012917 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012918 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012919 <td class="entry_type">
12920 <span class="entry_type_name">float</span>
12921 <span class="entry_type_container">x</span>
12922
12923 <span class="entry_type_array">
12924 4 x n x m
12925 </span>
12926 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012927 <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 -070012928
12929
12930 </td> <!-- entry_type -->
12931
12932 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012933 <p>The shading map is a low-resolution floating-point map
12934that lists the coefficients used to correct for vignetting,<wbr/> for each
12935Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012936 </td>
12937
12938 <td class="entry_units">
12939 </td>
12940
12941 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012942 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012943 </td>
12944
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012945 <td class="entry_tags">
12946 </td>
12947
12948 </tr>
12949 <tr class="entries_header">
12950 <th class="th_details" colspan="5">Details</th>
12951 </tr>
12952 <tr class="entry_cont">
12953 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012954 <p>The least shaded section of the image should have a gain factor
12955of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012956<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 -080012957must take into account the colorCorrection settings.<wbr/></p>
12958<p>The shading map is for the entire active pixel array,<wbr/> and is not
12959affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012960entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080012961pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
12962map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
12963(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
12964pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
12965The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
12966<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
12967channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
12968The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012969is 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 -080012970<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
12971and must be smaller than 64x64.<wbr/></p>
12972<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012973<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
12974<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080012975[ 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/>
12976 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/>
12977 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/>
12978 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/>
12979 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/>
12980 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 -080012981</code></pre>
12982<p>The low-resolution scaling map images for each channel are
12983(displayed using nearest-neighbor interpolation):</p>
12984<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
12985<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
12986<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
12987<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012988<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080012989image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080012990<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 -070012991 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012992 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012993
12994
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012995 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12996 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012997
12998
12999 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013000 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013001 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013002 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013003 <td class="entry_type">
13004 <span class="entry_type_name">float</span>
13005 <span class="entry_type_container">x</span>
13006
13007 <span class="entry_type_array">
13008 4
13009 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013010 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013011 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013012
13013
13014 </td> <!-- entry_type -->
13015
13016 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013017 <p>The best-fit color channel gains calculated
13018by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013019 </td>
13020
13021 <td class="entry_units">
13022 </td>
13023
13024 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013025 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013026 </td>
13027
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013028 <td class="entry_tags">
13029 </td>
13030
13031 </tr>
13032 <tr class="entries_header">
13033 <th class="th_details" colspan="5">Details</th>
13034 </tr>
13035 <tr class="entry_cont">
13036 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013037 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013038since statistics processing on data from a new frame
13039typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080013040applied to that frame.<wbr/></p>
13041<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013042see <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 -080013043<p>This value should always be calculated by the AWB block,<wbr/>
13044regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013045 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013046 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013047
13048
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013049 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13050 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013051
13052
13053 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013054 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013055 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013056 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013057 <td class="entry_type">
13058 <span class="entry_type_name">rational</span>
13059 <span class="entry_type_container">x</span>
13060
13061 <span class="entry_type_array">
13062 3 x 3
13063 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013064 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013065 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013066
13067
13068 </td> <!-- entry_type -->
13069
13070 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013071 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013072calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080013073output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013074 </td>
13075
13076 <td class="entry_units">
13077 </td>
13078
13079 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013080 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013081 </td>
13082
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013083 <td class="entry_tags">
13084 </td>
13085
13086 </tr>
13087 <tr class="entries_header">
13088 <th class="th_details" colspan="5">Details</th>
13089 </tr>
13090 <tr class="entry_cont">
13091 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013092 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013093statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080013094for the next frame.<wbr/> These are the values the HAL believes
13095are the best fit for the current output frame.<wbr/> This may
13096be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013097statistics processing on data from a new frame typically
13098completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080013099that frame.<wbr/></p>
13100<p>These estimates must be provided for all frames,<wbr/> even if
13101capture settings and color transforms are set by the application.<wbr/></p>
13102<p>This value should always be calculated by the AWB block,<wbr/>
13103regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013104 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013105 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013106
13107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013108 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13109 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013110
13111
13112 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013113 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013114 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013115 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013116 <td class="entry_type">
13117 <span class="entry_type_name entry_type_name_enum">byte</span>
13118
13119 <span class="entry_type_visibility"> [public]</span>
13120
13121 <ul class="entry_type_enum">
13122 <li>
13123 <span class="entry_type_enum_name">NONE</span>
13124 </li>
13125 <li>
13126 <span class="entry_type_enum_name">50HZ</span>
13127 </li>
13128 <li>
13129 <span class="entry_type_enum_name">60HZ</span>
13130 </li>
13131 </ul>
13132
13133 </td> <!-- entry_type -->
13134
13135 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013136 <p>The HAL estimated scene illumination lighting
13137frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013138 </td>
13139
13140 <td class="entry_units">
13141 </td>
13142
13143 <td class="entry_range">
13144 </td>
13145
Zhijun He69fc0ea2013-07-17 09:42:58 -070013146 <td class="entry_tags">
13147 </td>
13148
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013149 </tr>
13150 <tr class="entries_header">
13151 <th class="th_details" colspan="5">Details</th>
13152 </tr>
13153 <tr class="entry_cont">
13154 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013155 <p>Report NONE if there doesn't appear to be flickering
13156illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013157 </td>
13158 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013159
13160
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013161 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13162 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013163
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013164
13165
13166 <!-- end of kind -->
13167 </tbody>
13168
13169 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013170 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013171
13172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013173 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013174
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013175 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013176 <tr>
13177 <th class="th_name">Property Name</th>
13178 <th class="th_type">Type</th>
13179 <th class="th_description">Description</th>
13180 <th class="th_units">Units</th>
13181 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013182 <th class="th_tags">Tags</th>
13183 </tr>
13184 </thead>
13185
13186 <tbody>
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013198 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013199 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013200 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013201 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013202 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013203 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013204
Zhijun He704d1282013-08-19 15:26:33 -070013205 <span class="entry_type_array">
13206 n x 2
13207 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013208 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013209 <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 -080013210
13211
13212 </td> <!-- entry_type -->
13213
13214 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013215 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
13216channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13217CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013218 </td>
13219
13220 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013221 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013222 </td>
13223
13224 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013225 <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 -080013226 </td>
13227
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013228 <td class="entry_tags">
13229 </td>
13230
13231 </tr>
13232 <tr class="entries_header">
13233 <th class="th_details" colspan="5">Details</th>
13234 </tr>
13235 <tr class="entry_cont">
13236 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013237 <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 -080013238 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013239 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013240
13241
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013242 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13243 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013244
13245
13246 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013247 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013248 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013249 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013250 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013251 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013252 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013253
Zhijun He704d1282013-08-19 15:26:33 -070013254 <span class="entry_type_array">
13255 n x 2
13256 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013257 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013258 <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 -080013259
13260
13261 </td> <!-- entry_type -->
13262
13263 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013264 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
13265channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13266CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013267 </td>
13268
13269 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013270 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013271 </td>
13272
13273 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013274 <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 -080013275 </td>
13276
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013277 <td class="entry_tags">
13278 </td>
13279
13280 </tr>
13281 <tr class="entries_header">
13282 <th class="th_details" colspan="5">Details</th>
13283 </tr>
13284 <tr class="entry_cont">
13285 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013286 <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 -080013287 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013288 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013289
13290
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013291 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13292 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013293
13294
13295 <tr class="entry" id="controls_android.tonemap.curveRed">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013296 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013297 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013298 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013299 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013300 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013301 <span class="entry_type_container">x</span>
13302
13303 <span class="entry_type_array">
13304 n x 2
13305 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013306 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013307 <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 -080013308
13309
13310 </td> <!-- entry_type -->
13311
13312 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013313 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
13314channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13315CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013316 </td>
13317
13318 <td class="entry_units">
13319 </td>
13320
13321 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013322 <p>0-1 on both input and output coordinates,<wbr/> normalized
13323as a floating-point value such that 0 == black and 1 == white.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013324 </td>
13325
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013326 <td class="entry_tags">
13327 <ul class="entry_tags">
13328 <li><a href="#tag_DNG">DNG</a></li>
13329 </ul>
13330 </td>
13331
13332 </tr>
13333 <tr class="entries_header">
13334 <th class="th_details" colspan="5">Details</th>
13335 </tr>
13336 <tr class="entry_cont">
13337 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013338 <p>Each channel's curve is defined by an array of control points:</p>
13339<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> =
13340 [ P0in,<wbr/> P0out,<wbr/> P1in,<wbr/> P1out,<wbr/> P2in,<wbr/> P2out,<wbr/> P3in,<wbr/> P3out,<wbr/> ...,<wbr/> PNin,<wbr/> PNout ]
133412 &lt;= N &lt;= <a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a></code></pre>
13342<p>These are sorted in order of increasing <code>Pin</code>; it is always
13343guaranteed that input values 0.<wbr/>0 and 1.<wbr/>0 are included in the list to
13344define a complete mapping.<wbr/> For input values between control points,<wbr/>
13345the camera device must linearly interpolate between the control
13346points.<wbr/></p>
13347<p>Each curve can have an independent number of points,<wbr/> and the number
13348of points can be less than max (that is,<wbr/> the request doesn't have to
13349always provide a curve with number of points equivalent to
13350<a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a>).<wbr/></p>
13351<p>A few examples,<wbr/> and their corresponding graphical mappings; these
13352only specify the red channel and the precision is limited to 4
13353digits,<wbr/> for conciseness.<wbr/></p>
13354<p>Linear mapping:</p>
13355<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
13356</code></pre>
13357<p><img alt="Linear mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/linear_tonemap.png"/></p>
13358<p>Invert mapping:</p>
13359<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 0 ]
13360</code></pre>
13361<p><img alt="Inverting mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/inverse_tonemap.png"/></p>
13362<p>Gamma 1/<wbr/>2.<wbr/>2 mapping,<wbr/> with 16 control points:</p>
13363<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13364 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2920,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4002,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4812,<wbr/>
13365 0.<wbr/>2667,<wbr/> 0.<wbr/>5484,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6069,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6594,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7072,<wbr/>
13366 0.<wbr/>5333,<wbr/> 0.<wbr/>7515,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7928,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8317,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8685,<wbr/>
13367 0.<wbr/>8000,<wbr/> 0.<wbr/>9035,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9370,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9691,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13368</code></pre>
13369<p><img alt="Gamma = 1/2.2 tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/gamma_tonemap.png"/></p>
13370<p>Standard sRGB gamma mapping,<wbr/> per IEC 61966-2-1:1999,<wbr/> with 16 control points:</p>
13371<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13372 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2864,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4007,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4845,<wbr/>
13373 0.<wbr/>2667,<wbr/> 0.<wbr/>5532,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6125,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6652,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7130,<wbr/>
13374 0.<wbr/>5333,<wbr/> 0.<wbr/>7569,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7977,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8360,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8721,<wbr/>
13375 0.<wbr/>8000,<wbr/> 0.<wbr/>9063,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9389,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9701,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13376</code></pre>
13377<p><img alt="sRGB tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png"/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013378 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013379 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013380
Igor Murashkin94e06c42014-01-13 16:51:17 -080013381 <tr class="entries_header">
13382 <th class="th_details" colspan="5">HAL Implementation Details</th>
13383 </tr>
13384 <tr class="entry_cont">
13385 <td class="entry_details" colspan="5">
13386 <p>For good quality of mapping,<wbr/> at least 128 control points are
13387preferred.<wbr/></p>
13388<p>A typical use case of this would be a gamma-1/<wbr/>2.<wbr/>2 curve,<wbr/> with as many
13389control points used as are available.<wbr/></p>
13390 </td>
13391 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013392
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013393 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13394 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013395
13396
13397 <tr class="entry" id="controls_android.tonemap.mode">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013398 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013399 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013400 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013401 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013402 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013403
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013404 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013405
13406 <ul class="entry_type_enum">
13407 <li>
13408 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013409 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
Igor Murashkin94e06c42014-01-13 16:51:17 -080013410android.<wbr/>tonemap.<wbr/>curve.<wbr/></p>
13411<p>All color enhancement and tonemapping must be disabled,<wbr/> except
13412for applying the tonemapping curve specified by
13413<a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>,<wbr/> or
13414<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>.<wbr/></p>
13415<p>Must not slow down frame rate relative to raw
13416sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013417 </li>
13418 <li>
13419 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013420 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13421<p>Should not slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013422 </li>
13423 <li>
13424 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013425 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13426<p>May slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013427 </li>
13428 </ul>
13429
13430 </td> <!-- entry_type -->
13431
13432 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013433 <p>High-level global contrast/<wbr/>gamma/<wbr/>tonemapping control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013434 </td>
13435
13436 <td class="entry_units">
13437 </td>
13438
13439 <td class="entry_range">
13440 </td>
13441
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013442 <td class="entry_tags">
13443 </td>
13444
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013445 </tr>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013446 <tr class="entries_header">
13447 <th class="th_details" colspan="5">Details</th>
13448 </tr>
13449 <tr class="entry_cont">
13450 <td class="entry_details" colspan="5">
13451 <p>When switching to an application-defined contrast curve by setting
13452<a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> to CONTRAST_<wbr/>CURVE,<wbr/> the curve is defined
13453per-channel with a set of <code>(in,<wbr/> out)</code> points that specify the
13454mapping from input high-bit-depth pixel value to the output
13455low-bit-depth value.<wbr/> Since the actual pixel ranges of both input
13456and output may change depending on the camera pipeline,<wbr/> the values
13457are specified by normalized floating-point numbers.<wbr/></p>
13458<p>More-complex color mapping operations such as 3D color look-up
13459tables,<wbr/> selective chroma enhancement,<wbr/> or other non-linear color
13460transforms will be disabled when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13461CONTRAST_<wbr/>CURVE.<wbr/></p>
13462<p>When using either FAST or HIGH_<wbr/>QUALITY,<wbr/> the camera device will
13463emit its own tonemap curve in <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/>
13464<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>,<wbr/> and <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>.<wbr/>
13465These values are always available,<wbr/> and as close as possible to the
13466actually used nonlinear/<wbr/>nonglobal transforms.<wbr/></p>
13467<p>If a request is sent with TRANSFORM_<wbr/>MATRIX with the camera device's
13468provided curve in FAST or HIGH_<wbr/>QUALITY,<wbr/> the image's tonemap will be
13469roughly the same.<wbr/></p>
13470 </td>
13471 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013472
13473
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013474 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13475 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013476
13477
13478
13479 <!-- end of kind -->
13480 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013481 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013482
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013483 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013484 <tr>
13485 <th class="th_name">Property Name</th>
13486 <th class="th_type">Type</th>
13487 <th class="th_description">Description</th>
13488 <th class="th_units">Units</th>
13489 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013490 <th class="th_tags">Tags</th>
13491 </tr>
13492 </thead>
13493
13494 <tbody>
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013506 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013507 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013508 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013509 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013510 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013512 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013513
13514
13515 </td> <!-- entry_type -->
13516
13517 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013518 <p>Maximum number of supported points in the
Igor Murashkin94e06c42014-01-13 16:51:17 -080013519tonemap curve that can be used for <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> or
13520<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>,<wbr/> or <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013521 </td>
13522
13523 <td class="entry_units">
13524 </td>
13525
13526 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013527 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013528 </td>
13529
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013530 <td class="entry_tags">
13531 </td>
13532
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013533 </tr>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013534 <tr class="entries_header">
13535 <th class="th_details" colspan="5">Details</th>
13536 </tr>
13537 <tr class="entry_cont">
13538 <td class="entry_details" colspan="5">
13539 <p>If the actual number of points provided by the application (in
13540android.<wbr/>tonemap.<wbr/>curve*) is less than max,<wbr/> the camera device will
13541resample the curve to its internal representation,<wbr/> using linear
13542interpolation.<wbr/></p>
13543<p>The output curves in the result metadata may have a different number
13544of points than the input curves,<wbr/> and will represent the actual
13545hardware curves used as closely as possible when linearly interpolated.<wbr/></p>
13546 </td>
13547 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013548
Igor Murashkin94e06c42014-01-13 16:51:17 -080013549 <tr class="entries_header">
13550 <th class="th_details" colspan="5">HAL Implementation Details</th>
13551 </tr>
13552 <tr class="entry_cont">
13553 <td class="entry_details" colspan="5">
13554 <p>This value must be at least 64.<wbr/> This should be at least 128.<wbr/></p>
13555 </td>
13556 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013557
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013558 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13559 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013560
13561
13562
13563 <!-- end of kind -->
13564 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013565 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013567 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013568 <tr>
13569 <th class="th_name">Property Name</th>
13570 <th class="th_type">Type</th>
13571 <th class="th_description">Description</th>
13572 <th class="th_units">Units</th>
13573 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013574 <th class="th_tags">Tags</th>
13575 </tr>
13576 </thead>
13577
13578 <tbody>
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013590 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013591 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013592 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013593 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013594 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013595 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013596
Zhijun He704d1282013-08-19 15:26:33 -070013597 <span class="entry_type_array">
13598 n x 2
13599 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013600 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013601 <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 -080013602
13603
13604 </td> <!-- entry_type -->
13605
13606 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013607 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
13608channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13609CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013610 </td>
13611
13612 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013613 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013614 </td>
13615
13616 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013617 <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 -080013618 </td>
13619
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013620 <td class="entry_tags">
13621 </td>
13622
13623 </tr>
13624 <tr class="entries_header">
13625 <th class="th_details" colspan="5">Details</th>
13626 </tr>
13627 <tr class="entry_cont">
13628 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013629 <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 -080013630 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013631 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013632
13633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013634 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13635 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013636
13637
13638 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013639 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013640 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013641 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013642 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013643 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013644 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013645
Zhijun He704d1282013-08-19 15:26:33 -070013646 <span class="entry_type_array">
13647 n x 2
13648 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013649 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013650 <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 -080013651
13652
13653 </td> <!-- entry_type -->
13654
13655 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013656 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
13657channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13658CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013659 </td>
13660
13661 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013662 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013663 </td>
13664
13665 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013666 <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 -080013667 </td>
13668
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013669 <td class="entry_tags">
13670 </td>
13671
13672 </tr>
13673 <tr class="entries_header">
13674 <th class="th_details" colspan="5">Details</th>
13675 </tr>
13676 <tr class="entry_cont">
13677 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013678 <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 -080013679 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013680 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013681
13682
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013683 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13684 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013685
13686
13687 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013688 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013689 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013690 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013692 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013693 <span class="entry_type_container">x</span>
13694
13695 <span class="entry_type_array">
13696 n x 2
13697 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013698 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013699 <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 -080013700
13701
13702 </td> <!-- entry_type -->
13703
13704 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013705 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
13706channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13707CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013708 </td>
13709
13710 <td class="entry_units">
13711 </td>
13712
13713 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013714 <p>0-1 on both input and output coordinates,<wbr/> normalized
13715as a floating-point value such that 0 == black and 1 == white.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013716 </td>
13717
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013718 <td class="entry_tags">
13719 <ul class="entry_tags">
13720 <li><a href="#tag_DNG">DNG</a></li>
13721 </ul>
13722 </td>
13723
13724 </tr>
13725 <tr class="entries_header">
13726 <th class="th_details" colspan="5">Details</th>
13727 </tr>
13728 <tr class="entry_cont">
13729 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013730 <p>Each channel's curve is defined by an array of control points:</p>
13731<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> =
13732 [ P0in,<wbr/> P0out,<wbr/> P1in,<wbr/> P1out,<wbr/> P2in,<wbr/> P2out,<wbr/> P3in,<wbr/> P3out,<wbr/> ...,<wbr/> PNin,<wbr/> PNout ]
137332 &lt;= N &lt;= <a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a></code></pre>
13734<p>These are sorted in order of increasing <code>Pin</code>; it is always
13735guaranteed that input values 0.<wbr/>0 and 1.<wbr/>0 are included in the list to
13736define a complete mapping.<wbr/> For input values between control points,<wbr/>
13737the camera device must linearly interpolate between the control
13738points.<wbr/></p>
13739<p>Each curve can have an independent number of points,<wbr/> and the number
13740of points can be less than max (that is,<wbr/> the request doesn't have to
13741always provide a curve with number of points equivalent to
13742<a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a>).<wbr/></p>
13743<p>A few examples,<wbr/> and their corresponding graphical mappings; these
13744only specify the red channel and the precision is limited to 4
13745digits,<wbr/> for conciseness.<wbr/></p>
13746<p>Linear mapping:</p>
13747<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
13748</code></pre>
13749<p><img alt="Linear mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/linear_tonemap.png"/></p>
13750<p>Invert mapping:</p>
13751<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [ 0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 0 ]
13752</code></pre>
13753<p><img alt="Inverting mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/inverse_tonemap.png"/></p>
13754<p>Gamma 1/<wbr/>2.<wbr/>2 mapping,<wbr/> with 16 control points:</p>
13755<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13756 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2920,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4002,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4812,<wbr/>
13757 0.<wbr/>2667,<wbr/> 0.<wbr/>5484,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6069,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6594,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7072,<wbr/>
13758 0.<wbr/>5333,<wbr/> 0.<wbr/>7515,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7928,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8317,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8685,<wbr/>
13759 0.<wbr/>8000,<wbr/> 0.<wbr/>9035,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9370,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9691,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13760</code></pre>
13761<p><img alt="Gamma = 1/2.2 tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/gamma_tonemap.png"/></p>
13762<p>Standard sRGB gamma mapping,<wbr/> per IEC 61966-2-1:1999,<wbr/> with 16 control points:</p>
13763<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13764 0.<wbr/>0000,<wbr/> 0.<wbr/>0000,<wbr/> 0.<wbr/>0667,<wbr/> 0.<wbr/>2864,<wbr/> 0.<wbr/>1333,<wbr/> 0.<wbr/>4007,<wbr/> 0.<wbr/>2000,<wbr/> 0.<wbr/>4845,<wbr/>
13765 0.<wbr/>2667,<wbr/> 0.<wbr/>5532,<wbr/> 0.<wbr/>3333,<wbr/> 0.<wbr/>6125,<wbr/> 0.<wbr/>4000,<wbr/> 0.<wbr/>6652,<wbr/> 0.<wbr/>4667,<wbr/> 0.<wbr/>7130,<wbr/>
13766 0.<wbr/>5333,<wbr/> 0.<wbr/>7569,<wbr/> 0.<wbr/>6000,<wbr/> 0.<wbr/>7977,<wbr/> 0.<wbr/>6667,<wbr/> 0.<wbr/>8360,<wbr/> 0.<wbr/>7333,<wbr/> 0.<wbr/>8721,<wbr/>
13767 0.<wbr/>8000,<wbr/> 0.<wbr/>9063,<wbr/> 0.<wbr/>8667,<wbr/> 0.<wbr/>9389,<wbr/> 0.<wbr/>9333,<wbr/> 0.<wbr/>9701,<wbr/> 1.<wbr/>0000,<wbr/> 1.<wbr/>0000 ]
13768</code></pre>
13769<p><img alt="sRGB tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png"/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013770 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013771 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013772
Igor Murashkin94e06c42014-01-13 16:51:17 -080013773 <tr class="entries_header">
13774 <th class="th_details" colspan="5">HAL Implementation Details</th>
13775 </tr>
13776 <tr class="entry_cont">
13777 <td class="entry_details" colspan="5">
13778 <p>For good quality of mapping,<wbr/> at least 128 control points are
13779preferred.<wbr/></p>
13780<p>A typical use case of this would be a gamma-1/<wbr/>2.<wbr/>2 curve,<wbr/> with as many
13781control points used as are available.<wbr/></p>
13782 </td>
13783 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013785 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13786 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013787
13788
13789 <tr class="entry" id="dynamic_android.tonemap.mode">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013790 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013791 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013792 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013793 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013794 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013795
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013796 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013797
13798 <ul class="entry_type_enum">
13799 <li>
13800 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013801 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
Igor Murashkin94e06c42014-01-13 16:51:17 -080013802android.<wbr/>tonemap.<wbr/>curve.<wbr/></p>
13803<p>All color enhancement and tonemapping must be disabled,<wbr/> except
13804for applying the tonemapping curve specified by
13805<a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>,<wbr/> or
13806<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>.<wbr/></p>
13807<p>Must not slow down frame rate relative to raw
13808sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013809 </li>
13810 <li>
13811 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013812 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13813<p>Should not slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013814 </li>
13815 <li>
13816 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013817 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13818<p>May slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013819 </li>
13820 </ul>
13821
13822 </td> <!-- entry_type -->
13823
13824 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013825 <p>High-level global contrast/<wbr/>gamma/<wbr/>tonemapping control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013826 </td>
13827
13828 <td class="entry_units">
13829 </td>
13830
13831 <td class="entry_range">
13832 </td>
13833
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013834 <td class="entry_tags">
13835 </td>
13836
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013837 </tr>
Igor Murashkin595f45b2014-01-17 17:27:15 -080013838 <tr class="entries_header">
13839 <th class="th_details" colspan="5">Details</th>
13840 </tr>
13841 <tr class="entry_cont">
13842 <td class="entry_details" colspan="5">
13843 <p>When switching to an application-defined contrast curve by setting
13844<a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> to CONTRAST_<wbr/>CURVE,<wbr/> the curve is defined
13845per-channel with a set of <code>(in,<wbr/> out)</code> points that specify the
13846mapping from input high-bit-depth pixel value to the output
13847low-bit-depth value.<wbr/> Since the actual pixel ranges of both input
13848and output may change depending on the camera pipeline,<wbr/> the values
13849are specified by normalized floating-point numbers.<wbr/></p>
13850<p>More-complex color mapping operations such as 3D color look-up
13851tables,<wbr/> selective chroma enhancement,<wbr/> or other non-linear color
13852transforms will be disabled when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13853CONTRAST_<wbr/>CURVE.<wbr/></p>
13854<p>When using either FAST or HIGH_<wbr/>QUALITY,<wbr/> the camera device will
13855emit its own tonemap curve in <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/>
13856<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>,<wbr/> and <a href="#controls_android.tonemap.curveBlue">android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue</a>.<wbr/>
13857These values are always available,<wbr/> and as close as possible to the
13858actually used nonlinear/<wbr/>nonglobal transforms.<wbr/></p>
13859<p>If a request is sent with TRANSFORM_<wbr/>MATRIX with the camera device's
13860provided curve in FAST or HIGH_<wbr/>QUALITY,<wbr/> the image's tonemap will be
13861roughly the same.<wbr/></p>
13862 </td>
13863 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013864
13865
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013866 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13867 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013868
13869
13870
13871 <!-- end of kind -->
13872 </tbody>
13873
13874 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013875 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013876
13877
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013878 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013879
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013880 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013881 <tr>
13882 <th class="th_name">Property Name</th>
13883 <th class="th_type">Type</th>
13884 <th class="th_description">Description</th>
13885 <th class="th_units">Units</th>
13886 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013887 <th class="th_tags">Tags</th>
13888 </tr>
13889 </thead>
13890
13891 <tbody>
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013903 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013904 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013905 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013906 <td class="entry_type">
13907 <span class="entry_type_name entry_type_name_enum">byte</span>
13908
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013909 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013910
13911 <ul class="entry_type_enum">
13912 <li>
13913 <span class="entry_type_enum_name">OFF</span>
13914 </li>
13915 <li>
13916 <span class="entry_type_enum_name">ON</span>
13917 </li>
13918 </ul>
13919
13920 </td> <!-- entry_type -->
13921
13922 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013923 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013924that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080013925Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013926disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080013927any untrusted applications.<wbr/></p>
13928<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
13929transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
13930data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013931<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080013932doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013933 </td>
13934
13935 <td class="entry_units">
13936 </td>
13937
13938 <td class="entry_range">
13939 </td>
13940
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013941 <td class="entry_tags">
13942 </td>
13943
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013944 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013945
13946
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013947 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13948 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013949
13950
13951
13952 <!-- end of kind -->
13953 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013954 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013956 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013957 <tr>
13958 <th class="th_name">Property Name</th>
13959 <th class="th_type">Type</th>
13960 <th class="th_description">Description</th>
13961 <th class="th_units">Units</th>
13962 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013963 <th class="th_tags">Tags</th>
13964 </tr>
13965 </thead>
13966
13967 <tbody>
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013979 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013980 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013981 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013982 <td class="entry_type">
13983 <span class="entry_type_name entry_type_name_enum">byte</span>
13984
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013985 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070013986
13987 <ul class="entry_type_enum">
13988 <li>
13989 <span class="entry_type_enum_name">OFF</span>
13990 </li>
13991 <li>
13992 <span class="entry_type_enum_name">ON</span>
13993 </li>
13994 </ul>
13995
13996 </td> <!-- entry_type -->
13997
13998 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013999 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014000that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080014001Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014002disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080014003any untrusted applications.<wbr/></p>
14004<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
14005transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
14006data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014007<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080014008doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014009 </td>
14010
14011 <td class="entry_units">
14012 </td>
14013
14014 <td class="entry_range">
14015 </td>
14016
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014017 <td class="entry_tags">
14018 </td>
14019
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014020 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014021
14022
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014023 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14024 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014025
14026
14027
14028 <!-- end of kind -->
14029 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014030 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014032 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014033 <tr>
14034 <th class="th_name">Property Name</th>
14035 <th class="th_type">Type</th>
14036 <th class="th_description">Description</th>
14037 <th class="th_units">Units</th>
14038 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014039 <th class="th_tags">Tags</th>
14040 </tr>
14041 </thead>
14042
14043 <tbody>
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014055 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014056 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014057 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014058 <td class="entry_type">
14059 <span class="entry_type_name entry_type_name_enum">byte</span>
14060 <span class="entry_type_container">x</span>
14061
14062 <span class="entry_type_array">
14063 n
14064 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014065 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014066
14067 <ul class="entry_type_enum">
14068 <li>
14069 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080014070 <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 -070014071 </li>
14072 </ul>
14073
14074 </td> <!-- entry_type -->
14075
14076 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014077 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014078 </td>
14079
14080 <td class="entry_units">
14081 </td>
14082
14083 <td class="entry_range">
14084 </td>
14085
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014086 <td class="entry_tags">
14087 </td>
14088
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014089 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014090
14091
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014092 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14093 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014094
14095
14096
14097 <!-- end of kind -->
14098 </tbody>
14099
14100 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014101 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014102
14103
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014104 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014105
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014106 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014107 <tr>
14108 <th class="th_name">Property Name</th>
14109 <th class="th_type">Type</th>
14110 <th class="th_description">Description</th>
14111 <th class="th_units">Units</th>
14112 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014113 <th class="th_tags">Tags</th>
14114 </tr>
14115 </thead>
14116
14117 <tbody>
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014129 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014130 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014131 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014132 <td class="entry_type">
14133 <span class="entry_type_name entry_type_name_enum">byte</span>
14134
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014135 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014136
14137 <ul class="entry_type_enum">
14138 <li>
14139 <span class="entry_type_enum_name">LIMITED</span>
14140 </li>
14141 <li>
14142 <span class="entry_type_enum_name">FULL</span>
14143 </li>
14144 </ul>
14145
14146 </td> <!-- entry_type -->
14147
14148 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014149 <p>The camera 3 HAL device can implement one of two possible
14150operational modes; limited and full.<wbr/> Full support is
14151expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014152hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080014153camera HAL device v1 implementation,<wbr/> and is expected from
14154older or inexpensive devices.<wbr/> Full is a strict superset of
14155limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
14156<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014157 </td>
14158
14159 <td class="entry_units">
14160 </td>
14161
14162 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014163 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014164 </td>
14165
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014166 <td class="entry_tags">
14167 </td>
14168
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014169 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014170
14171
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014172 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14173 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014174
14175
14176
14177 <!-- end of kind -->
14178 </tbody>
14179
14180 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014181 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014182
14183
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014184 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014185
14186 <thead class="entries_header">
14187 <tr>
14188 <th class="th_name">Property Name</th>
14189 <th class="th_type">Type</th>
14190 <th class="th_description">Description</th>
14191 <th class="th_units">Units</th>
14192 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014193 <th class="th_tags">Tags</th>
14194 </tr>
14195 </thead>
14196
14197 <tbody>
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014209 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014210 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014211 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014212 <td class="entry_type">
14213 <span class="entry_type_name entry_type_name_enum">byte</span>
14214
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014215 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014216
14217 <ul class="entry_type_enum">
14218 <li>
14219 <span class="entry_type_enum_name">OFF</span>
14220 </li>
14221 <li>
14222 <span class="entry_type_enum_name">ON</span>
14223 </li>
14224 </ul>
14225
14226 </td> <!-- entry_type -->
14227
14228 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014229 <p>Whether black-level compensation is locked
14230to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014231 </td>
14232
14233 <td class="entry_units">
14234 </td>
14235
14236 <td class="entry_range">
14237 </td>
14238
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014239 <td class="entry_tags">
14240 <ul class="entry_tags">
14241 <li><a href="#tag_HAL2">HAL2</a></li>
14242 </ul>
14243 </td>
14244
14245 </tr>
14246 <tr class="entries_header">
14247 <th class="th_details" colspan="5">Details</th>
14248 </tr>
14249 <tr class="entry_cont">
14250 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014251 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014252compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080014253OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014254<p>Since changes to certain capture parameters (such as
14255exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080014256compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014257the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080014258metadata.<wbr/></p>
14259<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014260<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014261<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14262<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14263<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14264<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14265<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14266<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014267</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014268<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080014269device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014270result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014271<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014272<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14273<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14274<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14275<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
14276<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14277<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014278</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014279<p>This indicates to the application that on frame 4,<wbr/> black
14280levels were reset due to exposure value changes,<wbr/> and pixel
14281values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014282<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080014283possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014284other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080014285or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014286 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014287 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014288
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014289 <tr class="entries_header">
14290 <th class="th_details" colspan="5">HAL Implementation Details</th>
14291 </tr>
14292 <tr class="entry_cont">
14293 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014294 <p>If for some reason black level locking is no longer possible
14295(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14296black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014297override this request (and it must report 'OFF' when this
14298does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014299possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014300 </td>
14301 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014302
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014303 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14304 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014305
14306
14307
14308 <!-- end of kind -->
14309 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014310 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014311
14312 <thead class="entries_header">
14313 <tr>
14314 <th class="th_name">Property Name</th>
14315 <th class="th_type">Type</th>
14316 <th class="th_description">Description</th>
14317 <th class="th_units">Units</th>
14318 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014319 <th class="th_tags">Tags</th>
14320 </tr>
14321 </thead>
14322
14323 <tbody>
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014335 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014336 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014337 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014338 <td class="entry_type">
14339 <span class="entry_type_name entry_type_name_enum">byte</span>
14340
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014341 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014342
14343 <ul class="entry_type_enum">
14344 <li>
14345 <span class="entry_type_enum_name">OFF</span>
14346 </li>
14347 <li>
14348 <span class="entry_type_enum_name">ON</span>
14349 </li>
14350 </ul>
14351
14352 </td> <!-- entry_type -->
14353
14354 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014355 <p>Whether black-level compensation is locked
14356to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014357 </td>
14358
14359 <td class="entry_units">
14360 </td>
14361
14362 <td class="entry_range">
14363 </td>
14364
Zhijun He69fc0ea2013-07-17 09:42:58 -070014365 <td class="entry_tags">
14366 <ul class="entry_tags">
14367 <li><a href="#tag_HAL2">HAL2</a></li>
14368 </ul>
14369 </td>
14370
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014371 </tr>
14372 <tr class="entries_header">
14373 <th class="th_details" colspan="5">Details</th>
14374 </tr>
14375 <tr class="entry_cont">
14376 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014377 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014378ON 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 -080014379a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014380perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014381 </td>
14382 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014383
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014384 <tr class="entries_header">
14385 <th class="th_details" colspan="5">HAL Implementation Details</th>
14386 </tr>
14387 <tr class="entry_cont">
14388 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014389 <p>If for some reason black level locking is no longer possible
14390(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14391black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014392override this request (and it must report 'OFF' when this
14393does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014394possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014395 </td>
14396 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014397
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014398 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14399 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014400
14401
14402
14403 <!-- end of kind -->
14404 </tbody>
14405
14406 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014407<!-- </namespace> -->
14408 </table>
14409
14410 <div class="tags" id="tag_index">
14411 <h2>Tags</h2>
14412 <ul>
14413 <li id="tag_AWB">AWB -
14414 Needed for auto white balance
14415
14416 <ul class="tags_entries">
14417 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14418 </ul>
14419 </li> <!-- tag_AWB -->
14420 <li id="tag_BC">BC -
14421 Needed for backwards compatibility with old Java API
14422
14423 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014424 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014425 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14426 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14427 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14428 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14429 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014430 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014431 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14432 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014433 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014434 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14435 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14436 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14437 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14438 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14439 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14440 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14441 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014442 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014443 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14444 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14445 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14446 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14447 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14448 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14449 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14450 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14451 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14452 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14453 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14454 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14455 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14456 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14457 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14458 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14459 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14460 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14461 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14462 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14463 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14464 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14465 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14466 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14467 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14468 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14469 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14470 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014471 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014472 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14473 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14474 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014475 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014476 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014477 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14478 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14479 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14480 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14481 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14482 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14483 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
14484 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
14485 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
14486 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
14487 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
14488 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
14489 </ul>
14490 </li> <!-- tag_BC -->
14491 <li id="tag_V1">V1 -
14492 New features for first camera 2 release (API1)
14493
14494 <ul class="tags_entries">
14495 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
14496 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
14497 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
14498 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
14499 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
14500 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
14501 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
14502 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
14503 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14504 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
14505 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
14506 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
14507 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14508 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
14509 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
14510 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
14511 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
14512 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
14513 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
14514 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
14515 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
14516 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
14517 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
14518 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014519 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014520 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
14521 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14522 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14523 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14524 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14525 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
14526 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
14527 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
14528 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
14529 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
14530 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
14531 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
14532 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
14533 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
14534 </ul>
14535 </li> <!-- tag_V1 -->
14536 <li id="tag_ADV">ADV - None
14537 <ul class="tags_entries">
14538 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
14539 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
14540 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
14541 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
14542 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
14543 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
14544 </ul>
14545 </li> <!-- tag_ADV -->
14546 <li id="tag_DNG">DNG -
14547 Needed for DNG file support
14548
14549 <ul class="tags_entries">
14550 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014551 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
14552 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
14553 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14554 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
14555 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
14556 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
14557 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
14558 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
14559 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
14560 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
14561 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
14562 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14563 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
14564 </ul>
14565 </li> <!-- tag_DNG -->
14566 <li id="tag_EXIF">EXIF - None
14567 <ul class="tags_entries">
14568 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
14569 </ul>
14570 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014571 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070014572 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014573
14574 <ul class="tags_entries">
14575 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
14576 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
14577 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014578 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070014579 </ul>
14580 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070014581 <li id="tag_FULL">FULL -
14582 Entry is required for full hardware level devices, and optional for other hardware levels
14583
14584 <ul class="tags_entries">
14585 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
14586 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
14587 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
14588 </ul>
14589 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014590 </ul>
14591 </div>
14592
14593 [ <a href="#">top</a> ]
14594
14595</body>
14596</html>