blob: 5faee3c141f5d09964c6839be526eec070cb006f [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>
Igor Murashkina46e02f2014-01-09 17:43:38 -0800426 <li><a href="#static_android.request.pipelineMaxDepth">android.request.pipelineMaxDepth</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700427 </ul>
428 </li>
429 <li>
430 <span class="toc_kind_header">dynamic</span>
431 <ul class="toc_section">
432 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
433 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
434 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
435 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
Igor Murashkina46e02f2014-01-09 17:43:38 -0800436 <li><a href="#dynamic_android.request.pipelineDepth">android.request.pipelineDepth</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700437 </ul>
438 </li>
439 </ul> <!-- toc_section -->
440 </li>
441 <li>
442 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
443 <ul class="toc_section">
444 <li>
445 <span class="toc_kind_header">controls</span>
446 <ul class="toc_section">
447 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
448 </ul>
449 </li>
450 <li>
451 <span class="toc_kind_header">static</span>
452 <ul class="toc_section">
453 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
454 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
455 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
456 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
457 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
458 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
459 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
460 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
461 </ul>
462 </li>
463 <li>
464 <span class="toc_kind_header">dynamic</span>
465 <ul class="toc_section">
466 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
467 </ul>
468 </li>
469 </ul> <!-- toc_section -->
470 </li>
471 <li>
472 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
473 <ul class="toc_section">
474 <li>
475 <span class="toc_kind_header">controls</span>
476 <ul class="toc_section">
477 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
478 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
479 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
Igor Murashkina46e02f2014-01-09 17:43:38 -0800480 <li><a href="#controls_android.sensor.testPatternData">android.sensor.testPatternData</a></li>
481 <li><a href="#controls_android.sensor.testPatternMode">android.sensor.testPatternMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700482 </ul>
483 </li>
484 <li>
485 <span class="toc_kind_header">static</span>
486 <ul class="toc_section">
487
488 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700489 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700490 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
491 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
492 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
493 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
494 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
495 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
496
497 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
498 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
499 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
500 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
501 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
502 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
503 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
504 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
505 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
506 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
507 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
508 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
509 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
Igor Murashkina46e02f2014-01-09 17:43:38 -0800510 <li><a href="#static_android.sensor.availableTestPatternModes">android.sensor.availableTestPatternModes</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700511 </ul>
512 </li>
513 <li>
514 <span class="toc_kind_header">dynamic</span>
515 <ul class="toc_section">
516 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
517 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
518 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
519 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700520 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Igor Murashkina46e02f2014-01-09 17:43:38 -0800521 <li><a href="#dynamic_android.sensor.testPatternMode">android.sensor.testPatternMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700522 </ul>
523 </li>
524 </ul> <!-- toc_section -->
525 </li>
526 <li>
527 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
528 <ul class="toc_section">
529 <li>
530 <span class="toc_kind_header">controls</span>
531 <ul class="toc_section">
532 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
533 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
534 </ul>
535 </li>
536 <li>
537 <span class="toc_kind_header">dynamic</span>
538 <ul class="toc_section">
539 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
540 </ul>
541 </li>
542 </ul> <!-- toc_section -->
543 </li>
544 <li>
545 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
546 <ul class="toc_section">
547 <li>
548 <span class="toc_kind_header">controls</span>
549 <ul class="toc_section">
550 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
551 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
552 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700553 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700554 </ul>
555 </li>
556 <li>
557 <span class="toc_kind_header">static</span>
558 <ul class="toc_section">
559
560 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
561 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
562 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
563 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
564 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
565 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
566
567 </ul>
568 </li>
569 <li>
570 <span class="toc_kind_header">dynamic</span>
571 <ul class="toc_section">
572 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
573 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
574 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
575 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
576 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
577 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
578 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
579 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
580 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700581 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
582 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
583 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
584 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700585 </ul>
586 </li>
587 </ul> <!-- toc_section -->
588 </li>
589 <li>
590 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
591 <ul class="toc_section">
592 <li>
593 <span class="toc_kind_header">controls</span>
594 <ul class="toc_section">
595 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
596 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
597 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
598 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
599 </ul>
600 </li>
601 <li>
602 <span class="toc_kind_header">static</span>
603 <ul class="toc_section">
604 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
605 </ul>
606 </li>
607 <li>
608 <span class="toc_kind_header">dynamic</span>
609 <ul class="toc_section">
610 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
611 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
612 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
613 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
614 </ul>
615 </li>
616 </ul> <!-- toc_section -->
617 </li>
618 <li>
619 <span class="toc_section_header"><a href="#section_led">led</a></span>
620 <ul class="toc_section">
621 <li>
622 <span class="toc_kind_header">controls</span>
623 <ul class="toc_section">
624 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
625 </ul>
626 </li>
627 <li>
628 <span class="toc_kind_header">dynamic</span>
629 <ul class="toc_section">
630 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
631 </ul>
632 </li>
633 <li>
634 <span class="toc_kind_header">static</span>
635 <ul class="toc_section">
636 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
637 </ul>
638 </li>
639 </ul> <!-- toc_section -->
640 </li>
641 <li>
642 <span class="toc_section_header"><a href="#section_info">info</a></span>
643 <ul class="toc_section">
644 <li>
645 <span class="toc_kind_header">static</span>
646 <ul class="toc_section">
647 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
648 </ul>
649 </li>
650 </ul> <!-- toc_section -->
651 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700652 <li>
653 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
654 <ul class="toc_section">
655 <li>
656 <span class="toc_kind_header">controls</span>
657 <ul class="toc_section">
658 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
659 </ul>
660 </li>
661 <li>
662 <span class="toc_kind_header">dynamic</span>
663 <ul class="toc_section">
664 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
665 </ul>
666 </li>
667 </ul> <!-- toc_section -->
668 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800669 </ul>
670
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700671
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800672 <h1>Properties</h1>
673 <table class="properties">
674
675 <thead class="thead_dummy">
676 <tr>
677 <th class="th_name">Property Name</th>
678 <th class="th_type">Type</th>
679 <th class="th_description">Description</th>
680 <th class="th_units">Units</th>
681 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800682 <th class="th_tags">Tags</th>
683 </tr>
684 </thead> <!-- so that the first occurrence of thead is not
685 above the first occurrence of tr -->
686<!-- <namespace name="android"> -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800687 <tr><td colspan="6" id="section_colorCorrection" class="section">colorCorrection</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800688
689
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800690 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800691
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700692 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800693 <tr>
694 <th class="th_name">Property Name</th>
695 <th class="th_type">Type</th>
696 <th class="th_description">Description</th>
697 <th class="th_units">Units</th>
698 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800699 <th class="th_tags">Tags</th>
700 </tr>
701 </thead>
702
703 <tbody>
704
705
706
707
708
709
710
711
712
713
714 <tr class="entry" id="controls_android.colorCorrection.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800715 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800716 android.<wbr/>color<wbr/>Correction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800717 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800718 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800719 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800720
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700721 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800722
723 <ul class="entry_type_enum">
724 <li>
725 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
Igor Murashkina10351a2014-01-15 17:05:22 -0800726 <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 -0800727and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
728<p>All advanced white balance adjustments (not specified
729by our white balance pipeline) must be disabled.<wbr/></p>
730<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
731TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
732this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800733 </li>
734 <li>
735 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800736 <span class="entry_type_enum_notes"><p>Must not slow down capture rate relative to sensor raw
737output.<wbr/></p>
738<p>Advanced white balance adjustments above and beyond
739the specified white balance pipeline may be applied.<wbr/></p>
740<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
741the camera device uses the last frame's AWB values
742(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800743 </li>
744 <li>
745 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800746 <span class="entry_type_enum_notes"><p>Capture rate (relative to sensor raw output)
747may be reduced by high quality.<wbr/></p>
748<p>Advanced white balance adjustments above and beyond
749the specified white balance pipeline may be applied.<wbr/></p>
750<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
751the camera device uses the last frame's AWB values
752(or defaults if AWB has never been run).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800753 </li>
754 </ul>
755
756 </td> <!-- entry_type -->
757
758 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800759 <p>The mode control selects how the image data is converted from the
760sensor's native color into linear sRGB color.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800761 </td>
762
763 <td class="entry_units">
764 </td>
765
766 <td class="entry_range">
767 </td>
768
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800769 <td class="entry_tags">
770 </td>
771
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800772 </tr>
773 <tr class="entries_header">
774 <th class="th_details" colspan="5">Details</th>
775 </tr>
776 <tr class="entry_cont">
777 <td class="entry_details" colspan="5">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800778 <p>When auto-white balance is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
779control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
780application controls how the color mapping is performed.<wbr/></p>
781<p>We define the expected processing pipeline below.<wbr/> For consistency
782across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
783<p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
784do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
785<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
786camera device (in the results) and be roughly correct.<wbr/></p>
787<p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
788FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
789as what was produced by the camera device in the earlier frame.<wbr/></p>
790<p>The expected processing pipeline is as follows:</p>
791<p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
792<p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
793gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
794matrix (applied after demosaic).<wbr/></p>
795<p>The 4-channel white-balance gains are defined as:</p>
796<pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
797</code></pre>
798<p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
799output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
800These may be identical for a given camera device implementation; if
801the camera device does not support a separate gain for even/<wbr/>odd green
802channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
803<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
804<p>The matrices for color transforms are defined as a 9-entry vector:</p>
805<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 ]
806</code></pre>
807<p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
808to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
809<p>with colors as follows:</p>
810<pre><code>r' = I0r + I1g + I2b
811g' = I3r + I4g + I5b
812b' = I6r + I7g + I8b
813</code></pre>
814<p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
815values are clipped to fit within the range.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800816 </td>
817 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800818
819
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800820 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
821 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800822
823
824 <tr class="entry" id="controls_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800825 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800826 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800827 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800828 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700829 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800830 <span class="entry_type_container">x</span>
831
832 <span class="entry_type_array">
833 3 x 3
834 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700835 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800836 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800837
838
839 </td> <!-- entry_type -->
840
841 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800842 <p>A color transform matrix to use to transform
843from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800844 </td>
845
846 <td class="entry_units">
847 </td>
848
849 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800850 <p>Output values are expected to be in the range
851(0,<wbr/>1)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800852 </td>
853
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800854 <td class="entry_tags">
855 </td>
856
857 </tr>
858 <tr class="entries_header">
859 <th class="th_details" colspan="5">Details</th>
860 </tr>
861 <tr class="entry_cont">
862 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800863 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800864<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800865directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800866<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -0800867<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800868for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -0800869reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800871 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800872
873
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800874 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
875 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -0700876
877
878 <tr class="entry" id="controls_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800879 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800880 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800881 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700882 <td class="entry_type">
883 <span class="entry_type_name">float</span>
884 <span class="entry_type_container">x</span>
885
886 <span class="entry_type_array">
887 4
888 </span>
889 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800890 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700891
892
893 </td> <!-- entry_type -->
894
895 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -0800896 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -0800897white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700898 </td>
899
900 <td class="entry_units">
901 </td>
902
903 <td class="entry_range">
904 </td>
905
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800906 <td class="entry_tags">
907 </td>
908
909 </tr>
910 <tr class="entries_header">
911 <th class="th_details" colspan="5">Details</th>
912 </tr>
913 <tr class="entry_cont">
914 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -0800915 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -0800916the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
917for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
918is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -0800919does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -0800920it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
921<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800922<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800923<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 -0800924directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800925<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 -0800926<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -0800927the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800928 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800929 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800930
931
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800932 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
933 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800934
935
936
937 <!-- end of kind -->
938 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800939 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800940
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700941 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800942 <tr>
943 <th class="th_name">Property Name</th>
944 <th class="th_type">Type</th>
945 <th class="th_description">Description</th>
946 <th class="th_units">Units</th>
947 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800948 <th class="th_tags">Tags</th>
949 </tr>
950 </thead>
951
952 <tbody>
953
954
955
956
957
958
959
960
961
962
Zhijun He69fc0ea2013-07-17 09:42:58 -0700963 <tr class="entry" id="dynamic_android.colorCorrection.transform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800964 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -0800965 android.<wbr/>color<wbr/>Correction.<wbr/>transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -0800966 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800967 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700968 <span class="entry_type_name">rational</span>
969 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800970
Zhijun He69fc0ea2013-07-17 09:42:58 -0700971 <span class="entry_type_array">
972 3 x 3
973 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700974 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -0800975 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800976
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800977
978 </td> <!-- entry_type -->
979
980 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -0800981 <p>A color transform matrix to use to transform
982from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700983 </td>
984
985 <td class="entry_units">
986 </td>
987
988 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -0800989 <p>Output values are expected to be in the range
990(0,<wbr/>1)</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700991 </td>
992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -0800993 <td class="entry_tags">
994 </td>
995
996 </tr>
997 <tr class="entries_header">
998 <th class="th_details" colspan="5">Details</th>
999 </tr>
1000 <tr class="entry_cont">
1001 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001002 <p>This matrix is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001003<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001004directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001005<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08001006<p>In the latter case,<wbr/> the HAL may round the matrix to account
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001007for precision issues; the final rounded matrix should be
Igor Murashkin0b080452013-12-27 15:30:25 -08001008reported back in this matrix result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001009 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001010 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001011
1012
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001013 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1014 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -07001015
1016
1017 <tr class="entry" id="dynamic_android.colorCorrection.gains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001018 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001019 android.<wbr/>color<wbr/>Correction.<wbr/>gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001020 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001021 <td class="entry_type">
1022 <span class="entry_type_name">float</span>
1023 <span class="entry_type_container">x</span>
1024
1025 <span class="entry_type_array">
1026 4
1027 </span>
1028 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08001029 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001030
1031
1032 </td> <!-- entry_type -->
1033
1034 <td class="entry_description">
Igor Murashkin43817ad2014-01-10 15:58:35 -08001035 <p>Gains applying to Bayer raw color channels for
Igor Murashkin0b080452013-12-27 15:30:25 -08001036white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001037 </td>
1038
1039 <td class="entry_units">
1040 </td>
1041
1042 <td class="entry_range">
1043 </td>
1044
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001045 <td class="entry_tags">
1046 </td>
1047
1048 </tr>
1049 <tr class="entries_header">
1050 <th class="th_details" colspan="5">Details</th>
1051 </tr>
1052 <tr class="entry_cont">
1053 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001054 <p>The 4-channel white-balance gains are defined in
Igor Murashkin43817ad2014-01-10 15:58:35 -08001055the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
1056for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
1057is the gain for green pixels on the odd rows.<wbr/> if a HAL
Igor Murashkin0b080452013-12-27 15:30:25 -08001058does not support a separate gain for even/<wbr/>odd green channels,<wbr/>
Igor Murashkin43817ad2014-01-10 15:58:35 -08001059it should use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
1060<code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001061<p>This array is either set by HAL when the request
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001062<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 -08001063directly by the application in the request when the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001064<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 -08001065<p>The output should be the gains actually applied by the HAL to
Igor Murashkin0b080452013-12-27 15:30:25 -08001066the current frame.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001068 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001069
1070
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001071 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1072 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073
1074
1075
1076 <!-- end of kind -->
1077 </tbody>
1078
1079 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001080 <tr><td colspan="6" id="section_control" class="section">control</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001081
1082
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001083 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001084
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001085 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001086 <tr>
1087 <th class="th_name">Property Name</th>
1088 <th class="th_type">Type</th>
1089 <th class="th_description">Description</th>
1090 <th class="th_units">Units</th>
1091 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001092 <th class="th_tags">Tags</th>
1093 </tr>
1094 </thead>
1095
1096 <tbody>
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107 <tr class="entry" id="controls_android.control.aeAntibandingMode">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001108 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001109 android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001110 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001112 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001113
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001114 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001115
1116 <ul class="entry_type_enum">
1117 <li>
1118 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001119 <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
1120avoid banding problems.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001121 </li>
1122 <li>
1123 <span class="entry_type_enum_name">50HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001124 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1125avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001126 </li>
1127 <li>
1128 <span class="entry_type_enum_name">60HZ</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001129 <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
1130avoid banding problems with 60Hz illumination
1131sources.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132 </li>
1133 <li>
1134 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001135 <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
1136antibanding routine to the current illumination
1137conditions.<wbr/> This is the default.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001138 </li>
1139 </ul>
1140
1141 </td> <!-- entry_type -->
1142
1143 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001144 <p>The desired setting for the camera device's auto-exposure
1145algorithm's antibanding compensation.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001146 </td>
1147
1148 <td class="entry_units">
1149 </td>
1150
1151 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001152 <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 -08001153 </td>
1154
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001155 <td class="entry_tags">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001156 <ul class="entry_tags">
1157 <li><a href="#tag_BC">BC</a></li>
1158 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001159 </td>
1160
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001161 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001162 <tr class="entries_header">
1163 <th class="th_details" colspan="5">Details</th>
1164 </tr>
1165 <tr class="entry_cont">
1166 <td class="entry_details" colspan="5">
1167 <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
1168lights,<wbr/> flicker at the rate of the power supply frequency
1169(60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
1170typically not noticeable to a person,<wbr/> it can be visible to
1171a camera device.<wbr/> If a camera sets its exposure time to the
1172wrong value,<wbr/> the flicker may become visible in the
1173viewfinder as flicker or in a final captured image,<wbr/> as a
1174set of variable-brightness bands across the image.<wbr/></p>
1175<p>Therefore,<wbr/> the auto-exposure routines of camera devices
1176include antibanding routines that ensure that the chosen
1177exposure value will not cause such banding.<wbr/> The choice of
1178exposure time depends on the rate of flicker,<wbr/> which the
1179camera device can detect automatically,<wbr/> or the expected
1180rate can be selected by the application using this
1181control.<wbr/></p>
1182<p>A given camera device may not support all of the possible
1183options for the antibanding mode.<wbr/> The
1184<a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
1185the available modes for a given camera device.<wbr/></p>
1186<p>The default mode is AUTO,<wbr/> which must be supported by all
1187camera devices.<wbr/></p>
1188<p>If manual exposure control is enabled (by setting
1189<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/>
1190then this setting has no effect,<wbr/> and the application must
1191ensure it selects exposure times that do not cause banding
1192issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
1193the application in this.<wbr/></p>
1194 </td>
1195 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001196
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08001197 <tr class="entries_header">
1198 <th class="th_details" colspan="5">HAL Implementation Details</th>
1199 </tr>
1200 <tr class="entry_cont">
1201 <td class="entry_details" colspan="5">
1202 <p>For all capture request templates,<wbr/> this field must be set
1203to AUTO.<wbr/> AUTO is the only mode that must supported;
1204OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
1205<p>If manual exposure control is enabled (by setting
1206<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/>
1207then the exposure values provided by the application must not be
1208adjusted for antibanding.<wbr/></p>
1209 </td>
1210 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001211
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001212 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1213 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001214
1215
1216 <tr class="entry" id="controls_android.control.aeExposureCompensation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001217 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001218 android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001219 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001220 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001221 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001222
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001223 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001224
1225
1226 </td> <!-- entry_type -->
1227
1228 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001229 <p>Adjustment to AE target image
1230brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001231 </td>
1232
1233 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08001234 count of positive/<wbr/>negative EV steps
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001235 </td>
1236
1237 <td class="entry_range">
1238 </td>
1239
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001240 <td class="entry_tags">
1241 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001242 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001243 </ul>
1244 </td>
1245
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001246 </tr>
1247 <tr class="entries_header">
1248 <th class="th_details" colspan="5">Details</th>
1249 </tr>
1250 <tr class="entry_cont">
1251 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001252 <p>For example,<wbr/> if EV step is 0.<wbr/>333,<wbr/> '6' will mean an
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001253exposure compensation of +2 EV; -3 will mean an exposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001254compensation of -1</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001255 </td>
1256 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001257
1258
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001259 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1260 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261
1262
1263 <tr class="entry" id="controls_android.control.aeLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001264 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001265 android.<wbr/>control.<wbr/>ae<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001266 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001267 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001268 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001269
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001270 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001271
1272 <ul class="entry_type_enum">
1273 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001274 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001275 <span class="entry_type_enum_notes"><p>Autoexposure lock is disabled; the AE algorithm
1276is free to update its parameters.<wbr/></p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001277 </li>
1278 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001279 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001280 <span class="entry_type_enum_notes"><p>Autoexposure lock is enabled; the AE algorithm
1281must not update the exposure and sensitivity parameters
1282while the lock is active</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001283 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001284 </ul>
1285
1286 </td> <!-- entry_type -->
1287
1288 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001289 <p>Whether AE is currently locked to its latest
1290calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001291 </td>
1292
1293 <td class="entry_units">
1294 </td>
1295
1296 <td class="entry_range">
1297 </td>
1298
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001299 <td class="entry_tags">
1300 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001301 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001302 </ul>
1303 </td>
1304
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001305 </tr>
1306 <tr class="entries_header">
1307 <th class="th_details" colspan="5">Details</th>
1308 </tr>
1309 <tr class="entry_cont">
1310 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001311 <p>Note that even when AE is locked,<wbr/> the flash may be
1312fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
1313ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001314 </td>
1315 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001316
1317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001318 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1319 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001320
1321
1322 <tr class="entry" id="controls_android.control.aeMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001323 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001324 android.<wbr/>control.<wbr/>ae<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001325 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001326 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001327 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001328
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001329 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001330
1331 <ul class="entry_type_enum">
1332 <li>
1333 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001334 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
1335the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1336<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
1337<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
1338device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
1339a flash unit for this camera device.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001340 </li>
1341 <li>
1342 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001343 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
1344with no flash control.<wbr/> The application's values for
1345<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1346<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1347<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
1348application has control over the various
1349android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001350 </li>
1351 <li>
1352 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001353 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1354the camera's flash unit,<wbr/> firing it in low-light
1355conditions.<wbr/> The flash may be fired during a
1356precapture sequence (triggered by
1357<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
1358for captures for which the
1359<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1360STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001361 </li>
1362 <li>
1363 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001364 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
1365the camera's flash unit,<wbr/> always firing it for still
1366captures.<wbr/> The flash may be fired during a precapture
1367sequence (triggered by
1368<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
1369be fired for captures for which the
1370<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
1371STILL_<wbr/>CAPTURE</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001372 </li>
1373 <li>
1374 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001375 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
1376reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
1377a red eye reduction flash will fire during the
1378precapture sequence.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001379 </li>
1380 </ul>
1381
1382 </td> <!-- entry_type -->
1383
1384 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001385 <p>The desired mode for the camera device's
1386auto-exposure routine.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001387 </td>
1388
1389 <td class="entry_units">
1390 </td>
1391
1392 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001393 <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 -08001394 </td>
1395
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001396 <td class="entry_tags">
1397 <ul class="entry_tags">
1398 <li><a href="#tag_BC">BC</a></li>
1399 </ul>
1400 </td>
1401
1402 </tr>
1403 <tr class="entries_header">
1404 <th class="th_details" colspan="5">Details</th>
1405 </tr>
1406 <tr class="entry_cont">
1407 <td class="entry_details" colspan="5">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08001408 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
1409AUTO.<wbr/></p>
1410<p>When set to any of the ON modes,<wbr/> the camera device's
1411auto-exposure routine is enabled,<wbr/> overriding the
1412application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
1413and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
1414<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
1415<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
1416is selected,<wbr/> the camera device's flash unit controls are
1417also overridden.<wbr/></p>
1418<p>The FLASH modes are only available if the camera device
1419has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
1420<p>If flash TORCH mode is desired,<wbr/> this field must be set to
1421ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
1422<p>When set to any of the ON modes,<wbr/> the values chosen by the
1423camera device auto-exposure routine for the overridden
1424fields for a given capture will be available in its
1425CaptureResult.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001426 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001427 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001428
1429
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001430 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1431 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001432
1433
1434 <tr class="entry" id="controls_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001435 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001436 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001437 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001438 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001439 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001440 <span class="entry_type_container">x</span>
1441
1442 <span class="entry_type_array">
1443 5 x area_count
1444 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001445 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001446
1447
1448 </td> <!-- entry_type -->
1449
1450 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001451 <p>List of areas to use for
1452metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001453 </td>
1454
1455 <td class="entry_units">
1456 </td>
1457
1458 <td class="entry_range">
1459 </td>
1460
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001461 <td class="entry_tags">
1462 <ul class="entry_tags">
1463 <li><a href="#tag_BC">BC</a></li>
1464 </ul>
1465 </td>
1466
1467 </tr>
1468 <tr class="entries_header">
1469 <th class="th_details" colspan="5">Details</th>
1470 </tr>
1471 <tr class="entry_cont">
1472 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001473 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1474xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1475specified coordinates.<wbr/></p>
1476<p>The coordinate system is based on the active pixel array,<wbr/>
1477with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001478(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1479<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 -08001480bottom-right pixel in the active pixel array.<wbr/> The weight
1481should be nonnegative.<wbr/></p>
1482<p>If all regions have 0 weight,<wbr/> then no specific metering area
1483needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001484outside 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 -08001485should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001486used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001487 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001488 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001489
1490
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001491 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1492 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001493
1494
1495 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001496 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001497 android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001498 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001499 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001500 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 <span class="entry_type_container">x</span>
1502
1503 <span class="entry_type_array">
1504 2
1505 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001507
1508
1509 </td> <!-- entry_type -->
1510
1511 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001512 <p>Range over which fps can be adjusted to
1513maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001514 </td>
1515
1516 <td class="entry_units">
1517 </td>
1518
1519 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001520 <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 -08001521 </td>
1522
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001523 <td class="entry_tags">
1524 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001525 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001526 </ul>
1527 </td>
1528
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001529 </tr>
1530 <tr class="entries_header">
1531 <th class="th_details" colspan="5">Details</th>
1532 </tr>
1533 <tr class="entry_cont">
1534 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001535 <p>Only constrains AE algorithm,<wbr/> not manual control
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001536of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001537 </td>
1538 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001539
1540
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001541 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1542 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001543
1544
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001545 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001546 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001547 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001548 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001549 <td class="entry_type">
1550 <span class="entry_type_name entry_type_name_enum">byte</span>
1551
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001552 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001553
1554 <ul class="entry_type_enum">
1555 <li>
1556 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001557 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001558 </li>
1559 <li>
1560 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001561 <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
1562by the camera device.<wbr/> The exact effect of the precapture
1563trigger depends on the current AE mode and state.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001564 </li>
1565 </ul>
1566
1567 </td> <!-- entry_type -->
1568
1569 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001570 <p>Whether the camera device will trigger a precapture
1571metering sequence when it processes this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001572 </td>
1573
1574 <td class="entry_units">
1575 </td>
1576
1577 <td class="entry_range">
1578 </td>
1579
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001580 <td class="entry_tags">
1581 <ul class="entry_tags">
1582 <li><a href="#tag_BC">BC</a></li>
1583 </ul>
1584 </td>
1585
1586 </tr>
1587 <tr class="entries_header">
1588 <th class="th_details" colspan="5">Details</th>
1589 </tr>
1590 <tr class="entry_cont">
1591 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001592 <p>This entry is normally set to IDLE,<wbr/> or is not
1593included at all in the request settings.<wbr/> When included and
Zhijun He92e698d2014-01-13 16:24:31 -08001594set to START,<wbr/> the camera device will trigger the autoexposure
Igor Murashkin0b080452013-12-27 15:30:25 -08001595precapture metering sequence.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001596<p>The effect of AE precapture trigger depends on the current
Zhijun He92e698d2014-01-13 16:24:31 -08001597AE mode and state; see <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture
1598state transition details.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001599 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001600 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001601
1602
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001603 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1604 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001605
1606
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001607 <tr class="entry" id="controls_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001608 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001609 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001610 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001611 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001612 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001613
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001614 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001615
1616 <ul class="entry_type_enum">
1617 <li>
1618 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001619 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
1620<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
1621application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001622 </li>
1623 <li>
1624 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001625 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
1626<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
1627is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
1628the autofocus trigger action is called.<wbr/> When that trigger
1629is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
1630the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
1631<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
1632and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001636 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
1637autofocus trigger action is called.<wbr/></p>
1638<p>When that trigger is activated,<wbr/> AF must transition to
1639ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
1640NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
1641position to default,<wbr/> and sets the AF state to
1642INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001643 </li>
1644 <li>
1645 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001646 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1647position continually to attempt to provide a
1648constantly-in-focus image stream.<wbr/></p>
1649<p>The focusing behavior should be suitable for good quality
1650video recording; typically this means slower focus
1651movement and no overshoots.<wbr/> When the AF trigger is not
1652involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
1653and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
1654states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
1655the algorithm should immediately transition into
1656AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1657lens position until a cancel AF trigger is received.<wbr/></p>
1658<p>Once cancel is received,<wbr/> the algorithm should transition
1659back to INACTIVE and resume passive scan.<wbr/> Note that this
1660behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
1661ongoing PASSIVE_<wbr/>SCAN must immediately be
1662canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001663 </li>
1664 <li>
1665 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001666 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
1667position continually to attempt to provide a
1668constantly-in-focus image stream.<wbr/></p>
1669<p>The focusing behavior should be suitable for still image
1670capture; typically this means focusing as fast as
1671possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
1672algorithm should start in INACTIVE state,<wbr/> and then
1673transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
1674appropriate as it attempts to maintain focus.<wbr/> When the AF
1675trigger is activated,<wbr/> the algorithm should finish its
1676PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
1677AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
1678lens position until a cancel AF trigger is received.<wbr/></p>
1679<p>When the AF cancel trigger is activated,<wbr/> the algorithm
1680should transition back to INACTIVE and then act as if it
1681has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682 </li>
1683 <li>
1684 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001685 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
1686trigger is ignored,<wbr/> AF state should always be
1687INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001688 </li>
1689 </ul>
1690
1691 </td> <!-- entry_type -->
1692
1693 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001694 <p>Whether AF is currently enabled,<wbr/> and what
1695mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001696 </td>
1697
1698 <td class="entry_units">
1699 </td>
1700
1701 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08001702 <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 -08001703 </td>
1704
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001705 <td class="entry_tags">
1706 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001707 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001708 </ul>
1709 </td>
1710
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001711 </tr>
1712 <tr class="entries_header">
1713 <th class="th_details" colspan="5">Details</th>
1714 </tr>
1715 <tr class="entry_cont">
1716 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001717 <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 -08001718<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
1719the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
1720in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001721 </td>
1722 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001723
1724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001725 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1726 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001727
1728
1729 <tr class="entry" id="controls_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001730 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001731 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001732 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001734 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001735 <span class="entry_type_container">x</span>
1736
1737 <span class="entry_type_array">
1738 5 x area_count
1739 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001740 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001741
1742
1743 </td> <!-- entry_type -->
1744
1745 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001746 <p>List of areas to use for focus
1747estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001748 </td>
1749
1750 <td class="entry_units">
1751 </td>
1752
1753 <td class="entry_range">
1754 </td>
1755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001756 <td class="entry_tags">
1757 <ul class="entry_tags">
1758 <li><a href="#tag_BC">BC</a></li>
1759 </ul>
1760 </td>
1761
1762 </tr>
1763 <tr class="entries_header">
1764 <th class="th_details" colspan="5">Details</th>
1765 </tr>
1766 <tr class="entry_cont">
1767 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001768 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
1769xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
1770specified coordinates.<wbr/></p>
1771<p>The coordinate system is based on the active pixel array,<wbr/>
1772with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001773(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
1774<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 -08001775bottom-right pixel in the active pixel array.<wbr/> The weight
1776should be nonnegative.<wbr/></p>
1777<p>If all regions have 0 weight,<wbr/> then no specific focus area
1778needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08001779outside 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 -08001780should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08001781used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001782 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001783 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001784
1785
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001786 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1787 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001788
1789
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001790 <tr class="entry" id="controls_android.control.afTrigger">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001791 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001792 android.<wbr/>control.<wbr/>af<wbr/>Trigger
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001793 </td>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001794 <td class="entry_type">
1795 <span class="entry_type_name entry_type_name_enum">byte</span>
1796
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001797 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001798
1799 <ul class="entry_type_enum">
1800 <li>
1801 <span class="entry_type_enum_name">IDLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001802 <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001803 </li>
1804 <li>
1805 <span class="entry_type_enum_name">START</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001806 <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001807 </li>
1808 <li>
1809 <span class="entry_type_enum_name">CANCEL</span>
Zhijun He92e698d2014-01-13 16:24:31 -08001810 <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
1811state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001812 </li>
1813 </ul>
1814
1815 </td> <!-- entry_type -->
1816
1817 <td class="entry_description">
Zhijun He92e698d2014-01-13 16:24:31 -08001818 <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001819 </td>
1820
1821 <td class="entry_units">
1822 </td>
1823
1824 <td class="entry_range">
1825 </td>
1826
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001827 <td class="entry_tags">
1828 <ul class="entry_tags">
1829 <li><a href="#tag_BC">BC</a></li>
1830 </ul>
1831 </td>
1832
1833 </tr>
1834 <tr class="entries_header">
1835 <th class="th_details" colspan="5">Details</th>
1836 </tr>
1837 <tr class="entry_cont">
1838 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001839 <p>This entry is normally set to IDLE,<wbr/> or is not
1840included at all in the request settings.<wbr/></p>
Zhijun He92e698d2014-01-13 16:24:31 -08001841<p>When included and set to START,<wbr/> the camera device will trigger the
1842autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
1843<p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
1844and return to its initial AF state.<wbr/></p>
1845<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 -07001846 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001847 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001848
1849
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001850 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1851 <!-- end of entry -->
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001852
1853
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001854 <tr class="entry" id="controls_android.control.awbLock">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001855 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001856 android.<wbr/>control.<wbr/>awb<wbr/>Lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001857 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001858 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001859 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001860
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001861 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001862
1863 <ul class="entry_type_enum">
1864 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001865 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001866 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is disabled; the AWB
1867algorithm is free to update its parameters if in AUTO
1868mode.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001869 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001870 <li>
1871 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001872 <span class="entry_type_enum_notes"><p>Auto-whitebalance lock is enabled; the AWB
1873algorithm must not update the exposure and sensitivity
1874parameters while the lock is active</p></span>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001875 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001876 </ul>
1877
1878 </td> <!-- entry_type -->
1879
1880 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001881 <p>Whether AWB is currently locked to its
1882latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001883 </td>
1884
1885 <td class="entry_units">
1886 </td>
1887
1888 <td class="entry_range">
1889 </td>
1890
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001891 <td class="entry_tags">
1892 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001893 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001894 </ul>
1895 </td>
1896
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001897 </tr>
1898 <tr class="entries_header">
1899 <th class="th_details" colspan="5">Details</th>
1900 </tr>
1901 <tr class="entry_cont">
1902 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08001903 <p>Note that AWB lock is only meaningful for AUTO
1904mode; in other modes,<wbr/> AWB is already fixed to a specific
1905setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001906 </td>
1907 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001908
1909
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08001910 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
1911 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001912
1913
1914 <tr class="entry" id="controls_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001915 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08001916 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08001917 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001918 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001919 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001920
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001921 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001922
1923 <ul class="entry_type_enum">
1924 <li>
1925 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001926 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1927the application-selected color transform matrix
1928(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
1929(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
1930device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001931 </li>
1932 <li>
1933 <span class="entry_type_enum_name">AUTO</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 active;
1935the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
1936and <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 -08001937 </li>
1938 <li>
1939 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001940 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1941the camera device uses incandescent light as the assumed scene
1942illumination for white balance.<wbr/> While the exact white balance
1943transforms are up to the camera device,<wbr/> they will approximately
1944match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001945 </li>
1946 <li>
1947 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001948 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1949the camera device uses fluorescent light as the assumed scene
1950illumination for white balance.<wbr/> While the exact white balance
1951transforms are up to the camera device,<wbr/> they will approximately
1952match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001953 </li>
1954 <li>
1955 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001956 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1957the camera device uses warm fluorescent light as the assumed scene
1958illumination for white balance.<wbr/> While the exact white balance
1959transforms are up to the camera device,<wbr/> they will approximately
1960match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001961 </li>
1962 <li>
1963 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001964 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1965the camera device uses daylight light as the assumed scene
1966illumination for white balance.<wbr/> While the exact white balance
1967transforms are up to the camera device,<wbr/> they will approximately
1968match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001969 </li>
1970 <li>
1971 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</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 cloudy daylight 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">TWILIGHT</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 twilight light as the assumed scene
1980illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001981 </li>
1982 <li>
1983 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08001984 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
1985the camera device uses shade light as the assumed scene
1986illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001987 </li>
1988 </ul>
1989
1990 </td> <!-- entry_type -->
1991
1992 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08001993 <p>Whether AWB is currently setting the color
1994transform fields,<wbr/> and what its illumination target
1995is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001996 </td>
1997
1998 <td class="entry_units">
1999 </td>
2000
2001 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08002002 <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 -08002003 </td>
2004
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002005 <td class="entry_tags">
2006 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002007 <li><a href="#tag_BC">BC</a></li>
2008 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002009 </ul>
2010 </td>
2011
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002012 </tr>
2013 <tr class="entries_header">
2014 <th class="th_details" colspan="5">Details</th>
2015 </tr>
2016 <tr class="entry_cont">
2017 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08002018 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
2019<p>When set to the ON mode,<wbr/> the camera device's auto white balance
2020routine is enabled,<wbr/> overriding the application's selected
2021<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
2022<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2023<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
2024routine is disabled.<wbr/> The applicantion manually controls the white
2025balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
2026and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
2027<p>When set to any other modes,<wbr/> the camera device's auto white balance
2028routine is disabled.<wbr/> The camera device uses each particular illumination
2029target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002030 </td>
2031 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002032
2033
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002034 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2035 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002036
2037
2038 <tr class="entry" id="controls_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002039 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002040 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002041 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002042 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002043 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002044 <span class="entry_type_container">x</span>
2045
2046 <span class="entry_type_array">
2047 5 x area_count
2048 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002049 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002050
2051
2052 </td> <!-- entry_type -->
2053
2054 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002055 <p>List of areas to use for illuminant
2056estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002057 </td>
2058
2059 <td class="entry_units">
2060 </td>
2061
2062 <td class="entry_range">
2063 </td>
2064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002065 <td class="entry_tags">
2066 <ul class="entry_tags">
2067 <li><a href="#tag_BC">BC</a></li>
2068 </ul>
2069 </td>
2070
2071 </tr>
2072 <tr class="entries_header">
2073 <th class="th_details" colspan="5">Details</th>
2074 </tr>
2075 <tr class="entry_cont">
2076 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002077 <p>Only used in AUTO mode.<wbr/></p>
2078<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
2079xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
2080specified coordinates.<wbr/></p>
2081<p>The coordinate system is based on the active pixel array,<wbr/>
2082with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002083(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
2084<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 -08002085bottom-right pixel in the active pixel array.<wbr/> The weight
2086should be nonnegative.<wbr/></p>
2087<p>If all regions have 0 weight,<wbr/> then no specific metering area
2088needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002089outside 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 -08002090should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08002091used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002092 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002093 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002094
2095
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002096 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2097 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002098
2099
2100 <tr class="entry" id="controls_android.control.captureIntent">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002101 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002102 android.<wbr/>control.<wbr/>capture<wbr/>Intent
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002103 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002104 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002105 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002106
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002107 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002108
2109 <ul class="entry_type_enum">
2110 <li>
2111 <span class="entry_type_enum_name">CUSTOM</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002112 <span class="entry_type_enum_notes"><p>This request doesn't fall into the other
2113categories.<wbr/> Default to preview-like
2114behavior.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002115 </li>
2116 <li>
2117 <span class="entry_type_enum_name">PREVIEW</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002118 <span class="entry_type_enum_notes"><p>This request is for a preview-like usecase.<wbr/> The
2119precapture trigger may be used to start off a metering
2120w/<wbr/>flash sequence</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002121 </li>
2122 <li>
2123 <span class="entry_type_enum_name">STILL_CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002124 <span class="entry_type_enum_notes"><p>This request is for a still capture-type
2125usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002126 </li>
2127 <li>
2128 <span class="entry_type_enum_name">VIDEO_RECORD</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002129 <span class="entry_type_enum_notes"><p>This request is for a video recording
2130usecase.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002131 </li>
2132 <li>
2133 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002134 <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
2135image while recording video) usecase</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002136 </li>
2137 <li>
2138 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002139 <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
2140application will stream full-resolution images and
2141reprocess one or several later for a final
2142capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002143 </li>
2144 </ul>
2145
2146 </td> <!-- entry_type -->
2147
2148 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08002149 <p>Information to the camera device 3A (auto-exposure,<wbr/>
2150auto-focus,<wbr/> auto-white balance) routines about the purpose
2151of this capture,<wbr/> to help the camera device to decide optimal 3A
2152strategy.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002153 </td>
2154
2155 <td class="entry_units">
2156 </td>
2157
2158 <td class="entry_range">
Zhijun Heea27bc32014-01-15 13:47:59 -08002159 <p>All must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002160 </td>
2161
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002162 <td class="entry_tags">
2163 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002164 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002165 </ul>
2166 </td>
2167
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002168 </tr>
2169 <tr class="entries_header">
2170 <th class="th_details" colspan="5">Details</th>
2171 </tr>
2172 <tr class="entry_cont">
2173 <td class="entry_details" colspan="5">
Zhijun Heea27bc32014-01-15 13:47:59 -08002174 <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
2175and any 3A routine is active.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002176 </td>
2177 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002178
2179
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002180 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2181 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002182
2183
2184 <tr class="entry" id="controls_android.control.effectMode">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002185 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002186 android.<wbr/>control.<wbr/>effect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002187 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002188 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002189 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002190
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002191 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002192
2193 <ul class="entry_type_enum">
2194 <li>
2195 <span class="entry_type_enum_name">OFF</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002196 <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002197 </li>
2198 <li>
2199 <span class="entry_type_enum_name">MONO</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 "monocolor" effect where the image is mapped into
2202a single color.<wbr/> This will typically be grayscale.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002203 </li>
2204 <li>
2205 <span class="entry_type_enum_name">NEGATIVE</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 "photo-negative" effect where the image's colors
2208are inverted.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002209 </li>
2210 <li>
2211 <span class="entry_type_enum_name">SOLARIZE</span>
2212 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002213 <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
2214image is wholly or partially reversed in
2215tone.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002216 </li>
2217 <li>
2218 <span class="entry_type_enum_name">SEPIA</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 "sepia" effect where the image is mapped into warm
2221gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002222 </li>
2223 <li>
2224 <span class="entry_type_enum_name">POSTERIZE</span>
2225 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002226 <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
2227discrete regions of tone rather than a continuous
2228gradient of tones.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002229 </li>
2230 <li>
2231 <span class="entry_type_enum_name">WHITEBOARD</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 "whiteboard" effect where the image is typically displayed
2234as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002235 </li>
2236 <li>
2237 <span class="entry_type_enum_name">BLACKBOARD</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>A "blackboard" effect where the image is typically displayed
2240as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002241 </li>
2242 <li>
2243 <span class="entry_type_enum_name">AQUA</span>
2244 <span class="entry_type_enum_optional">optional</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002245 <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 -08002246 </li>
2247 </ul>
2248
2249 </td> <!-- entry_type -->
2250
2251 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002252 <p>A special color effect to apply.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002253 </td>
2254
2255 <td class="entry_units">
2256 </td>
2257
2258 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002259 <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002260 </td>
2261
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002262 <td class="entry_tags">
2263 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002264 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002265 </ul>
2266 </td>
2267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002268 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002269 <tr class="entries_header">
2270 <th class="th_details" colspan="5">Details</th>
2271 </tr>
2272 <tr class="entry_cont">
2273 <td class="entry_details" colspan="5">
2274 <p>When this mode is set,<wbr/> a color effect will be applied
2275to images produced by the camera device.<wbr/> The interpretation
2276and implementation of these color effects is left to the
2277implementor of the camera device,<wbr/> and should not be
2278depended on to be consistent (or present) across all
2279devices.<wbr/></p>
2280<p>A color effect will only be applied if
2281<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2282 </td>
2283 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002284
2285
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002286 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2287 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002288
2289
2290 <tr class="entry" id="controls_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002291 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002292 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002293 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002295 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002297 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002298
2299 <ul class="entry_type_enum">
2300 <li>
2301 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002302 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
2303routines are disabled,<wbr/> no other settings in
2304android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002305 </li>
2306 <li>
2307 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002308 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
2309Manual control of capture parameters is disabled.<wbr/> All
2310controls in android.<wbr/>control.<wbr/>* besides sceneMode take
2311effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002312 </li>
2313 <li>
2314 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08002315 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
2316control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
2317controls; the HAL must ignore those settings while
2318USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
2319scene mode).<wbr/> Other control entries are still active.<wbr/>
2320This setting can only be used if availableSceneModes !=
2321UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002322 </li>
2323 </ul>
2324
2325 </td> <!-- entry_type -->
2326
2327 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002328 <p>Overall mode of 3A control
2329routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002330 </td>
2331
2332 <td class="entry_units">
2333 </td>
2334
2335 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002336 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002337 </td>
2338
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002339 <td class="entry_tags">
2340 <ul class="entry_tags">
2341 <li><a href="#tag_BC">BC</a></li>
2342 </ul>
2343 </td>
2344
2345 </tr>
2346 <tr class="entries_header">
2347 <th class="th_details" colspan="5">Details</th>
2348 </tr>
2349 <tr class="entry_cont">
2350 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002351 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002352by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08002353capture parameters itself.<wbr/></p>
2354<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002355android.<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 -08002356<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002357android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08002358one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08002359as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002360<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 -08002361 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002362 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002363
2364
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002365 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2366 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002367
2368
2369 <tr class="entry" id="controls_android.control.sceneMode">
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002370 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002371 android.<wbr/>control.<wbr/>scene<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002372 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002373 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002374 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002375
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002376 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002377
2378 <ul class="entry_type_enum">
2379 <li>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002380 <span class="entry_type_enum_name">DISABLED</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002381 <span class="entry_type_enum_value">0</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002382 <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 -08002383 </li>
2384 <li>
2385 <span class="entry_type_enum_name">FACE_PRIORITY</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002386 <span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
2387detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
2388auto-exposure routines.<wbr/> If face detection statistics are
2389disabled (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/>
2390this should still operate correctly (but will not return
2391face detection statistics to the framework).<wbr/></p>
2392<p>Unlike the other scene modes,<wbr/> <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
2393<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and android.<wbr/>control.<wbr/>af<wbr/>Mode
2394remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 </li>
2396 <li>
2397 <span class="entry_type_enum_name">ACTION</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 photos of quickly moving objects.<wbr/>
2400Similar to SPORTS.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002401 </li>
2402 <li>
2403 <span class="entry_type_enum_name">PORTRAIT</span>
2404 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002405 <span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002406 </li>
2407 <li>
2408 <span class="entry_type_enum_name">LANDSCAPE</span>
2409 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002410 <span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002411 </li>
2412 <li>
2413 <span class="entry_type_enum_name">NIGHT</span>
2414 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002415 <span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002416 </li>
2417 <li>
2418 <span class="entry_type_enum_name">NIGHT_PORTRAIT</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 still photos of people in low-light
2421settings.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002422 </li>
2423 <li>
2424 <span class="entry_type_enum_name">THEATRE</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 dim,<wbr/> indoor settings where flash must
2427remain off.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002428 </li>
2429 <li>
2430 <span class="entry_type_enum_name">BEACH</span>
2431 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002432 <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002433 </li>
2434 <li>
2435 <span class="entry_type_enum_name">SNOW</span>
2436 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002437 <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 -08002438 </li>
2439 <li>
2440 <span class="entry_type_enum_name">SUNSET</span>
2441 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002442 <span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002443 </li>
2444 <li>
2445 <span class="entry_type_enum_name">STEADYPHOTO</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 to avoid blurry photos due to small amounts of
2448device motion (for example: due to hand shake).<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002449 </li>
2450 <li>
2451 <span class="entry_type_enum_name">FIREWORKS</span>
2452 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002453 <span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002454 </li>
2455 <li>
2456 <span class="entry_type_enum_name">SPORTS</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 photos of quickly moving people.<wbr/>
2459Similar to ACTION.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002460 </li>
2461 <li>
2462 <span class="entry_type_enum_name">PARTY</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,<wbr/> indoor settings with multiple moving
2465people.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002466 </li>
2467 <li>
2468 <span class="entry_type_enum_name">CANDLELIGHT</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 dim settings where the main light source
2471is a flame.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002472 </li>
2473 <li>
2474 <span class="entry_type_enum_name">BARCODE</span>
2475 <span class="entry_type_enum_optional">optional</span>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002476 <span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
2477for use by camera applications that wish to read the
2478barcode value.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002479 </li>
2480 </ul>
2481
2482 </td> <!-- entry_type -->
2483
2484 <td class="entry_description">
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002485 <p>A camera mode optimized for conditions typical in a particular
2486capture setting.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002487 </td>
2488
2489 <td class="entry_units">
2490 </td>
2491
2492 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002493 <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 -08002494 </td>
2495
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002496 <td class="entry_tags">
2497 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002498 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002499 </ul>
2500 </td>
2501
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002502 </tr>
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002503 <tr class="entries_header">
2504 <th class="th_details" colspan="5">Details</th>
2505 </tr>
2506 <tr class="entry_cont">
2507 <td class="entry_details" colspan="5">
2508 <p>This is the mode that that is active when
2509<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/>
2510these modes will disable <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
2511<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>
2512<p>The interpretation and implementation of these scene modes is left
2513to the implementor of the camera device.<wbr/> Their behavior will not be
2514consistent across all devices,<wbr/> and any given device may only implement
2515a subset of these modes.<wbr/></p>
2516 </td>
2517 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002518
Ruben Brunk9e28ea72014-01-14 18:55:29 -08002519 <tr class="entries_header">
2520 <th class="th_details" colspan="5">HAL Implementation Details</th>
2521 </tr>
2522 <tr class="entry_cont">
2523 <td class="entry_details" colspan="5">
2524 <p>HAL implementations that include scene modes are expected to provide
2525the per-scene settings to use for <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
2526<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
2527<a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
2528 </td>
2529 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002530
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002531 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2532 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002533
2534
2535 <tr class="entry" id="controls_android.control.videoStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002536 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002537 android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002538 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002539 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002540 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002541
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002542 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543
2544 <ul class="entry_type_enum">
2545 <li>
2546 <span class="entry_type_enum_name">OFF</span>
2547 </li>
2548 <li>
2549 <span class="entry_type_enum_name">ON</span>
2550 </li>
2551 </ul>
2552
2553 </td> <!-- entry_type -->
2554
2555 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002556 <p>Whether video stabilization is
2557active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002558 </td>
2559
2560 <td class="entry_units">
2561 </td>
2562
2563 <td class="entry_range">
2564 </td>
2565
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002566 <td class="entry_tags">
2567 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002568 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002569 </ul>
2570 </td>
2571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002572 </tr>
2573 <tr class="entries_header">
2574 <th class="th_details" colspan="5">Details</th>
2575 </tr>
2576 <tr class="entry_cont">
2577 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08002578 <p>If enabled,<wbr/> video stabilization can modify the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002579<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 -08002580stabilized</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002581 </td>
2582 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002583
2584
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002585 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2586 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002587
2588
2589
2590 <!-- end of kind -->
2591 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002592 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002593
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002594 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002595 <tr>
2596 <th class="th_name">Property Name</th>
2597 <th class="th_type">Type</th>
2598 <th class="th_description">Description</th>
2599 <th class="th_units">Units</th>
2600 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002601 <th class="th_tags">Tags</th>
2602 </tr>
2603 </thead>
2604
2605 <tbody>
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002617 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002618 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002619 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002620 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002621 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002622 <span class="entry_type_container">x</span>
2623
2624 <span class="entry_type_array">
2625 n
2626 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002627 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002628 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002629
2630
2631 </td> <!-- entry_type -->
2632
2633 <td class="entry_description">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002634 <p>The set of auto-exposure antibanding modes that are
2635supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002636 </td>
2637
2638 <td class="entry_units">
2639 </td>
2640
2641 <td class="entry_range">
2642 </td>
2643
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002644 <td class="entry_tags">
2645 </td>
2646
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002647 </tr>
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -08002648 <tr class="entries_header">
2649 <th class="th_details" colspan="5">Details</th>
2650 </tr>
2651 <tr class="entry_cont">
2652 <td class="entry_details" colspan="5">
2653 <p>Not all of the auto-exposure anti-banding modes may be
2654supported by a given camera device.<wbr/> This field lists the
2655valid anti-banding modes that the application may request
2656for this camera device; they must include AUTO.<wbr/></p>
2657 </td>
2658 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002659
2660
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002661 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2662 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663
2664
2665 <tr class="entry" id="static_android.control.aeAvailableModes">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002666 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002667 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002668 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002670 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002671 <span class="entry_type_container">x</span>
2672
2673 <span class="entry_type_array">
2674 n
2675 </span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002676 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002677 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002678
2679
2680 </td> <!-- entry_type -->
2681
2682 <td class="entry_description">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002683 <p>The set of auto-exposure modes that are supported by this
2684camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002685 </td>
2686
2687 <td class="entry_units">
2688 </td>
2689
2690 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002691 </td>
2692
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002693 <td class="entry_tags">
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002694 <ul class="entry_tags">
2695 <li><a href="#tag_BC">BC</a></li>
2696 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002697 </td>
2698
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002699 </tr>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08002700 <tr class="entries_header">
2701 <th class="th_details" colspan="5">Details</th>
2702 </tr>
2703 <tr class="entry_cont">
2704 <td class="entry_details" colspan="5">
2705 <p>Not all the auto-exposure modes may be supported by a
2706given camera device,<wbr/> especially if no flash unit is
2707available.<wbr/> This entry lists the valid modes for
2708<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
2709<p>All camera devices support ON,<wbr/> and all camera devices with
2710flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
2711ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
2712<p>Full-capability camera devices always support OFF mode,<wbr/>
2713which enables application control of camera exposure time,<wbr/>
2714sensitivity,<wbr/> and frame duration.<wbr/></p>
2715 </td>
2716 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002717
2718
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002719 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2720 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002721
2722
2723 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002724 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002725 android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002726 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002728 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002729 <span class="entry_type_container">x</span>
2730
2731 <span class="entry_type_array">
2732 2 x n
2733 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002735 <div class="entry_type_notes">list of pairs of frame rates</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002736
2737
2738 </td> <!-- entry_type -->
2739
2740 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002741 <p>List of frame rate ranges supported by the
2742AE algorithm/<wbr/>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002743 </td>
2744
2745 <td class="entry_units">
2746 </td>
2747
2748 <td class="entry_range">
2749 </td>
2750
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002751 <td class="entry_tags">
2752 </td>
2753
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002754 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002755
2756
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002757 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2758 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002759
2760
2761 <tr class="entry" id="static_android.control.aeCompensationRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002762 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002763 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002764 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002765 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002766 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002767 <span class="entry_type_container">x</span>
2768
2769 <span class="entry_type_array">
2770 2
2771 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002772 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002773
2774
2775 </td> <!-- entry_type -->
2776
2777 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002778 <p>Maximum and minimum exposure compensation
2779setting,<wbr/> in counts of
2780android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step<wbr/>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002781 </td>
2782
2783 <td class="entry_units">
2784 </td>
2785
2786 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002787 <p>At least (-2,<wbr/>2)/<wbr/>(exp compensation step
2788size)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002789 </td>
2790
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002791 <td class="entry_tags">
2792 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002793 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002794 </ul>
2795 </td>
2796
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002797 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002798
2799
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002800 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2801 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002802
2803
2804 <tr class="entry" id="static_android.control.aeCompensationStep">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002805 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08002806 android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002807 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002809 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002810
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002811 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002812
2813
2814 </td> <!-- entry_type -->
2815
2816 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002817 <p>Smallest step by which exposure compensation
2818can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002819 </td>
2820
2821 <td class="entry_units">
2822 </td>
2823
2824 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08002825 <p>&lt;= 1/<wbr/>2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002826 </td>
2827
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002828 <td class="entry_tags">
2829 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002830 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002831 </ul>
2832 </td>
2833
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002834 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002835
2836
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002837 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2838 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002839
2840
2841 <tr class="entry" id="static_android.control.afAvailableModes">
Zhijun Hef163fa92014-01-14 09:59:04 -08002842 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002843 android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002844 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002845 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002846 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002847 <span class="entry_type_container">x</span>
2848
2849 <span class="entry_type_array">
2850 n
2851 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002852 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08002853 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002854
2855
2856 </td> <!-- entry_type -->
2857
2858 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08002859 <p>List of AF modes that can be
Zhijun Hef163fa92014-01-14 09:59:04 -08002860selected with <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002861 </td>
2862
2863 <td class="entry_units">
2864 </td>
2865
2866 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002867 </td>
2868
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002869 <td class="entry_tags">
2870 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002871 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002872 </ul>
2873 </td>
2874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002875 </tr>
Zhijun Hef163fa92014-01-14 09:59:04 -08002876 <tr class="entries_header">
2877 <th class="th_details" colspan="5">Details</th>
2878 </tr>
2879 <tr class="entry_cont">
2880 <td class="entry_details" colspan="5">
2881 <p>Not all the auto-focus modes may be supported by a
2882given camera device.<wbr/> This entry lists the valid modes for
2883<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
2884<p>All camera devices will support OFF mode,<wbr/> and all camera devices with
2885adjustable 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>)
2886will support AUTO mode.<wbr/></p>
2887 </td>
2888 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002889
2890
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002891 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2892 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002893
2894
2895 <tr class="entry" id="static_android.control.availableEffects">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002896 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002897 android.<wbr/>control.<wbr/>available<wbr/>Effects
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002898 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002899 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002900 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002901 <span class="entry_type_container">x</span>
2902
2903 <span class="entry_type_array">
2904 n
2905 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002906 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002907 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>effect<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002908
2909
2910 </td> <!-- entry_type -->
2911
2912 <td class="entry_description">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002913 <p>List containing the subset of color effects
2914specified in <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a> that is supported by
2915this device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002916 </td>
2917
2918 <td class="entry_units">
2919 </td>
2920
2921 <td class="entry_range">
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002922 <p>Any subset of enums from those specified in
2923<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 -08002924 </td>
2925
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002926 <td class="entry_tags">
2927 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002928 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002929 </ul>
2930 </td>
2931
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002932 </tr>
Ruben Brunkb28b35f2014-01-14 17:17:19 -08002933 <tr class="entries_header">
2934 <th class="th_details" colspan="5">Details</th>
2935 </tr>
2936 <tr class="entry_cont">
2937 <td class="entry_details" colspan="5">
2938 <p>This list contains the color effect modes that can be applied to
2939images produced by the camera device.<wbr/> Only modes that have
2940been fully implemented for the current device may be included here.<wbr/>
2941Implementations are not expected to be consistent across all devices.<wbr/>
2942If no color effect modes are available for a device,<wbr/> this should
2943simply be set to OFF.<wbr/></p>
2944<p>A color effect will only be applied if
2945<a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/></p>
2946 </td>
2947 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002948
2949
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002950 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
2951 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952
2953
2954 <tr class="entry" id="static_android.control.availableSceneModes">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002955 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08002956 android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08002957 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002958 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002959 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960 <span class="entry_type_container">x</span>
2961
2962 <span class="entry_type_array">
2963 n
2964 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002965 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002966 <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002967
2968
2969 </td> <!-- entry_type -->
2970
2971 <td class="entry_description">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002972 <p>List containing a subset of scene modes
2973specified in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002974 </td>
2975
2976 <td class="entry_units">
2977 </td>
2978
2979 <td class="entry_range">
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002980 <p>Any subset of the enums specified in android.<wbr/>control.<wbr/>scene<wbr/>Mode
2981not including DISABLED,<wbr/> or solely DISABLED if no
2982scene modes are available.<wbr/> FACE_<wbr/>PRIORITY must be included
2983if 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 -08002984 </td>
2985
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002986 <td class="entry_tags">
2987 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002988 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002989 </ul>
2990 </td>
2991
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08002992 </tr>
Ruben Brunkbf870fc2014-01-14 17:46:58 -08002993 <tr class="entries_header">
2994 <th class="th_details" colspan="5">Details</th>
2995 </tr>
2996 <tr class="entry_cont">
2997 <td class="entry_details" colspan="5">
2998 <p>This list contains scene modes that can be set for the camera device.<wbr/>
2999Only scene modes that have been fully implemented for the
3000camera device may be included here.<wbr/> Implementations are not expected
3001to be consistent across all devices.<wbr/> If no scene modes are supported
3002by the camera device,<wbr/> this will be set to <code>[DISABLED]</code>.<wbr/></p>
3003 </td>
3004 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003005
3006
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003007 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3008 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003009
3010
3011 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003012 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003013 android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003014 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003015 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003016 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003017 <span class="entry_type_container">x</span>
3018
3019 <span class="entry_type_array">
3020 n
3021 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08003023 <div class="entry_type_notes">List of enums.<wbr/></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003024
3025
3026 </td> <!-- entry_type -->
3027
3028 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003029 <p>List of video stabilization modes that can
3030be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003031 </td>
3032
3033 <td class="entry_units">
3034 </td>
3035
3036 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003037 <p>OFF must be included</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003038 </td>
3039
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003040 <td class="entry_tags">
3041 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003042 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003043 </ul>
3044 </td>
3045
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003046 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003047
3048
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003049 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3050 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003051
3052
3053 <tr class="entry" id="static_android.control.awbAvailableModes">
Zhijun He7787f7f2014-01-14 16:30:31 -08003054 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003055 android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003056 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003057 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003058 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07003059 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003060
Alex Raya4251d92013-04-30 16:43:44 -07003061 <span class="entry_type_array">
3062 n
3063 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003064 <span class="entry_type_visibility"> [public]</span>
Zhijun He7787f7f2014-01-14 16:30:31 -08003065 <div class="entry_type_notes">List of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003066
3067
3068 </td> <!-- entry_type -->
3069
3070 <td class="entry_description">
Zhijun He7787f7f2014-01-14 16:30:31 -08003071 <p>The set of auto-white-balance modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>)
3072that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003073 </td>
3074
3075 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003076 </td>
3077
3078 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003079 </td>
3080
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003081 <td class="entry_tags">
3082 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003083 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003084 </ul>
3085 </td>
3086
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003087 </tr>
Zhijun He7787f7f2014-01-14 16:30:31 -08003088 <tr class="entries_header">
3089 <th class="th_details" colspan="5">Details</th>
3090 </tr>
3091 <tr class="entry_cont">
3092 <td class="entry_details" colspan="5">
3093 <p>Not all the auto-white-balance modes may be supported by a
3094given camera device.<wbr/> This entry lists the valid modes for
3095<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
3096<p>All camera devices will support ON mode.<wbr/></p>
3097<p>Full-capability camera devices will always support OFF mode,<wbr/>
3098which enables application control of white balance,<wbr/> by using
3099<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>
3100 </td>
3101 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003102
3103
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003104 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3105 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003106
3107
3108 <tr class="entry" id="static_android.control.maxRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003109 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08003110 android.<wbr/>control.<wbr/>max<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003111 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003112 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003113 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003114
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003115 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003116
3117
3118 </td> <!-- entry_type -->
3119
3120 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003121 <p>For AE,<wbr/> AWB,<wbr/> and AF,<wbr/> how many individual
3122regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003123 </td>
3124
3125 <td class="entry_units">
3126 </td>
3127
3128 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08003129 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003130 </td>
3131
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003132 <td class="entry_tags">
3133 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003134 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003135 </ul>
3136 </td>
3137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003138 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003139
3140
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003141 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3142 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003143
3144
3145 <tr class="entry" id="static_android.control.sceneModeOverrides">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003146 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003147 android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003148 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003149 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003150 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003151 <span class="entry_type_container">x</span>
3152
3153 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003154 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003155 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003156 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003157
3158
3159 </td> <!-- entry_type -->
3160
3161 <td class="entry_description">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003162 <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
3163settings to use with each available scene mode.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003164 </td>
3165
3166 <td class="entry_units">
3167 </td>
3168
3169 <td class="entry_range">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003170 <p>For each available scene mode,<wbr/> the list must contain three
3171entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3172<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
3173by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
3174where aeMode has the lowest index position.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003175 </td>
3176
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003177 <td class="entry_tags">
3178 <ul class="entry_tags">
3179 <li><a href="#tag_BC">BC</a></li>
3180 </ul>
3181 </td>
3182
3183 </tr>
3184 <tr class="entries_header">
3185 <th class="th_details" colspan="5">Details</th>
3186 </tr>
3187 <tr class="entry_cont">
3188 <td class="entry_details" colspan="5">
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003189 <p>When a scene mode is enabled,<wbr/> the camera device is expected
3190to 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/>
3191and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
3192that scene mode.<wbr/></p>
3193<p>The order of this list matches that of availableSceneModes,<wbr/>
3194with 3 entries for each mode.<wbr/> The overrides listed
3195for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
3196mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3197<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
3198used instead,<wbr/> matching the behavior when android.<wbr/>control.<wbr/>mode
3199is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
3200overrides should be set to 0.<wbr/></p>
3201<p>For example,<wbr/> if availableSceneModes contains
3202<code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
3203expects sceneModeOverrides to have 9 entries formatted like:
3204<code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
3205ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003206 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003207 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003208
Ruben Brunkcf77fe92014-01-14 19:31:21 -08003209 <tr class="entries_header">
3210 <th class="th_details" colspan="5">HAL Implementation Details</th>
3211 </tr>
3212 <tr class="entry_cont">
3213 <td class="entry_details" colspan="5">
3214 <p>To maintain backward compatibility,<wbr/> this list will be made available
3215in the static metadata of the camera service.<wbr/> The camera service will
3216use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
3217<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
3218mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
3219 </td>
3220 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003221
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003222 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3223 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003224
3225
3226
3227 <!-- end of kind -->
3228 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003229 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003231 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003232 <tr>
3233 <th class="th_name">Property Name</th>
3234 <th class="th_type">Type</th>
3235 <th class="th_description">Description</th>
3236 <th class="th_units">Units</th>
3237 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003238 <th class="th_tags">Tags</th>
3239 </tr>
3240 </thead>
3241
3242 <tbody>
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003254 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003255 android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003256 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003257 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003258 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003259
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003260 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003261
3262
3263 </td> <!-- entry_type -->
3264
3265 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003266 <p>The ID sent with the latest
3267CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003268 </td>
3269
3270 <td class="entry_units">
3271 </td>
3272
3273 <td class="entry_range">
3274 </td>
3275
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003276 <td class="entry_tags">
3277 </td>
3278
3279 </tr>
3280 <tr class="entries_header">
3281 <th class="th_details" colspan="5">Details</th>
3282 </tr>
3283 <tr class="entry_cont">
3284 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003285 <p>Must be 0 if no
3286CAMERA2_<wbr/>TRIGGER_<wbr/>PRECAPTURE_<wbr/>METERING trigger received yet
3287by HAL.<wbr/> Always updated even if AE algorithm ignores the
3288trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003289 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003290 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003291
3292
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003293 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3294 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003295
3296
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003297 <tr class="entry" id="dynamic_android.control.aeMode">
3298 <td class="entry_name" rowspan="3">
3299 android.<wbr/>control.<wbr/>ae<wbr/>Mode
3300 </td>
3301 <td class="entry_type">
3302 <span class="entry_type_name entry_type_name_enum">byte</span>
3303
3304 <span class="entry_type_visibility"> [public]</span>
3305
3306 <ul class="entry_type_enum">
3307 <li>
3308 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003309 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled;
3310the application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3311<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
3312<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
3313device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
3314a flash unit for this camera device.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003315 </li>
3316 <li>
3317 <span class="entry_type_enum_name">ON</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003318 <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
3319with no flash control.<wbr/> The application's values for
3320<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3321<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3322<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
3323application has control over the various
3324android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003325 </li>
3326 <li>
3327 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003328 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3329the camera's flash unit,<wbr/> firing it in low-light
3330conditions.<wbr/> The flash may be fired during a
3331precapture sequence (triggered by
3332<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and may be fired
3333for captures for which the
3334<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3335STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003336 </li>
3337 <li>
3338 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003339 <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
3340the camera's flash unit,<wbr/> always firing it for still
3341captures.<wbr/> The flash may be fired during a precapture
3342sequence (triggered by
3343<a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and will always
3344be fired for captures for which the
3345<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
3346STILL_<wbr/>CAPTURE</p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003347 </li>
3348 <li>
3349 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003350 <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
3351reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
3352a red eye reduction flash will fire during the
3353precapture sequence.<wbr/></p></span>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -08003354 </li>
3355 </ul>
3356
3357 </td> <!-- entry_type -->
3358
3359 <td class="entry_description">
3360 <p>The desired mode for the camera device's
3361auto-exposure routine.<wbr/></p>
3362 </td>
3363
3364 <td class="entry_units">
3365 </td>
3366
3367 <td class="entry_range">
3368 <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
3369 </td>
3370
3371 <td class="entry_tags">
3372 <ul class="entry_tags">
3373 <li><a href="#tag_BC">BC</a></li>
3374 </ul>
3375 </td>
3376
3377 </tr>
3378 <tr class="entries_header">
3379 <th class="th_details" colspan="5">Details</th>
3380 </tr>
3381 <tr class="entry_cont">
3382 <td class="entry_details" colspan="5">
3383 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
3384AUTO.<wbr/></p>
3385<p>When set to any of the ON modes,<wbr/> the camera device's
3386auto-exposure routine is enabled,<wbr/> overriding the
3387application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
3388and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
3389<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
3390<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
3391is selected,<wbr/> the camera device's flash unit controls are
3392also overridden.<wbr/></p>
3393<p>The FLASH modes are only available if the camera device
3394has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
3395<p>If flash TORCH mode is desired,<wbr/> this field must be set to
3396ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
3397<p>When set to any of the ON modes,<wbr/> the values chosen by the
3398camera device auto-exposure routine for the overridden
3399fields for a given capture will be available in its
3400CaptureResult.<wbr/></p>
3401 </td>
3402 </tr>
3403
3404
3405 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3406 <!-- end of entry -->
3407
3408
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003409 <tr class="entry" id="dynamic_android.control.aeRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003410 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003411 android.<wbr/>control.<wbr/>ae<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003412 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003413 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003414 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003415 <span class="entry_type_container">x</span>
3416
3417 <span class="entry_type_array">
3418 5 x area_count
3419 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003420 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003421
3422
3423 </td> <!-- entry_type -->
3424
3425 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003426 <p>List of areas to use for
3427metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003428 </td>
3429
3430 <td class="entry_units">
3431 </td>
3432
3433 <td class="entry_range">
3434 </td>
3435
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003436 <td class="entry_tags">
3437 <ul class="entry_tags">
3438 <li><a href="#tag_BC">BC</a></li>
3439 </ul>
3440 </td>
3441
3442 </tr>
3443 <tr class="entries_header">
3444 <th class="th_details" colspan="5">Details</th>
3445 </tr>
3446 <tr class="entry_cont">
3447 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003448 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3449xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3450specified coordinates.<wbr/></p>
3451<p>The coordinate system is based on the active pixel array,<wbr/>
3452with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003453(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3454<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 -08003455bottom-right pixel in the active pixel array.<wbr/> The weight
3456should be nonnegative.<wbr/></p>
3457<p>If all regions have 0 weight,<wbr/> then no specific metering area
3458needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003459outside 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 -08003460should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003461used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003462 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003463 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003464
3465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003466 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3467 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003468
3469
3470 <tr class="entry" id="dynamic_android.control.aeState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003471 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003472 android.<wbr/>control.<wbr/>ae<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003473 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003474 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003475 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003476
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003477 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003478
3479 <ul class="entry_type_enum">
3480 <li>
3481 <span class="entry_type_enum_name">INACTIVE</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003482 <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 -08003483this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003484 </li>
3485 <li>
3486 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003487 <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 -08003488for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003489 </li>
3490 <li>
3491 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003492 <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08003493current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003494 </li>
3495 <li>
3496 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08003497 <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003498 </li>
3499 <li>
3500 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003501 <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
3502needs to be fired for good quality still
Zhijun He92e698d2014-01-13 16:24:31 -08003503capture.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003504 </li>
3505 <li>
3506 <span class="entry_type_enum_name">PRECAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003507 <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
Zhijun He92e698d2014-01-13 16:24:31 -08003508(through the <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> START),<wbr/>
3509and is currently executing it.<wbr/> Once PRECAPTURE
Igor Murashkina10351a2014-01-15 17:05:22 -08003510completes,<wbr/> AE will transition to CONVERGED or
Zhijun He92e698d2014-01-13 16:24:31 -08003511FLASH_<wbr/>REQUIRED as appropriate.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003512 </li>
3513 </ul>
3514
3515 </td> <!-- entry_type -->
3516
3517 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003518 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003519 </td>
3520
3521 <td class="entry_units">
3522 </td>
3523
3524 <td class="entry_range">
3525 </td>
3526
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003527 <td class="entry_tags">
3528 </td>
3529
3530 </tr>
3531 <tr class="entries_header">
3532 <th class="th_details" colspan="5">Details</th>
3533 </tr>
3534 <tr class="entry_cont">
3535 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003536 <p>Switching between or enabling AE modes (<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>) always
3537resets the AE state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3538or <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
3539the algorithm states to INACTIVE.<wbr/></p>
3540<p>The camera device can do several state transitions between two results,<wbr/> if it is
3541allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3542seen in a result.<wbr/></p>
3543<p>The state in the result is the state for this image (in sync with this image): if
3544AE state becomes CONVERGED,<wbr/> then the image data associated with this result should
3545be good to use.<wbr/></p>
3546<p>Below are state transition tables for different AE modes.<wbr/></p>
3547<table>
3548<thead>
3549<tr>
3550<th align="center">State</th>
3551<th align="center">Transition Cause</th>
3552<th align="center">New State</th>
3553<th align="center">Notes</th>
3554</tr>
3555</thead>
3556<tbody>
3557<tr>
3558<td align="center">INACTIVE</td>
3559<td align="center"></td>
3560<td align="center">INACTIVE</td>
3561<td align="center">Camera device auto exposure algorithm is disabled</td>
3562</tr>
3563</tbody>
3564</table>
3565<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
3566<table>
3567<thead>
3568<tr>
3569<th align="center">State</th>
3570<th align="center">Transition Cause</th>
3571<th align="center">New State</th>
3572<th align="center">Notes</th>
3573</tr>
3574</thead>
3575<tbody>
3576<tr>
3577<td align="center">INACTIVE</td>
3578<td align="center">Camera device initiates AE scan</td>
3579<td align="center">SEARCHING</td>
3580<td align="center">Values changing</td>
3581</tr>
3582<tr>
3583<td align="center">INACTIVE</td>
3584<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3585<td align="center">LOCKED</td>
3586<td align="center">Values locked</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">CONVERGED</td>
3592<td align="center">Good values,<wbr/> not changing</td>
3593</tr>
3594<tr>
3595<td align="center">SEARCHING</td>
3596<td align="center">Camera device finishes AE scan</td>
3597<td align="center">FLASH_<wbr/>REQUIRED</td>
3598<td align="center">Converged but too dark w/<wbr/>o flash</td>
3599</tr>
3600<tr>
3601<td align="center">SEARCHING</td>
3602<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3603<td align="center">LOCKED</td>
3604<td align="center">Values locked</td>
3605</tr>
3606<tr>
3607<td align="center">CONVERGED</td>
3608<td align="center">Camera device initiates AE scan</td>
3609<td align="center">SEARCHING</td>
3610<td align="center">Values changing</td>
3611</tr>
3612<tr>
3613<td align="center">CONVERGED</td>
3614<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3615<td align="center">LOCKED</td>
3616<td align="center">Values locked</td>
3617</tr>
3618<tr>
3619<td align="center">FLASH_<wbr/>REQUIRED</td>
3620<td align="center">Camera device initiates AE scan</td>
3621<td align="center">SEARCHING</td>
3622<td align="center">Values changing</td>
3623</tr>
3624<tr>
3625<td align="center">FLASH_<wbr/>REQUIRED</td>
3626<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3627<td align="center">LOCKED</td>
3628<td align="center">Values locked</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">SEARCHING</td>
3634<td align="center">Values not 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">CONVERGED</td>
3640<td align="center">Values good after unlock</td>
3641</tr>
3642<tr>
3643<td align="center">LOCKED</td>
3644<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
3645<td align="center">FLASH_<wbr/>REQUIRED</td>
3646<td align="center">Exposure good,<wbr/> but too dark</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 OFF</td>
3651<td align="center">CONVERGED</td>
3652<td align="center">Ready for high-quality capture</td>
3653</tr>
3654<tr>
3655<td align="center">PRECAPTURE</td>
3656<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
3657<td align="center">LOCKED</td>
3658<td align="center">Ready for high-quality capture</td>
3659</tr>
3660<tr>
3661<td align="center">Any state</td>
3662<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
3663<td align="center">PRECAPTURE</td>
3664<td align="center">Start AE precapture metering sequence</td>
3665</tr>
3666</tbody>
3667</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003668 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003669 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003670
3671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003672 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3673 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003674
3675
3676 <tr class="entry" id="dynamic_android.control.afMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003677 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003678 android.<wbr/>control.<wbr/>af<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003679 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003680 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003681 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003682
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003683 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003684
3685 <ul class="entry_type_enum">
3686 <li>
3687 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003688 <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
3689<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
3690application</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003691 </li>
3692 <li>
3693 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003694 <span class="entry_type_enum_notes"><p>If lens is not fixed focus.<wbr/></p>
3695<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
3696is fixed-focus.<wbr/> In this mode,<wbr/> the lens does not move unless
3697the autofocus trigger action is called.<wbr/> When that trigger
3698is activated,<wbr/> AF must transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
3699the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
3700<p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
3701and sets the AF state to INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003702 </li>
3703 <li>
3704 <span class="entry_type_enum_name">MACRO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003705 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the lens does not move unless the
3706autofocus trigger action is called.<wbr/></p>
3707<p>When that trigger is activated,<wbr/> AF must transition to
3708ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
3709NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
3710position to default,<wbr/> and sets the AF state to
3711INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003712 </li>
3713 <li>
3714 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003715 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3716position continually to attempt to provide a
3717constantly-in-focus image stream.<wbr/></p>
3718<p>The focusing behavior should be suitable for good quality
3719video recording; typically this means slower focus
3720movement and no overshoots.<wbr/> When the AF trigger is not
3721involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
3722and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
3723states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
3724the algorithm should immediately transition into
3725AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3726lens position until a cancel AF trigger is received.<wbr/></p>
3727<p>Once cancel is received,<wbr/> the algorithm should transition
3728back to INACTIVE and resume passive scan.<wbr/> Note that this
3729behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
3730ongoing PASSIVE_<wbr/>SCAN must immediately be
3731canceled.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003732 </li>
3733 <li>
3734 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003735 <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
3736position continually to attempt to provide a
3737constantly-in-focus image stream.<wbr/></p>
3738<p>The focusing behavior should be suitable for still image
3739capture; typically this means focusing as fast as
3740possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
3741algorithm should start in INACTIVE state,<wbr/> and then
3742transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
3743appropriate as it attempts to maintain focus.<wbr/> When the AF
3744trigger is activated,<wbr/> the algorithm should finish its
3745PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
3746AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
3747lens position until a cancel AF trigger is received.<wbr/></p>
3748<p>When the AF cancel trigger is activated,<wbr/> the algorithm
3749should transition back to INACTIVE and then act as if it
3750has just been started.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003751 </li>
3752 <li>
3753 <span class="entry_type_enum_name">EDOF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003754 <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus).<wbr/> AF
3755trigger is ignored,<wbr/> AF state should always be
3756INACTIVE.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003757 </li>
3758 </ul>
3759
3760 </td> <!-- entry_type -->
3761
3762 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003763 <p>Whether AF is currently enabled,<wbr/> and what
3764mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003765 </td>
3766
3767 <td class="entry_units">
3768 </td>
3769
3770 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08003771 <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 -08003772 </td>
3773
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003774 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003775 <ul class="entry_tags">
3776 <li><a href="#tag_BC">BC</a></li>
3777 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003778 </td>
3779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003780 </tr>
3781 <tr class="entries_header">
3782 <th class="th_details" colspan="5">Details</th>
3783 </tr>
3784 <tr class="entry_cont">
3785 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003786 <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 -08003787<p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
3788the camera device will report the current AF status in android.<wbr/>control.<wbr/>af<wbr/>State
3789in result metadata.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003790 </td>
3791 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003792
3793
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003794 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3795 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003796
3797
3798 <tr class="entry" id="dynamic_android.control.afRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003799 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003800 android.<wbr/>control.<wbr/>af<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003801 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003802 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003803 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003804 <span class="entry_type_container">x</span>
3805
3806 <span class="entry_type_array">
3807 5 x area_count
3808 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003809 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003810
3811
3812 </td> <!-- entry_type -->
3813
3814 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003815 <p>List of areas to use for focus
3816estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003817 </td>
3818
3819 <td class="entry_units">
3820 </td>
3821
3822 <td class="entry_range">
3823 </td>
3824
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003825 <td class="entry_tags">
3826 <ul class="entry_tags">
3827 <li><a href="#tag_BC">BC</a></li>
3828 </ul>
3829 </td>
3830
3831 </tr>
3832 <tr class="entries_header">
3833 <th class="th_details" colspan="5">Details</th>
3834 </tr>
3835 <tr class="entry_cont">
3836 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08003837 <p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
3838xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
3839specified coordinates.<wbr/></p>
3840<p>The coordinate system is based on the active pixel array,<wbr/>
3841with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003842(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
3843<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 -08003844bottom-right pixel in the active pixel array.<wbr/> The weight
3845should be nonnegative.<wbr/></p>
3846<p>If all regions have 0 weight,<wbr/> then no specific focus area
3847needs to be used by the HAL.<wbr/> If the focusing region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08003848outside 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 -08003849should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08003850used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003851 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003852 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003853
3854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003855 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
3856 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003857
3858
3859 <tr class="entry" id="dynamic_android.control.afState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003860 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08003861 android.<wbr/>control.<wbr/>af<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08003862 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003863 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003864 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003865
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003866 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003867
3868 <ul class="entry_type_enum">
3869 <li>
3870 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003871 <span class="entry_type_enum_notes"><p>AF off or has not yet tried to scan/<wbr/>been asked
3872to scan.<wbr/> When a camera device is opened,<wbr/> it starts in
3873this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003874 </li>
3875 <li>
3876 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003877 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF is
3878currently doing an AF scan initiated by a continuous
3879autofocus mode</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003880 </li>
3881 <li>
3882 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003883 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF currently
3884believes it is in focus,<wbr/> but may restart scanning at
3885any time.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003886 </li>
3887 <li>
3888 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003889 <span class="entry_type_enum_notes"><p>if AUTO or MACRO modes are supported.<wbr/> AF is doing
3890an AF scan because it was triggered by AF
3891trigger</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003892 </li>
3893 <li>
3894 <span class="entry_type_enum_name">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
3896believes it is focused correctly and is
3897locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003898 </li>
3899 <li>
3900 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003901 <span class="entry_type_enum_notes"><p>if any AF mode besides OFF is supported.<wbr/> AF has
3902failed to focus successfully and is
3903locked</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003904 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003905 <li>
3906 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08003907 <span class="entry_type_enum_notes"><p>if CONTINUOUS_<wbr/>* modes are supported.<wbr/> AF finished a
3908passive scan without finding focus,<wbr/> and may restart
3909scanning at any time.<wbr/></p></span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003910 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003911 </ul>
3912
3913 </td> <!-- entry_type -->
3914
3915 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08003916 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003917 </td>
3918
3919 <td class="entry_units">
3920 </td>
3921
3922 <td class="entry_range">
3923 </td>
3924
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08003925 <td class="entry_tags">
3926 </td>
3927
3928 </tr>
3929 <tr class="entries_header">
3930 <th class="th_details" colspan="5">Details</th>
3931 </tr>
3932 <tr class="entry_cont">
3933 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08003934 <p>Switching between or enabling AF modes (<a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>) always
3935resets the AF state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
3936or <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
3937the algorithm states to INACTIVE.<wbr/></p>
3938<p>The camera device can do several state transitions between two results,<wbr/> if it is
3939allowed by the state transition table.<wbr/> For example: INACTIVE may never actually be
3940seen in a result.<wbr/></p>
3941<p>The state in the result is the state for this image (in sync with this image): if
3942AF state becomes FOCUSED,<wbr/> then the image data associated with this result should
3943be sharp.<wbr/></p>
3944<p>Below are state transition tables for different AF modes.<wbr/></p>
3945<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>
3946<table>
3947<thead>
3948<tr>
3949<th align="center">State</th>
3950<th align="center">Transition Cause</th>
3951<th align="center">New State</th>
3952<th align="center">Notes</th>
3953</tr>
3954</thead>
3955<tbody>
3956<tr>
3957<td align="center">INACTIVE</td>
3958<td align="center"></td>
3959<td align="center">INACTIVE</td>
3960<td align="center">Never changes</td>
3961</tr>
3962</tbody>
3963</table>
3964<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>
3965<table>
3966<thead>
3967<tr>
3968<th align="center">State</th>
3969<th align="center">Transition Cause</th>
3970<th align="center">New State</th>
3971<th align="center">Notes</th>
3972</tr>
3973</thead>
3974<tbody>
3975<tr>
3976<td align="center">INACTIVE</td>
3977<td align="center">AF_<wbr/>TRIGGER</td>
3978<td align="center">ACTIVE_<wbr/>SCAN</td>
3979<td align="center">Start AF sweep,<wbr/> Lens now moving</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">FOCUSED_<wbr/>LOCKED</td>
3985<td align="center">Focused,<wbr/> Lens now locked</td>
3986</tr>
3987<tr>
3988<td align="center">ACTIVE_<wbr/>SCAN</td>
3989<td align="center">AF sweep done</td>
3990<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
3991<td align="center">Not focused,<wbr/> Lens now locked</td>
3992</tr>
3993<tr>
3994<td align="center">ACTIVE_<wbr/>SCAN</td>
3995<td align="center">AF_<wbr/>CANCEL</td>
3996<td align="center">INACTIVE</td>
3997<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
3998</tr>
3999<tr>
4000<td align="center">FOCUSED_<wbr/>LOCKED</td>
4001<td align="center">AF_<wbr/>CANCEL</td>
4002<td align="center">INACTIVE</td>
4003<td align="center">Cancel/<wbr/>reset AF</td>
4004</tr>
4005<tr>
4006<td align="center">FOCUSED_<wbr/>LOCKED</td>
4007<td align="center">AF_<wbr/>TRIGGER</td>
4008<td align="center">ACTIVE_<wbr/>SCAN</td>
4009<td align="center">Start new sweep,<wbr/> Lens now moving</td>
4010</tr>
4011<tr>
4012<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4013<td align="center">AF_<wbr/>CANCEL</td>
4014<td align="center">INACTIVE</td>
4015<td align="center">Cancel/<wbr/>reset AF</td>
4016</tr>
4017<tr>
4018<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4019<td align="center">AF_<wbr/>TRIGGER</td>
4020<td align="center">ACTIVE_<wbr/>SCAN</td>
4021<td align="center">Start new sweep,<wbr/> Lens now moving</td>
4022</tr>
4023<tr>
4024<td align="center">Any state</td>
4025<td align="center">Mode change</td>
4026<td align="center">INACTIVE</td>
4027<td align="center"></td>
4028</tr>
4029</tbody>
4030</table>
4031<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>
4032<table>
4033<thead>
4034<tr>
4035<th align="center">State</th>
4036<th align="center">Transition Cause</th>
4037<th align="center">New State</th>
4038<th align="center">Notes</th>
4039</tr>
4040</thead>
4041<tbody>
4042<tr>
4043<td align="center">INACTIVE</td>
4044<td align="center">Camera device initiates new scan</td>
4045<td align="center">PASSIVE_<wbr/>SCAN</td>
4046<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4047</tr>
4048<tr>
4049<td align="center">INACTIVE</td>
4050<td align="center">AF_<wbr/>TRIGGER</td>
4051<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4052<td align="center">AF state query,<wbr/> Lens now locked</td>
4053</tr>
4054<tr>
4055<td align="center">PASSIVE_<wbr/>SCAN</td>
4056<td align="center">Camera device completes current scan</td>
4057<td align="center">PASSIVE_<wbr/>FOCUSED</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">Camera device fails current scan</td>
4063<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4064<td align="center">End AF scan,<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">FOCUSED_<wbr/>LOCKED</td>
4070<td align="center">Immediate trans.<wbr/> If focus is good,<wbr/> Lens now locked</td>
4071</tr>
4072<tr>
4073<td align="center">PASSIVE_<wbr/>SCAN</td>
4074<td align="center">AF_<wbr/>TRIGGER</td>
4075<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4076<td align="center">Immediate trans.<wbr/> if focus is bad,<wbr/> Lens now locked</td>
4077</tr>
4078<tr>
4079<td align="center">PASSIVE_<wbr/>SCAN</td>
4080<td align="center">AF_<wbr/>CANCEL</td>
4081<td align="center">INACTIVE</td>
4082<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4083</tr>
4084<tr>
4085<td align="center">PASSIVE_<wbr/>FOCUSED</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/>UNFOCUSED</td>
4092<td align="center">Camera device initiates new scan</td>
4093<td align="center">PASSIVE_<wbr/>SCAN</td>
4094<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4095</tr>
4096<tr>
4097<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4098<td align="center">AF_<wbr/>TRIGGER</td>
4099<td align="center">FOCUSED_<wbr/>LOCKED</td>
4100<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4101</tr>
4102<tr>
4103<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4104<td align="center">AF_<wbr/>TRIGGER</td>
4105<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4106<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4107</tr>
4108<tr>
4109<td align="center">FOCUSED_<wbr/>LOCKED</td>
4110<td align="center">AF_<wbr/>TRIGGER</td>
4111<td align="center">FOCUSED_<wbr/>LOCKED</td>
4112<td align="center">No effect</td>
4113</tr>
4114<tr>
4115<td align="center">FOCUSED_<wbr/>LOCKED</td>
4116<td align="center">AF_<wbr/>CANCEL</td>
4117<td align="center">INACTIVE</td>
4118<td align="center">Restart AF scan</td>
4119</tr>
4120<tr>
4121<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4122<td align="center">AF_<wbr/>TRIGGER</td>
4123<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4124<td align="center">No effect</td>
4125</tr>
4126<tr>
4127<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4128<td align="center">AF_<wbr/>CANCEL</td>
4129<td align="center">INACTIVE</td>
4130<td align="center">Restart AF scan</td>
4131</tr>
4132</tbody>
4133</table>
4134<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>
4135<table>
4136<thead>
4137<tr>
4138<th align="center">State</th>
4139<th align="center">Transition Cause</th>
4140<th align="center">New State</th>
4141<th align="center">Notes</th>
4142</tr>
4143</thead>
4144<tbody>
4145<tr>
4146<td align="center">INACTIVE</td>
4147<td align="center">Camera device initiates new scan</td>
4148<td align="center">PASSIVE_<wbr/>SCAN</td>
4149<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4150</tr>
4151<tr>
4152<td align="center">INACTIVE</td>
4153<td align="center">AF_<wbr/>TRIGGER</td>
4154<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4155<td align="center">AF state query,<wbr/> Lens now locked</td>
4156</tr>
4157<tr>
4158<td align="center">PASSIVE_<wbr/>SCAN</td>
4159<td align="center">Camera device completes current scan</td>
4160<td align="center">PASSIVE_<wbr/>FOCUSED</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">Camera device fails current scan</td>
4166<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4167<td align="center">End AF scan,<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">FOCUSED_<wbr/>LOCKED</td>
4173<td align="center">Eventual trans.<wbr/> once focus good,<wbr/> Lens now locked</td>
4174</tr>
4175<tr>
4176<td align="center">PASSIVE_<wbr/>SCAN</td>
4177<td align="center">AF_<wbr/>TRIGGER</td>
4178<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4179<td align="center">Eventual trans.<wbr/> if cannot focus,<wbr/> Lens now locked</td>
4180</tr>
4181<tr>
4182<td align="center">PASSIVE_<wbr/>SCAN</td>
4183<td align="center">AF_<wbr/>CANCEL</td>
4184<td align="center">INACTIVE</td>
4185<td align="center">Reset lens position,<wbr/> Lens now locked</td>
4186</tr>
4187<tr>
4188<td align="center">PASSIVE_<wbr/>FOCUSED</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/>UNFOCUSED</td>
4195<td align="center">Camera device initiates new scan</td>
4196<td align="center">PASSIVE_<wbr/>SCAN</td>
4197<td align="center">Start AF scan,<wbr/> Lens now moving</td>
4198</tr>
4199<tr>
4200<td align="center">PASSIVE_<wbr/>FOCUSED</td>
4201<td align="center">AF_<wbr/>TRIGGER</td>
4202<td align="center">FOCUSED_<wbr/>LOCKED</td>
4203<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4204</tr>
4205<tr>
4206<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
4207<td align="center">AF_<wbr/>TRIGGER</td>
4208<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4209<td align="center">Immediate trans.<wbr/> Lens now locked</td>
4210</tr>
4211<tr>
4212<td align="center">FOCUSED_<wbr/>LOCKED</td>
4213<td align="center">AF_<wbr/>TRIGGER</td>
4214<td align="center">FOCUSED_<wbr/>LOCKED</td>
4215<td align="center">No effect</td>
4216</tr>
4217<tr>
4218<td align="center">FOCUSED_<wbr/>LOCKED</td>
4219<td align="center">AF_<wbr/>CANCEL</td>
4220<td align="center">INACTIVE</td>
4221<td align="center">Restart AF scan</td>
4222</tr>
4223<tr>
4224<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4225<td align="center">AF_<wbr/>TRIGGER</td>
4226<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4227<td align="center">No effect</td>
4228</tr>
4229<tr>
4230<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
4231<td align="center">AF_<wbr/>CANCEL</td>
4232<td align="center">INACTIVE</td>
4233<td align="center">Restart AF scan</td>
4234</tr>
4235</tbody>
4236</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004238 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004239
4240
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004241 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4242 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243
4244
4245 <tr class="entry" id="dynamic_android.control.afTriggerId">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004246 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004247 android.<wbr/>control.<wbr/>af<wbr/>Trigger<wbr/>Id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004248 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004250 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004251
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004252 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004253
4254
4255 </td> <!-- entry_type -->
4256
4257 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004258 <p>The ID sent with the latest
4259CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004260 </td>
4261
4262 <td class="entry_units">
4263 </td>
4264
4265 <td class="entry_range">
4266 </td>
4267
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004268 <td class="entry_tags">
4269 </td>
4270
4271 </tr>
4272 <tr class="entries_header">
4273 <th class="th_details" colspan="5">Details</th>
4274 </tr>
4275 <tr class="entry_cont">
4276 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004277 <p>Must be 0 if no CAMERA2_<wbr/>TRIGGER_<wbr/>AUTOFOCUS trigger
4278received yet by HAL.<wbr/> Always updated even if AF algorithm
4279ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004280 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004281 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004282
4283
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004284 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4285 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004286
4287
4288 <tr class="entry" id="dynamic_android.control.awbMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004289 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004290 android.<wbr/>control.<wbr/>awb<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004291 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004292 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004293 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004295 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004296
4297 <ul class="entry_type_enum">
4298 <li>
4299 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004300 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4301the application-selected color transform matrix
4302(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
4303(<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
4304device for manual white balance control.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004305 </li>
4306 <li>
4307 <span class="entry_type_enum_name">AUTO</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 active;
4309the application's values for android.<wbr/>color<wbr/>Correction.<wbr/>transform
4310and <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 -08004311 </li>
4312 <li>
4313 <span class="entry_type_enum_name">INCANDESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004314 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4315the camera device uses incandescent light as the assumed scene
4316illumination for white balance.<wbr/> While the exact white balance
4317transforms are up to the camera device,<wbr/> they will approximately
4318match the CIE standard illuminant A.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004319 </li>
4320 <li>
4321 <span class="entry_type_enum_name">FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004322 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4323the camera device uses fluorescent light as the assumed scene
4324illumination for white balance.<wbr/> While the exact white balance
4325transforms are up to the camera device,<wbr/> they will approximately
4326match the CIE standard illuminant F2.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004327 </li>
4328 <li>
4329 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004330 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4331the camera device uses warm fluorescent light as the assumed scene
4332illumination for white balance.<wbr/> While the exact white balance
4333transforms are up to the camera device,<wbr/> they will approximately
4334match the CIE standard illuminant F4.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004335 </li>
4336 <li>
4337 <span class="entry_type_enum_name">DAYLIGHT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004338 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4339the camera device uses daylight light as the assumed scene
4340illumination for white balance.<wbr/> While the exact white balance
4341transforms are up to the camera device,<wbr/> they will approximately
4342match the CIE standard illuminant D65.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004343 </li>
4344 <li>
4345 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</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 cloudy daylight 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">TWILIGHT</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 twilight light as the assumed scene
4354illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004355 </li>
4356 <li>
4357 <span class="entry_type_enum_name">SHADE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004358 <span class="entry_type_enum_notes"><p>The camera device's auto white balance routine is disabled;
4359the camera device uses shade light as the assumed scene
4360illumination for white balance.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004361 </li>
4362 </ul>
4363
4364 </td> <!-- entry_type -->
4365
4366 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004367 <p>Whether AWB is currently setting the color
4368transform fields,<wbr/> and what its illumination target
4369is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004370 </td>
4371
4372 <td class="entry_units">
4373 </td>
4374
4375 <td class="entry_range">
Zhijun He7787f7f2014-01-14 16:30:31 -08004376 <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 -08004377 </td>
4378
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004379 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004380 <ul class="entry_tags">
4381 <li><a href="#tag_BC">BC</a></li>
4382 <li><a href="#tag_AWB">AWB</a></li>
4383 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004384 </td>
4385
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004386 </tr>
4387 <tr class="entries_header">
4388 <th class="th_details" colspan="5">Details</th>
4389 </tr>
4390 <tr class="entry_cont">
4391 <td class="entry_details" colspan="5">
Zhijun He7787f7f2014-01-14 16:30:31 -08004392 <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
4393<p>When set to the ON mode,<wbr/> the camera device's auto white balance
4394routine is enabled,<wbr/> overriding the application's selected
4395<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
4396<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4397<p>When set to the OFF mode,<wbr/> the camera device's auto white balance
4398routine is disabled.<wbr/> The applicantion manually controls the white
4399balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> android.<wbr/>color<wbr/>Correction.<wbr/>gains
4400and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
4401<p>When set to any other modes,<wbr/> the camera device's auto white balance
4402routine is disabled.<wbr/> The camera device uses each particular illumination
4403target for white balance adjustment.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004404 </td>
4405 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004406
4407
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004408 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4409 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004410
4411
4412 <tr class="entry" id="dynamic_android.control.awbRegions">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004413 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004414 android.<wbr/>control.<wbr/>awb<wbr/>Regions
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004415 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004416 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004417 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004418 <span class="entry_type_container">x</span>
4419
4420 <span class="entry_type_array">
4421 5 x area_count
4422 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004423 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004424
4425
4426 </td> <!-- entry_type -->
4427
4428 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004429 <p>List of areas to use for illuminant
4430estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004431 </td>
4432
4433 <td class="entry_units">
4434 </td>
4435
4436 <td class="entry_range">
4437 </td>
4438
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004439 <td class="entry_tags">
4440 <ul class="entry_tags">
4441 <li><a href="#tag_BC">BC</a></li>
4442 </ul>
4443 </td>
4444
4445 </tr>
4446 <tr class="entries_header">
4447 <th class="th_details" colspan="5">Details</th>
4448 </tr>
4449 <tr class="entry_cont">
4450 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004451 <p>Only used in AUTO mode.<wbr/></p>
4452<p>Each area is a rectangle plus weight: xmin,<wbr/> ymin,<wbr/>
4453xmax,<wbr/> ymax,<wbr/> weight.<wbr/> The rectangle is defined inclusive of the
4454specified coordinates.<wbr/></p>
4455<p>The coordinate system is based on the active pixel array,<wbr/>
4456with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004457(<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
4458<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 -08004459bottom-right pixel in the active pixel array.<wbr/> The weight
4460should be nonnegative.<wbr/></p>
4461<p>If all regions have 0 weight,<wbr/> then no specific metering area
4462needs to be used by the HAL.<wbr/> If the metering region is
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004463outside 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 -08004464should ignore the sections outside the region and output the
Igor Murashkin0b080452013-12-27 15:30:25 -08004465used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004466 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004467 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004468
4469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004470 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4471 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004472
4473
4474 <tr class="entry" id="dynamic_android.control.awbState">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004475 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004476 android.<wbr/>control.<wbr/>awb<wbr/>State
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004477 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004478 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004479 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004480
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004481 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004482
4483 <ul class="entry_type_enum">
4484 <li>
4485 <span class="entry_type_enum_name">INACTIVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004486 <span class="entry_type_enum_notes"><p>AWB is not in auto mode.<wbr/> When a camera device is opened,<wbr/> it
4487starts in this state.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004488 </li>
4489 <li>
4490 <span class="entry_type_enum_name">SEARCHING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004491 <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
Zhijun He92e698d2014-01-13 16:24:31 -08004492values for the current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004493 </li>
4494 <li>
4495 <span class="entry_type_enum_name">CONVERGED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004496 <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
Zhijun He92e698d2014-01-13 16:24:31 -08004497current scene.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004498 </li>
4499 <li>
4500 <span class="entry_type_enum_name">LOCKED</span>
Zhijun He92e698d2014-01-13 16:24:31 -08004501 <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004502 </li>
4503 </ul>
4504
4505 </td> <!-- entry_type -->
4506
4507 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004508 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004509 </td>
4510
4511 <td class="entry_units">
4512 </td>
4513
4514 <td class="entry_range">
4515 </td>
4516
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004517 <td class="entry_tags">
4518 </td>
4519
4520 </tr>
4521 <tr class="entries_header">
4522 <th class="th_details" colspan="5">Details</th>
4523 </tr>
4524 <tr class="entry_cont">
4525 <td class="entry_details" colspan="5">
Zhijun He92e698d2014-01-13 16:24:31 -08004526 <p>Switching between or enabling AWB modes (<a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>) always
4527resets the AWB state to INACTIVE.<wbr/> Similarly,<wbr/> switching between <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>,<wbr/>
4528or <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
4529the algorithm states to INACTIVE.<wbr/></p>
4530<p>The camera device can do several state transitions between two results,<wbr/> if it is
4531allowed by the state transition table.<wbr/> So INACTIVE may never actually be seen in
4532a result.<wbr/></p>
4533<p>The state in the result is the state for this image (in sync with this image): if
4534AWB state becomes CONVERGED,<wbr/> then the image data associated with this result should
4535be good to use.<wbr/></p>
4536<p>Below are state transition tables for different AWB modes.<wbr/></p>
4537<p>When <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != AWB_<wbr/>MODE_<wbr/>AUTO</code>:</p>
4538<table>
4539<thead>
4540<tr>
4541<th align="center">State</th>
4542<th align="center">Transition Cause</th>
4543<th align="center">New State</th>
4544<th align="center">Notes</th>
4545</tr>
4546</thead>
4547<tbody>
4548<tr>
4549<td align="center">INACTIVE</td>
4550<td align="center"></td>
4551<td align="center">INACTIVE</td>
4552<td align="center">Camera device auto white balance algorithm is disabled</td>
4553</tr>
4554</tbody>
4555</table>
4556<p>When <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is AWB_<wbr/>MODE_<wbr/>AUTO:</p>
4557<table>
4558<thead>
4559<tr>
4560<th align="center">State</th>
4561<th align="center">Transition Cause</th>
4562<th align="center">New State</th>
4563<th align="center">Notes</th>
4564</tr>
4565</thead>
4566<tbody>
4567<tr>
4568<td align="center">INACTIVE</td>
4569<td align="center">Camera device initiates AWB scan</td>
4570<td align="center">SEARCHING</td>
4571<td align="center">Values changing</td>
4572</tr>
4573<tr>
4574<td align="center">INACTIVE</td>
4575<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4576<td align="center">LOCKED</td>
4577<td align="center">Values locked</td>
4578</tr>
4579<tr>
4580<td align="center">SEARCHING</td>
4581<td align="center">Camera device finishes AWB scan</td>
4582<td align="center">CONVERGED</td>
4583<td align="center">Good values,<wbr/> not changing</td>
4584</tr>
4585<tr>
4586<td align="center">SEARCHING</td>
4587<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4588<td align="center">LOCKED</td>
4589<td align="center">Values locked</td>
4590</tr>
4591<tr>
4592<td align="center">CONVERGED</td>
4593<td align="center">Camera device initiates AWB scan</td>
4594<td align="center">SEARCHING</td>
4595<td align="center">Values changing</td>
4596</tr>
4597<tr>
4598<td align="center">CONVERGED</td>
4599<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
4600<td align="center">LOCKED</td>
4601<td align="center">Values locked</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">SEARCHING</td>
4607<td align="center">Values not good after unlock</td>
4608</tr>
4609<tr>
4610<td align="center">LOCKED</td>
4611<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
4612<td align="center">CONVERGED</td>
4613<td align="center">Values good after unlock</td>
4614</tr>
4615</tbody>
4616</table>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004617 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004618 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004619
4620
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004621 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4622 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004623
4624
4625 <tr class="entry" id="dynamic_android.control.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004626 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004627 android.<wbr/>control.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004628 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004629 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004630 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004631
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004632 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004633
4634 <ul class="entry_type_enum">
4635 <li>
4636 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004637 <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/> All 3A
4638routines are disabled,<wbr/> no other settings in
4639android.<wbr/>control.<wbr/>* have any effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004640 </li>
4641 <li>
4642 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004643 <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/>
4644Manual control of capture parameters is disabled.<wbr/> All
4645controls in android.<wbr/>control.<wbr/>* besides sceneMode take
4646effect</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004647 </li>
4648 <li>
4649 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004650 <span class="entry_type_enum_notes"><p>Use specific scene mode.<wbr/> Enabling this disables
4651control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and control.<wbr/>afMode
4652controls; the HAL must ignore those settings while
4653USE_<wbr/>SCENE_<wbr/>MODE is active (except for FACE_<wbr/>PRIORITY
4654scene mode).<wbr/> Other control entries are still active.<wbr/>
4655This setting can only be used if availableSceneModes !=
4656UNSUPPORTED</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004657 </li>
4658 </ul>
4659
4660 </td> <!-- entry_type -->
4661
4662 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004663 <p>Overall mode of 3A control
4664routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004665 </td>
4666
4667 <td class="entry_units">
4668 </td>
4669
4670 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004671 <p>all must be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004672 </td>
4673
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004674 <td class="entry_tags">
4675 <ul class="entry_tags">
4676 <li><a href="#tag_BC">BC</a></li>
4677 </ul>
4678 </td>
4679
4680 </tr>
4681 <tr class="entries_header">
4682 <th class="th_details" colspan="5">Details</th>
4683 </tr>
4684 <tr class="entry_cont">
4685 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004686 <p>High-level 3A control.<wbr/> When set to OFF,<wbr/> all 3A control
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004687by the camera device is disabled.<wbr/> The application must set the fields for
Igor Murashkin0b080452013-12-27 15:30:25 -08004688capture parameters itself.<wbr/></p>
4689<p>When set to AUTO,<wbr/> the individual algorithm controls in
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004690android.<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 -08004691<p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004692android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
Igor Murashkin0b080452013-12-27 15:30:25 -08004693one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004694as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08004695<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 -08004696 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004697 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004698
4699
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004700 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4701 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004702
4703
4704
4705 <!-- end of kind -->
4706 </tbody>
4707
4708 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004709 <tr><td colspan="6" id="section_demosaic" class="section">demosaic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004710
4711
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004712 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004713
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004714 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004715 <tr>
4716 <th class="th_name">Property Name</th>
4717 <th class="th_type">Type</th>
4718 <th class="th_description">Description</th>
4719 <th class="th_units">Units</th>
4720 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004721 <th class="th_tags">Tags</th>
4722 </tr>
4723 </thead>
4724
4725 <tbody>
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736 <tr class="entry" id="controls_android.demosaic.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004737 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004738 android.<wbr/>demosaic.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004739 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004740 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004741 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004742
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004743 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004744
4745 <ul class="entry_type_enum">
4746 <li>
4747 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004748 <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
4749Bayer RAW output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004750 </li>
4751 <li>
4752 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004753 <span class="entry_type_enum_notes"><p>High-quality may reduce output frame
4754rate</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004755 </li>
4756 </ul>
4757
4758 </td> <!-- entry_type -->
4759
4760 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004761 <p>Controls the quality of the demosaicing
4762processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004763 </td>
4764
4765 <td class="entry_units">
4766 </td>
4767
4768 <td class="entry_range">
4769 </td>
4770
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004771 <td class="entry_tags">
4772 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004773 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004774 </ul>
4775 </td>
4776
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004777 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004778
4779
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004780 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4781 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004782
4783
4784
4785 <!-- end of kind -->
4786 </tbody>
4787
4788 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004789 <tr><td colspan="6" id="section_edge" class="section">edge</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004790
4791
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004792 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004793
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004794 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004795 <tr>
4796 <th class="th_name">Property Name</th>
4797 <th class="th_type">Type</th>
4798 <th class="th_description">Description</th>
4799 <th class="th_units">Units</th>
4800 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004801 <th class="th_tags">Tags</th>
4802 </tr>
4803 </thead>
4804
4805 <tbody>
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816 <tr class="entry" id="controls_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004817 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004818 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004819 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004820 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004821 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004822
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004823 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004824
4825 <ul class="entry_type_enum">
4826 <li>
4827 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004828 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004829 </li>
4830 <li>
4831 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004832 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4833output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004834 </li>
4835 <li>
4836 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004837 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4838quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004839 </li>
4840 </ul>
4841
4842 </td> <!-- entry_type -->
4843
4844 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004845 <p>Operation mode for edge
4846enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004847 </td>
4848
4849 <td class="entry_units">
4850 </td>
4851
4852 <td class="entry_range">
4853 </td>
4854
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004855 <td class="entry_tags">
4856 </td>
4857
4858 </tr>
4859 <tr class="entries_header">
4860 <th class="th_details" colspan="5">Details</th>
4861 </tr>
4862 <tr class="entry_cont">
4863 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004864 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4865enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004866<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004867will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004868camera device will use the highest-quality enhancement algorithms,<wbr/>
4869even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004870not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004871 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004872 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004873
4874
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004875 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4876 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004877
4878
4879 <tr class="entry" id="controls_android.edge.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004880 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08004881 android.<wbr/>edge.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004882 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004883 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004884 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004885
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004886 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004887
4888
4889 </td> <!-- entry_type -->
4890
4891 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004892 <p>Control the amount of edge enhancement
4893applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004894 </td>
4895
4896 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08004897 1-10; 10 is maximum sharpening
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004898 </td>
4899
4900 <td class="entry_range">
4901 </td>
4902
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004903 <td class="entry_tags">
4904 </td>
4905
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004906 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004907
4908
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004909 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
4910 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004911
4912
4913
4914 <!-- end of kind -->
4915 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004916 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004917
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004918 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004919 <tr>
4920 <th class="th_name">Property Name</th>
4921 <th class="th_type">Type</th>
4922 <th class="th_description">Description</th>
4923 <th class="th_units">Units</th>
4924 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004925 <th class="th_tags">Tags</th>
4926 </tr>
4927 </thead>
4928
4929 <tbody>
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940 <tr class="entry" id="dynamic_android.edge.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004941 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08004942 android.<wbr/>edge.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004943 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004944 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004945 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004946
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004947 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004948
4949 <ul class="entry_type_enum">
4950 <li>
4951 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004952 <span class="entry_type_enum_notes"><p>No edge enhancement is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004953 </li>
4954 <li>
4955 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004956 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
4957output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004958 </li>
4959 <li>
4960 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08004961 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
4962quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963 </li>
4964 </ul>
4965
4966 </td> <!-- entry_type -->
4967
4968 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08004969 <p>Operation mode for edge
4970enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004971 </td>
4972
4973 <td class="entry_units">
4974 </td>
4975
4976 <td class="entry_range">
4977 </td>
4978
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004979 <td class="entry_tags">
4980 </td>
4981
4982 </tr>
4983 <tr class="entries_header">
4984 <th class="th_details" colspan="5">Details</th>
4985 </tr>
4986 <tr class="entry_cont">
4987 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08004988 <p>Edge/<wbr/>sharpness/<wbr/>detail enhancement.<wbr/> OFF means no
4989enhancement will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004990<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined enhancement
Igor Murashkin0b080452013-12-27 15:30:25 -08004991will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the
Zhijun Hef90eeaf2014-01-16 12:13:35 -08004992camera device will use the highest-quality enhancement algorithms,<wbr/>
4993even if it slows down capture rate.<wbr/> FAST means the camera device will
Igor Murashkin0b080452013-12-27 15:30:25 -08004994not slow down capture rate when applying edge enhancement.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004995 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004996 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08004997
4998
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08004999 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5000 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005001
5002
5003
5004 <!-- end of kind -->
5005 </tbody>
5006
5007 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005008 <tr><td colspan="6" id="section_flash" class="section">flash</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005009
5010
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005011 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005012
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005013 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005014 <tr>
5015 <th class="th_name">Property Name</th>
5016 <th class="th_type">Type</th>
5017 <th class="th_description">Description</th>
5018 <th class="th_units">Units</th>
5019 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005020 <th class="th_tags">Tags</th>
5021 </tr>
5022 </thead>
5023
5024 <tbody>
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035 <tr class="entry" id="controls_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005036 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005037 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005038 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005039 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005040 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005041
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005042 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005043
5044
5045 </td> <!-- entry_type -->
5046
5047 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005048 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005049 </td>
5050
5051 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005052 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </td>
5054
5055 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005056 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005057 </td>
5058
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005059 <td class="entry_tags">
5060 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005061 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005062 </ul>
5063 </td>
5064
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005065 </tr>
5066 <tr class="entries_header">
5067 <th class="th_details" colspan="5">Details</th>
5068 </tr>
5069 <tr class="entry_cont">
5070 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005071 <p>Power for snapshot may use a different scale than
5072for torch mode.<wbr/> Only one entry for torch mode will be
5073used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005074 </td>
5075 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005076
5077
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005078 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5079 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080
5081
5082 <tr class="entry" id="controls_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005083 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005084 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005085 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005086 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005087 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005088
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005089 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005090
5091
5092 </td> <!-- entry_type -->
5093
5094 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005095 <p>Firing time of flash relative to start of
5096exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005097 </td>
5098
5099 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005100 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005101 </td>
5102
5103 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005104 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105 </td>
5106
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005107 <td class="entry_tags">
5108 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005109 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005110 </ul>
5111 </td>
5112
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005113 </tr>
5114 <tr class="entries_header">
5115 <th class="th_details" colspan="5">Details</th>
5116 </tr>
5117 <tr class="entry_cont">
5118 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005119 <p>Clamped to (0,<wbr/> exposure time - flash
5120duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005121 </td>
5122 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005123
5124
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005125 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5126 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005127
5128
5129 <tr class="entry" id="controls_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005130 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005131 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005132 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005133 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005134 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005135
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005136 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005137
5138 <ul class="entry_type_enum">
5139 <li>
5140 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005141 <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 -08005142 </li>
5143 <li>
5144 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005145 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5146for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5147<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005148 </li>
5149 <li>
5150 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005151 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005152 </li>
5153 </ul>
5154
5155 </td> <!-- entry_type -->
5156
5157 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005158 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005159 </td>
5160
5161 <td class="entry_units">
5162 </td>
5163
5164 <td class="entry_range">
5165 </td>
5166
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005167 <td class="entry_tags">
5168 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005169 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005170 </ul>
5171 </td>
5172
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005173 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005174 <tr class="entries_header">
5175 <th class="th_details" colspan="5">Details</th>
5176 </tr>
5177 <tr class="entry_cont">
5178 <td class="entry_details" colspan="5">
5179 <p>This control is only effective when flash unit is available
5180(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5181<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/>
5182Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5183ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5184<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5185<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5186device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5187control should be used along with AE precapture metering sequence
5188(<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>
5189<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5190for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5191 </td>
5192 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005193
5194
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005195 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5196 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005197
5198
5199
5200 <!-- end of kind -->
5201 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005202 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005203
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005204 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005205 <tr>
5206 <th class="th_name">Property Name</th>
5207 <th class="th_type">Type</th>
5208 <th class="th_description">Description</th>
5209 <th class="th_units">Units</th>
5210 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005211 <th class="th_tags">Tags</th>
5212 </tr>
5213 </thead>
5214
5215 <tbody>
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228 <tr class="entry" id="static_android.flash.info.available">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005229 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005230 android.<wbr/>flash.<wbr/>info.<wbr/>available
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005231 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005232 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005233 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005234
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005235 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005236
5237
5238 </td> <!-- entry_type -->
5239
5240 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005241 <p>Whether this camera has a
5242flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005243 </td>
5244
5245 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005246 boolean (0 = false,<wbr/> otherwise true)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005247 </td>
5248
5249 <td class="entry_range">
5250 </td>
5251
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005252 <td class="entry_tags">
5253 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005254 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005255 </ul>
5256 </td>
5257
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005258 </tr>
5259 <tr class="entries_header">
5260 <th class="th_details" colspan="5">Details</th>
5261 </tr>
5262 <tr class="entry_cont">
5263 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005264 <p>If no flash,<wbr/> none of the flash controls do
5265anything.<wbr/> All other metadata should return 0</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005266 </td>
5267 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005268
5269
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005270 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5271 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005272
5273
5274 <tr class="entry" id="static_android.flash.info.chargeDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005275 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005276 android.<wbr/>flash.<wbr/>info.<wbr/>charge<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005277 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005278 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005279 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005280
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005281 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005282
5283
5284 </td> <!-- entry_type -->
5285
5286 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005287 <p>Time taken before flash can fire
5288again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005289 </td>
5290
5291 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005292 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005293 </td>
5294
5295 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005296 <p>0-1e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005297 </td>
5298
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005299 <td class="entry_tags">
5300 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005301 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005302 </ul>
5303 </td>
5304
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005305 </tr>
5306 <tr class="entries_header">
5307 <th class="th_details" colspan="5">Details</th>
5308 </tr>
5309 <tr class="entry_cont">
5310 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005311 <p>1 second too long/<wbr/>too short for recharge? Should
5312this be power-dependent?</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005313 </td>
5314 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005315
5316
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005317 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5318 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005319
5320
5321
5322
5323
5324 <tr class="entry" id="static_android.flash.colorTemperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005325 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005326 android.<wbr/>flash.<wbr/>color<wbr/>Temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005327 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005328 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005329 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005330
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005331 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005332
5333
5334 </td> <!-- entry_type -->
5335
5336 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005337 <p>The x,<wbr/>y whitepoint of the
5338flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005339 </td>
5340
5341 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005342 pair of floats
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005343 </td>
5344
5345 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005346 <p>0-1 for both</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005347 </td>
5348
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005349 <td class="entry_tags">
5350 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005351 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005352 </ul>
5353 </td>
5354
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005355 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005356
5357
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005358 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5359 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005360
5361
5362 <tr class="entry" id="static_android.flash.maxEnergy">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005363 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005364 android.<wbr/>flash.<wbr/>max<wbr/>Energy
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005365 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005366 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005367 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005368
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005369 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005370
5371
5372 </td> <!-- entry_type -->
5373
5374 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005375 <p>Max energy output of the flash for a full
5376power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005377 </td>
5378
5379 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005380 lumen-seconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005381 </td>
5382
5383 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08005384 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005385 </td>
5386
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005387 <td class="entry_tags">
5388 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005389 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005390 </ul>
5391 </td>
5392
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005393 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005394
5395
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005396 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5397 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005398
5399
5400
5401 <!-- end of kind -->
5402 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005403 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005404
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005405 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005406 <tr>
5407 <th class="th_name">Property Name</th>
5408 <th class="th_type">Type</th>
5409 <th class="th_description">Description</th>
5410 <th class="th_units">Units</th>
5411 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005412 <th class="th_tags">Tags</th>
5413 </tr>
5414 </thead>
5415
5416 <tbody>
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427 <tr class="entry" id="dynamic_android.flash.firingPower">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005428 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005429 android.<wbr/>flash.<wbr/>firing<wbr/>Power
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005430 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005431 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005432 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005433
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005434 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005435
5436
5437 </td> <!-- entry_type -->
5438
5439 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005440 <p>Power for flash firing/<wbr/>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005441 </td>
5442
5443 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005444 10 is max power; 0 is no flash.<wbr/> Linear
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005445 </td>
5446
5447 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005448 <p>0 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005449 </td>
5450
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005451 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005452 <ul class="entry_tags">
5453 <li><a href="#tag_V1">V1</a></li>
5454 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005455 </td>
5456
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005457 </tr>
5458 <tr class="entries_header">
5459 <th class="th_details" colspan="5">Details</th>
5460 </tr>
5461 <tr class="entry_cont">
5462 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005463 <p>Power for snapshot may use a different scale than
5464for torch mode.<wbr/> Only one entry for torch mode will be
5465used</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005466 </td>
5467 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005468
5469
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005470 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5471 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472
5473
5474 <tr class="entry" id="dynamic_android.flash.firingTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005475 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005476 android.<wbr/>flash.<wbr/>firing<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005477 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005478 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005479 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005480
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005481 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005482
5483
5484 </td> <!-- entry_type -->
5485
5486 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005487 <p>Firing time of flash relative to start of
5488exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005489 </td>
5490
5491 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005492 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005493 </td>
5494
5495 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08005496 <p>0-(exposure time-flash duration)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005497 </td>
5498
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005499 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005500 <ul class="entry_tags">
5501 <li><a href="#tag_V1">V1</a></li>
5502 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005503 </td>
5504
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005505 </tr>
5506 <tr class="entries_header">
5507 <th class="th_details" colspan="5">Details</th>
5508 </tr>
5509 <tr class="entry_cont">
5510 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08005511 <p>Clamped to (0,<wbr/> exposure time - flash
5512duration).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005513 </td>
5514 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005515
5516
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005517 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5518 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005519
5520
5521 <tr class="entry" id="dynamic_android.flash.mode">
Zhijun Heea27bc32014-01-15 13:47:59 -08005522 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08005523 android.<wbr/>flash.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005524 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005525 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005526 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005527
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005528 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005529
5530 <ul class="entry_type_enum">
5531 <li>
5532 <span class="entry_type_enum_name">OFF</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005533 <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 -08005534 </li>
5535 <li>
5536 <span class="entry_type_enum_name">SINGLE</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005537 <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
5538for this capture based on <a href="#controls_android.flash.firingPower">android.<wbr/>flash.<wbr/>firing<wbr/>Power</a> and
5539<a href="#controls_android.flash.firingTime">android.<wbr/>flash.<wbr/>firing<wbr/>Time</a>.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005540 </li>
5541 <li>
5542 <span class="entry_type_enum_name">TORCH</span>
Zhijun Heea27bc32014-01-15 13:47:59 -08005543 <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005544 </li>
5545 </ul>
5546
5547 </td> <!-- entry_type -->
5548
5549 <td class="entry_description">
Zhijun Heea27bc32014-01-15 13:47:59 -08005550 <p>The desired mode for for the camera device's flash control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005551 </td>
5552
5553 <td class="entry_units">
5554 </td>
5555
5556 <td class="entry_range">
5557 </td>
5558
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005560 <ul class="entry_tags">
5561 <li><a href="#tag_BC">BC</a></li>
5562 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005563 </td>
5564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005565 </tr>
Zhijun Heea27bc32014-01-15 13:47:59 -08005566 <tr class="entries_header">
5567 <th class="th_details" colspan="5">Details</th>
5568 </tr>
5569 <tr class="entry_cont">
5570 <td class="entry_details" colspan="5">
5571 <p>This control is only effective when flash unit is available
5572(<code><a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> != 0</code>).<wbr/></p>
5573<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/>
5574Otherwise,<wbr/> the camera device auto-exposure related flash control (ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/>
5575ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> or ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE) will override this control.<wbr/></p>
5576<p>When set to OFF,<wbr/> the camera device will not fire flash for this capture.<wbr/></p>
5577<p>When set to SINGLE,<wbr/> the camera device will fire flash regardless of the camera
5578device's auto-exposure routine's result.<wbr/> When used in still capture case,<wbr/> this
5579control should be used along with AE precapture metering sequence
5580(<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>
5581<p>When set to TORCH,<wbr/> the flash will be on continuously.<wbr/> This mode can be used
5582for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr/> or video recording.<wbr/></p>
5583 </td>
5584 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005585
5586
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005587 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5588 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005589
5590
5591 <tr class="entry" id="dynamic_android.flash.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005592 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005593 android.<wbr/>flash.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005594 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005595 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005596 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005597
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005598 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005599
5600 <ul class="entry_type_enum">
5601 <li>
5602 <span class="entry_type_enum_name">UNAVAILABLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005603 <span class="entry_type_enum_notes"><p>No flash on camera</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005604 </li>
5605 <li>
5606 <span class="entry_type_enum_name">CHARGING</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005607 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5608charging and cannot be fired</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005609 </li>
5610 <li>
5611 <span class="entry_type_enum_name">READY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005612 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash is
5613ready to fire</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005614 </li>
5615 <li>
5616 <span class="entry_type_enum_name">FIRED</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005617 <span class="entry_type_enum_notes"><p>if android.<wbr/>flash.<wbr/>available is true Flash fired
5618for this capture</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005619 </li>
5620 </ul>
5621
5622 </td> <!-- entry_type -->
5623
5624 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005625 <p>Current state of the flash
5626unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627 </td>
5628
5629 <td class="entry_units">
5630 </td>
5631
5632 <td class="entry_range">
5633 </td>
5634
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005635 <td class="entry_tags">
5636 </td>
5637
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005638 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005639
5640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005641 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5642 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005643
5644
5645
5646 <!-- end of kind -->
5647 </tbody>
5648
5649 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005650 <tr><td colspan="6" id="section_geometric" class="section">geometric</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005651
5652
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005653 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005654
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005655 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005656 <tr>
5657 <th class="th_name">Property Name</th>
5658 <th class="th_type">Type</th>
5659 <th class="th_description">Description</th>
5660 <th class="th_units">Units</th>
5661 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005662 <th class="th_tags">Tags</th>
5663 </tr>
5664 </thead>
5665
5666 <tbody>
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677 <tr class="entry" id="controls_android.geometric.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005678 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005679 android.<wbr/>geometric.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005680 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005681 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005682 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005683
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005684 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005685
5686 <ul class="entry_type_enum">
5687 <li>
5688 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005689 <span class="entry_type_enum_notes"><p>No geometric correction is
5690applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005691 </li>
5692 <li>
5693 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005694 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
5695bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005696 </li>
5697 <li>
5698 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005699 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5700quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005701 </li>
5702 </ul>
5703
5704 </td> <!-- entry_type -->
5705
5706 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005707 <p>Operating mode of geometric
5708correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005709 </td>
5710
5711 <td class="entry_units">
5712 </td>
5713
5714 <td class="entry_range">
5715 </td>
5716
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717 <td class="entry_tags">
5718 </td>
5719
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005720 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005721
5722
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005723 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5724 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005725
5726
5727 <tr class="entry" id="controls_android.geometric.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005728 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005729 android.<wbr/>geometric.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005730 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005731 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005732 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005733
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005734 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005735
5736
5737 </td> <!-- entry_type -->
5738
5739 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005740 <p>Control the amount of shading correction
5741applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005742 </td>
5743
5744 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08005745 unitless: 1-10; 10 is full shading
5746 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005747 </td>
5748
5749 <td class="entry_range">
5750 </td>
5751
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005752 <td class="entry_tags">
5753 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005754 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005755 </ul>
5756 </td>
5757
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005758 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005759
5760
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005761 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5762 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005763
5764
5765
5766 <!-- end of kind -->
5767 </tbody>
5768
5769 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005770 <tr><td colspan="6" id="section_hotPixel" class="section">hotPixel</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005771
5772
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005773 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005774
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005775 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005776 <tr>
5777 <th class="th_name">Property Name</th>
5778 <th class="th_type">Type</th>
5779 <th class="th_description">Description</th>
5780 <th class="th_units">Units</th>
5781 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005782 <th class="th_tags">Tags</th>
5783 </tr>
5784 </thead>
5785
5786 <tbody>
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797 <tr class="entry" id="controls_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005798 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005799 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005800 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005801 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005802 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005803
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005804 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005805
5806 <ul class="entry_type_enum">
5807 <li>
5808 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005809 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5810applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005811 </li>
5812 <li>
5813 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005814 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5815Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005816 </li>
5817 <li>
5818 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005819 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5820quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005821 </li>
5822 </ul>
5823
5824 </td> <!-- entry_type -->
5825
5826 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005827 <p>Set operational mode for hot pixel
5828correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005829 </td>
5830
5831 <td class="entry_units">
5832 </td>
5833
5834 <td class="entry_range">
5835 </td>
5836
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005837 <td class="entry_tags">
5838 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005839 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005840 </ul>
5841 </td>
5842
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005843 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005844
5845
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005846 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5847 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005848
5849
5850
5851 <!-- end of kind -->
5852 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005853 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005854
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005855 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856 <tr>
5857 <th class="th_name">Property Name</th>
5858 <th class="th_type">Type</th>
5859 <th class="th_description">Description</th>
5860 <th class="th_units">Units</th>
5861 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005862 <th class="th_tags">Tags</th>
5863 </tr>
5864 </thead>
5865
5866 <tbody>
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879 <tr class="entry" id="static_android.hotPixel.info.map">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005880 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005881 android.<wbr/>hot<wbr/>Pixel.<wbr/>info.<wbr/>map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005882 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005883 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005884 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005885 <span class="entry_type_container">x</span>
5886
5887 <span class="entry_type_array">
5888 2 x n
5889 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005890 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08005891 <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 -08005892
5893
5894 </td> <!-- entry_type -->
5895
5896 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005897 <p>Location of hot/<wbr/>defective pixels on
5898sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005899 </td>
5900
5901 <td class="entry_units">
5902 </td>
5903
5904 <td class="entry_range">
5905 </td>
5906
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005907 <td class="entry_tags">
5908 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005909 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005910 </ul>
5911 </td>
5912
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005913 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005914
5915
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005916 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
5917 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005918
5919
5920
5921
5922
5923
5924 <!-- end of kind -->
5925 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005926 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005927
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005928 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005929 <tr>
5930 <th class="th_name">Property Name</th>
5931 <th class="th_type">Type</th>
5932 <th class="th_description">Description</th>
5933 <th class="th_units">Units</th>
5934 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935 <th class="th_tags">Tags</th>
5936 </tr>
5937 </thead>
5938
5939 <tbody>
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950 <tr class="entry" id="dynamic_android.hotPixel.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005951 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08005952 android.<wbr/>hot<wbr/>Pixel.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005953 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005955 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005957 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005958
5959 <ul class="entry_type_enum">
5960 <li>
5961 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005962 <span class="entry_type_enum_notes"><p>No hot pixel correction can be
5963applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005964 </li>
5965 <li>
5966 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005967 <span class="entry_type_enum_notes"><p>Frame rate must not be reduced compared to raw
5968Bayer output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005969 </li>
5970 <li>
5971 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08005972 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high
5973quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005974 </li>
5975 </ul>
5976
5977 </td> <!-- entry_type -->
5978
5979 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08005980 <p>Set operational mode for hot pixel
5981correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005982 </td>
5983
5984 <td class="entry_units">
5985 </td>
5986
5987 <td class="entry_range">
5988 </td>
5989
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990 <td class="entry_tags">
5991 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005992 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005993 </ul>
5994 </td>
5995
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005996 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08005997
5998
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08005999 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6000 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006001
6002
6003
6004 <!-- end of kind -->
6005 </tbody>
6006
6007 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006008 <tr><td colspan="6" id="section_jpeg" class="section">jpeg</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006009
6010
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006011 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006012
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006013 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006014 <tr>
6015 <th class="th_name">Property Name</th>
6016 <th class="th_type">Type</th>
6017 <th class="th_description">Description</th>
6018 <th class="th_units">Units</th>
6019 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006020 <th class="th_tags">Tags</th>
6021 </tr>
6022 </thead>
6023
6024 <tbody>
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006036 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006037 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006038 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006039 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006040 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006041 <span class="entry_type_container">x</span>
6042
6043 <span class="entry_type_array">
6044 3
6045 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006046 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006047 <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 -08006048
6049
6050 </td> <!-- entry_type -->
6051
6052 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006053 <p>GPS coordinates to include in output JPEG
6054EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055 </td>
6056
6057 <td class="entry_units">
6058 </td>
6059
6060 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006061 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006062 </td>
6063
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006064 <td class="entry_tags">
6065 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006066 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006067 </ul>
6068 </td>
6069
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006070 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006071
6072
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006073 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6074 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006075
6076
6077 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006078 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006079 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006080 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006082 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006083
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006084 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006085
6086
6087 </td> <!-- entry_type -->
6088
6089 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006090 <p>32 characters describing GPS algorithm to
6091include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006092 </td>
6093
6094 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006095 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006096 </td>
6097
6098 <td class="entry_range">
6099 </td>
6100
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006101 <td class="entry_tags">
6102 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006103 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006104 </ul>
6105 </td>
6106
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006107 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006108
6109
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006110 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6111 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006112
6113
6114 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006115 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006116 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006117 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006118 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006119 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006120
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006121 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006122
6123
6124 </td> <!-- entry_type -->
6125
6126 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006127 <p>Time GPS fix was made to include in
6128EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006129 </td>
6130
6131 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006132 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006133 </td>
6134
6135 <td class="entry_range">
6136 </td>
6137
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006138 <td class="entry_tags">
6139 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006140 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006141 </ul>
6142 </td>
6143
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006144 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006145
6146
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006147 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6148 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006149
6150
6151 <tr class="entry" id="controls_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006152 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006153 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006154 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006155 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006156 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006157
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006158 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006159
6160
6161 </td> <!-- entry_type -->
6162
6163 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006164 <p>Orientation of JPEG image to
6165write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006166 </td>
6167
6168 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006169 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006170 </td>
6171
6172 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006173 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006174 </td>
6175
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006176 <td class="entry_tags">
6177 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006178 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006179 </ul>
6180 </td>
6181
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006182 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006183
6184
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006185 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6186 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006187
6188
6189 <tr class="entry" id="controls_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006190 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006191 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006192 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006193 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006194 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006195
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006196 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006197
6198
6199 </td> <!-- entry_type -->
6200
6201 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006202 <p>Compression quality of the final JPEG
6203image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006204 </td>
6205
6206 <td class="entry_units">
6207 </td>
6208
6209 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006210 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006211 </td>
6212
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006213 <td class="entry_tags">
6214 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006215 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006216 </ul>
6217 </td>
6218
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006219 </tr>
6220 <tr class="entries_header">
6221 <th class="th_details" colspan="5">Details</th>
6222 </tr>
6223 <tr class="entry_cont">
6224 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006225 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006226 </td>
6227 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006228
6229
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006230 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6231 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006232
6233
6234 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006235 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006236 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006237 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006238 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006239 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006240
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006241 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006242
6243
6244 </td> <!-- entry_type -->
6245
6246 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006247 <p>Compression quality of JPEG
6248thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006249 </td>
6250
6251 <td class="entry_units">
6252 </td>
6253
6254 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006255 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006256 </td>
6257
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006258 <td class="entry_tags">
6259 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006260 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006261 </ul>
6262 </td>
6263
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006264 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006265
6266
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006267 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6268 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006269
6270
6271 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006272 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006273 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006274 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006275 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006276 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006277 <span class="entry_type_container">x</span>
6278
6279 <span class="entry_type_array">
6280 2
6281 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006282 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006283
6284
6285 </td> <!-- entry_type -->
6286
6287 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006288 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006289 </td>
6290
6291 <td class="entry_units">
6292 </td>
6293
6294 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006295 <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 -08006296 </td>
6297
6298 <td class="entry_tags">
6299 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006300 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006301 </ul>
6302 </td>
6303
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006304 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006305 <tr class="entries_header">
6306 <th class="th_details" colspan="5">Details</th>
6307 </tr>
6308 <tr class="entry_cont">
6309 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006310 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6311but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006312<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6313the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006314 </td>
6315 </tr>
6316
6317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006318 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6319 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006320
6321
6322
6323 <!-- end of kind -->
6324 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006325 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006326
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006327 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006328 <tr>
6329 <th class="th_name">Property Name</th>
6330 <th class="th_type">Type</th>
6331 <th class="th_description">Description</th>
6332 <th class="th_units">Units</th>
6333 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006334 <th class="th_tags">Tags</th>
6335 </tr>
6336 </thead>
6337
6338 <tbody>
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006350 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006351 android.<wbr/>jpeg.<wbr/>available<wbr/>Thumbnail<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006352 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006353 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006354 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006355 <span class="entry_type_container">x</span>
6356
6357 <span class="entry_type_array">
6358 2 x n
6359 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006360 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006361
6362
6363 </td> <!-- entry_type -->
6364
6365 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006366 <p>Supported resolutions for the JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006367 </td>
6368
6369 <td class="entry_units">
6370 </td>
6371
6372 <td class="entry_range">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006373 <p>Will include at least one valid resolution,<wbr/> plus
6374(0,<wbr/>0) for no thumbnail generation,<wbr/> and each size will be distinct.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006375 </td>
6376
6377 <td class="entry_tags">
6378 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006379 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006380 </ul>
6381 </td>
6382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006383 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006384 <tr class="entries_header">
6385 <th class="th_details" colspan="5">Details</th>
6386 </tr>
6387 <tr class="entry_cont">
6388 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006389 <p>Below condiditions will be satisfied for this size list:</p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006390<ul>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006391<li>The sizes will be sorted by increasing pixel area (width x height).<wbr/>
6392If several resolutions have the same area,<wbr/> they will be sorted by increasing width.<wbr/></li>
6393<li>The aspect ratio of the largest thumbnail size will be same as the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006394aspect 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 -08006395The largest size is defined as the size that has the largest pixel area
Igor Murashkin0b080452013-12-27 15:30:25 -08006396in a given size list.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006397<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 -08006398one corresponding size that has the same aspect ratio in availableThumbnailSizes,<wbr/>
6399and vice versa.<wbr/></li>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006400<li>All non (0,<wbr/> 0) sizes will have non-zero widths and heights.<wbr/></li>
Igor Murashkin0b080452013-12-27 15:30:25 -08006401</ul>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006402 </td>
6403 </tr>
6404
6405
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006406 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6407 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006408
6409
6410 <tr class="entry" id="static_android.jpeg.maxSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006411 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006412 android.<wbr/>jpeg.<wbr/>max<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006413 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006414 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006415 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006416
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006417 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006418
6419
6420 </td> <!-- entry_type -->
6421
6422 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006423 <p>Maximum size in bytes for the compressed
6424JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006425 </td>
6426
6427 <td class="entry_units">
6428 </td>
6429
6430 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006431 <p>Must be large enough to fit any JPEG produced by
6432the camera</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006433 </td>
6434
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006435 <td class="entry_tags">
6436 </td>
6437
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006438 </tr>
6439 <tr class="entries_header">
6440 <th class="th_details" colspan="5">Details</th>
6441 </tr>
6442 <tr class="entry_cont">
6443 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006444 <p>This is used for sizing the gralloc buffers for
6445JPEG</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006446 </td>
6447 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006448
6449
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006450 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6451 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006452
6453
6454
6455 <!-- end of kind -->
6456 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006457 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006458
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006459 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006460 <tr>
6461 <th class="th_name">Property Name</th>
6462 <th class="th_type">Type</th>
6463 <th class="th_description">Description</th>
6464 <th class="th_units">Units</th>
6465 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006466 <th class="th_tags">Tags</th>
6467 </tr>
6468 </thead>
6469
6470 <tbody>
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006482 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006483 android.<wbr/>jpeg.<wbr/>gps<wbr/>Coordinates
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006484 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006486 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006487 <span class="entry_type_container">x</span>
6488
6489 <span class="entry_type_array">
6490 3
6491 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006492 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08006493 <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 -08006494
6495
6496 </td> <!-- entry_type -->
6497
6498 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006499 <p>GPS coordinates to include in output JPEG
6500EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006501 </td>
6502
6503 <td class="entry_units">
6504 </td>
6505
6506 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006507 <p>(-180 - 180],<wbr/> [-90,<wbr/>90],<wbr/> [-inf,<wbr/> inf]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006508 </td>
6509
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006510 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006511 <ul class="entry_tags">
6512 <li><a href="#tag_BC">BC</a></li>
6513 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006514 </td>
6515
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006516 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006517
6518
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006519 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6520 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006521
6522
6523 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006524 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006525 android.<wbr/>jpeg.<wbr/>gps<wbr/>Processing<wbr/>Method
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006526 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006527 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006528 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006529
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006530 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006531
6532
6533 </td> <!-- entry_type -->
6534
6535 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006536 <p>32 characters describing GPS algorithm to
6537include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006538 </td>
6539
6540 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006541 UTF-8 null-terminated string
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006542 </td>
6543
6544 <td class="entry_range">
6545 </td>
6546
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006547 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006548 <ul class="entry_tags">
6549 <li><a href="#tag_BC">BC</a></li>
6550 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006551 </td>
6552
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006553 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006554
6555
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006556 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6557 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006558
6559
6560 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006561 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006562 android.<wbr/>jpeg.<wbr/>gps<wbr/>Timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006563 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006565 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006567 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006568
6569
6570 </td> <!-- entry_type -->
6571
6572 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006573 <p>Time GPS fix was made to include in
6574EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006575 </td>
6576
6577 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006578 UTC in seconds since January 1,<wbr/> 1970
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006579 </td>
6580
6581 <td class="entry_range">
6582 </td>
6583
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006584 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006585 <ul class="entry_tags">
6586 <li><a href="#tag_BC">BC</a></li>
6587 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006588 </td>
6589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006590 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006591
6592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006593 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6594 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006595
6596
6597 <tr class="entry" id="dynamic_android.jpeg.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006598 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006599 android.<wbr/>jpeg.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006600 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006602 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006603
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006604 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006605
6606
6607 </td> <!-- entry_type -->
6608
6609 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006610 <p>Orientation of JPEG image to
6611write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006612 </td>
6613
6614 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006615 Degrees in multiples of 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006616 </td>
6617
6618 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006619 <p>0,<wbr/> 90,<wbr/> 180,<wbr/> 270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006620 </td>
6621
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006622 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006623 <ul class="entry_tags">
6624 <li><a href="#tag_BC">BC</a></li>
6625 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006626 </td>
6627
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006628 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006629
6630
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006631 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6632 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006633
6634
6635 <tr class="entry" id="dynamic_android.jpeg.quality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006636 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006637 android.<wbr/>jpeg.<wbr/>quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006638 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006639 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006640 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006641
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006642 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006643
6644
6645 </td> <!-- entry_type -->
6646
6647 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006648 <p>Compression quality of the final JPEG
6649image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006650 </td>
6651
6652 <td class="entry_units">
6653 </td>
6654
6655 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006656 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006657 </td>
6658
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006659 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006660 <ul class="entry_tags">
6661 <li><a href="#tag_BC">BC</a></li>
6662 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006663 </td>
6664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006665 </tr>
6666 <tr class="entries_header">
6667 <th class="th_details" colspan="5">Details</th>
6668 </tr>
6669 <tr class="entry_cont">
6670 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006671 <p>85-95 is typical usage range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006672 </td>
6673 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006674
6675
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006676 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6677 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006678
6679
6680 <tr class="entry" id="dynamic_android.jpeg.size">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006681 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006682 android.<wbr/>jpeg.<wbr/>size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006683 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006686
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006687 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006688
6689
6690 </td> <!-- entry_type -->
6691
6692 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006693 <p>The size of the compressed JPEG image,<wbr/> in
6694bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006695 </td>
6696
6697 <td class="entry_units">
6698 </td>
6699
6700 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08006701 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006702 </td>
6703
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006704 <td class="entry_tags">
6705 </td>
6706
6707 </tr>
6708 <tr class="entries_header">
6709 <th class="th_details" colspan="5">Details</th>
6710 </tr>
6711 <tr class="entry_cont">
6712 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08006713 <p>If no JPEG output is produced for the request,<wbr/>
6714this must be 0.<wbr/></p>
6715<p>Otherwise,<wbr/> this describes the real size of the compressed
6716JPEG image placed in the output stream.<wbr/> More specifically,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006717if <a href="#static_android.jpeg.maxSize">android.<wbr/>jpeg.<wbr/>max<wbr/>Size</a> = 1000000,<wbr/> and a specific capture
6718has <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 -08006719the JPEG stream will be 1000000 bytes,<wbr/> of which the first
6720500000 make up the real data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006721 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006722 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006723
6724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006725 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6726 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006727
6728
6729 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006730 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08006731 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Quality
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006732 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006734 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006735
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006736 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006737
6738
6739 </td> <!-- entry_type -->
6740
6741 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006742 <p>Compression quality of JPEG
6743thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006744 </td>
6745
6746 <td class="entry_units">
6747 </td>
6748
6749 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006750 <p>1-100; larger is higher quality</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006751 </td>
6752
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006753 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006754 <ul class="entry_tags">
6755 <li><a href="#tag_BC">BC</a></li>
6756 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006757 </td>
6758
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006759 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006760
6761
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006762 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6763 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006764
6765
6766 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006767 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006768 android.<wbr/>jpeg.<wbr/>thumbnail<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006769 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006770 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006771 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006772 <span class="entry_type_container">x</span>
6773
6774 <span class="entry_type_array">
6775 2
6776 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07006777 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006778
6779
6780 </td> <!-- entry_type -->
6781
6782 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08006783 <p>Resolution of embedded JPEG thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006784 </td>
6785
6786 <td class="entry_units">
6787 </td>
6788
6789 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006790 <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 -08006791 </td>
6792
6793 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006794 <ul class="entry_tags">
6795 <li><a href="#tag_BC">BC</a></li>
6796 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006797 </td>
6798
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006799 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006800 <tr class="entries_header">
6801 <th class="th_details" colspan="5">Details</th>
6802 </tr>
6803 <tr class="entry_cont">
6804 <td class="entry_details" colspan="5">
Zhijun Hef90eeaf2014-01-16 12:13:35 -08006805 <p>When set to (0,<wbr/> 0) value,<wbr/> the JPEG EXIF will not contain thumbnail,<wbr/>
6806but the captured JPEG will still be a valid image.<wbr/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -08006807<p>When a jpeg image capture is issued,<wbr/> the thumbnail size selected should have
6808the same aspect ratio as the jpeg image.<wbr/></p>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006809 </td>
6810 </tr>
6811
6812
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006813 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6814 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006815
6816
6817
6818 <!-- end of kind -->
6819 </tbody>
6820
6821 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006822 <tr><td colspan="6" id="section_lens" class="section">lens</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006823
6824
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006825 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006827 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006828 <tr>
6829 <th class="th_name">Property Name</th>
6830 <th class="th_type">Type</th>
6831 <th class="th_description">Description</th>
6832 <th class="th_units">Units</th>
6833 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006834 <th class="th_tags">Tags</th>
6835 </tr>
6836 </thead>
6837
6838 <tbody>
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849 <tr class="entry" id="controls_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006850 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006851 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006852 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006853 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006854 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006855
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006856 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006857
6858
6859 </td> <!-- entry_type -->
6860
6861 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08006862 <p>The ratio of lens focal length to the effective
6863aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006864 </td>
6865
6866 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006867 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006868 </td>
6869
6870 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006871 <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 -08006872 </td>
6873
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006874 <td class="entry_tags">
6875 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006876 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006877 </ul>
6878 </td>
6879
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006880 </tr>
6881 <tr class="entries_header">
6882 <th class="th_details" colspan="5">Details</th>
6883 </tr>
6884 <tr class="entry_cont">
6885 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08006886 <p>This will only be supported on the camera devices that
6887have variable aperture lens.<wbr/> The aperture value can only be
6888one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
6889<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
6890this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
6891<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
6892to achieve manual exposure control.<wbr/></p>
6893<p>The requested aperture value may take several frames to reach the
6894requested value; the camera device will report the current (intermediate)
6895aperture size in capture result metadata while the aperture is changing.<wbr/></p>
6896<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
6897the ON modes,<wbr/> this will be overridden by the camera device
6898auto-exposure algorithm,<wbr/> the overridden values are then provided
6899back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006900 </td>
6901 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006902
6903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006904 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6905 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006906
6907
6908 <tr class="entry" id="controls_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006909 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006910 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006911 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006912 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006913 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006914
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006915 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006916
6917
6918 </td> <!-- entry_type -->
6919
6920 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006921 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006922 </td>
6923
6924 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006925 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006926 </td>
6927
6928 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08006929 <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 -08006930 </td>
6931
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006932 <td class="entry_tags">
6933 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006934 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006935 </ul>
6936 </td>
6937
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006938 </tr>
6939 <tr class="entries_header">
6940 <th class="th_details" colspan="5">Details</th>
6941 </tr>
6942 <tr class="entry_cont">
6943 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08006944 <p>This will not be supported on most camera devices.<wbr/> On devices
6945where this is supported,<wbr/> this may only be set to one of the
6946values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
6947<p>Lens filters are typically used to lower the amount of light the
6948sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
6949step is the standard logarithmic representation,<wbr/> which are
6950non-negative,<wbr/> and inversely proportional to the amount of light
6951hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
6952in no reduction of the incoming light,<wbr/> and setting this to 2 would
6953mean that the filter is set to reduce incoming light by two stops
6954(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006955 </td>
6956 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006957
6958
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006959 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
6960 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006961
6962
6963 <tr class="entry" id="controls_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006964 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08006965 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08006966 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006967 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006968 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006969
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006970 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006971
6972
6973 </td> <!-- entry_type -->
6974
6975 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006976 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006977 </td>
6978
6979 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08006980 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006981 </td>
6982
6983 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006984 <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 -08006985 </td>
6986
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006987 <td class="entry_tags">
6988 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006989 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006990 </ul>
6991 </td>
6992
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08006993 </tr>
6994 <tr class="entries_header">
6995 <th class="th_details" colspan="5">Details</th>
6996 </tr>
6997 <tr class="entry_cont">
6998 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08006999 <p>This setting controls the physical focal length of the camera
7000device's lens.<wbr/> Changing the focal length changes the field of
7001view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
7002<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
7003setting won't be applied instantaneously,<wbr/> and it may take several
7004frames before the lens can move to the requested focal length.<wbr/>
7005While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7006be set to MOVING.<wbr/></p>
7007<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007008 </td>
7009 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007010
7011
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007012 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7013 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007014
7015
7016 <tr class="entry" id="controls_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007017 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007018 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007019 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007020 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007021 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007022
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007023 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007024
7025
7026 </td> <!-- entry_type -->
7027
7028 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007029 <p>Distance to plane of sharpest focus,<wbr/>
7030measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007031 </td>
7032
7033 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007034 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007035 </td>
7036
7037 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007038 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007039 </td>
7040
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007041 <td class="entry_tags">
7042 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007043 <li><a href="#tag_BC">BC</a></li>
7044 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007045 </ul>
7046 </td>
7047
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007048 </tr>
7049 <tr class="entries_header">
7050 <th class="th_details" colspan="5">Details</th>
7051 </tr>
7052 <tr class="entry_cont">
7053 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007054 <p>0 = infinity focus.<wbr/> Used value should be clamped
7055to (0,<wbr/>minimum focus distance)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007056 </td>
7057 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007058
7059
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007060 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7061 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007062
7063
7064 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007065 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007066 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007067 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007068 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007069 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007070
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007071 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007072
7073 <ul class="entry_type_enum">
7074 <li>
7075 <span class="entry_type_enum_name">OFF</span>
7076 </li>
7077 <li>
7078 <span class="entry_type_enum_name">ON</span>
7079 <span class="entry_type_enum_optional">optional</span>
7080 </li>
7081 </ul>
7082
7083 </td> <!-- entry_type -->
7084
7085 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007086 <p>Whether optical image stabilization is
7087enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007088 </td>
7089
7090 <td class="entry_units">
7091 </td>
7092
7093 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007094 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007095 </td>
7096
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007097 <td class="entry_tags">
7098 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007099 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007100 </ul>
7101 </td>
7102
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007103 </tr>
7104 <tr class="entries_header">
7105 <th class="th_details" colspan="5">Details</th>
7106 </tr>
7107 <tr class="entry_cont">
7108 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007109 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007110 </td>
7111 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007112
7113
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007114 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7115 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007116
7117
7118
7119 <!-- end of kind -->
7120 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007121 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007122
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007123 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007124 <tr>
7125 <th class="th_name">Property Name</th>
7126 <th class="th_type">Type</th>
7127 <th class="th_description">Description</th>
7128 <th class="th_units">Units</th>
7129 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007130 <th class="th_tags">Tags</th>
7131 </tr>
7132 </thead>
7133
7134 <tbody>
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147 <tr class="entry" id="static_android.lens.info.availableApertures">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007148 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007149 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007150 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007151 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007152 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153 <span class="entry_type_container">x</span>
7154
7155 <span class="entry_type_array">
7156 n
7157 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007158 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007159
7160
7161 </td> <!-- entry_type -->
7162
7163 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007164 <p>List of supported aperture
Zhijun He1b58d382014-01-10 10:22:53 -08007165values.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007166 </td>
7167
7168 <td class="entry_units">
7169 </td>
7170
7171 <td class="entry_range">
Zhijun He1b58d382014-01-10 10:22:53 -08007172 <p>one entry required,<wbr/> &amp;&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007173 </td>
7174
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007175 <td class="entry_tags">
7176 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007177 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007178 </ul>
7179 </td>
7180
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007181 </tr>
7182 <tr class="entries_header">
7183 <th class="th_details" colspan="5">Details</th>
7184 </tr>
7185 <tr class="entry_cont">
7186 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007187 <p>If the camera device doesn't support variable apertures,<wbr/>
7188listed value will be the fixed aperture.<wbr/></p>
7189<p>If the camera device supports variable apertures,<wbr/> the aperture value
7190in this list will be sorted in ascending order.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007191 </td>
7192 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007193
7194
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007195 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7196 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007197
7198
7199 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007200 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007201 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007202 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007203 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007204 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007205 <span class="entry_type_container">x</span>
7206
7207 <span class="entry_type_array">
7208 n
7209 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007210 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007211
7212
7213 </td> <!-- entry_type -->
7214
7215 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007216 <p>List of supported neutral density filter values for
7217<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007218 </td>
7219
7220 <td class="entry_units">
7221 </td>
7222
7223 <td class="entry_range">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007224 <p>At least one value is required.<wbr/> Values must be &gt;= 0.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007225 </td>
7226
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007227 <td class="entry_tags">
7228 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007229 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007230 </ul>
7231 </td>
7232
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007233 </tr>
7234 <tr class="entries_header">
7235 <th class="th_details" colspan="5">Details</th>
7236 </tr>
7237 <tr class="entry_cont">
7238 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007239 <p>If changing <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> is not supported,<wbr/>
7240availableFilterDensities must contain only 0.<wbr/> Otherwise,<wbr/> this
7241list contains only the exact filter density values available on
7242this camera device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007243 </td>
7244 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007245
7246
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007247 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7248 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007249
7250
7251 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007252 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007253 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Focal<wbr/>Lengths
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007254 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007255 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007256 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007257 <span class="entry_type_container">x</span>
7258
7259 <span class="entry_type_array">
7260 n
7261 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007262 <span class="entry_type_visibility"> [public]</span>
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007263 <div class="entry_type_notes">The list of available focal lengths</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007264
7265
7266 </td> <!-- entry_type -->
7267
7268 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007269 <p>The available focal lengths for this device for use with
7270<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007271 </td>
7272
7273 <td class="entry_units">
7274 </td>
7275
7276 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007277 <p>Each value in this list must be &gt; 0.<wbr/> This list must
7278contain at least one value.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007279 </td>
7280
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007281 <td class="entry_tags">
7282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007283 <li><a href="#tag_BC">BC</a></li>
7284 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007285 </ul>
7286 </td>
7287
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007288 </tr>
7289 <tr class="entries_header">
7290 <th class="th_details" colspan="5">Details</th>
7291 </tr>
7292 <tr class="entry_cont">
7293 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007294 <p>If optical zoom is not supported,<wbr/> this will only report
7295a single value corresponding to the static focal length of the
7296device.<wbr/> Otherwise,<wbr/> this will report every focal length supported
7297by the device.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007298 </td>
7299 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007300
7301
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007302 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7303 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007304
7305
7306 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007307 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007308 android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Optical<wbr/>Stabilization
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007309 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007310 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007311 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007312 <span class="entry_type_container">x</span>
7313
7314 <span class="entry_type_array">
7315 n
7316 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007317 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007318 <div class="entry_type_notes">list of enums</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007319
7320
7321 </td> <!-- entry_type -->
7322
7323 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007324 <p>List of supported optical image
7325stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007326 </td>
7327
7328 <td class="entry_units">
7329 </td>
7330
7331 <td class="entry_range">
7332 </td>
7333
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007334 <td class="entry_tags">
7335 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007336 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007337 </ul>
7338 </td>
7339
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007340 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007341
7342
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007343 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7344 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007345
7346
7347 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007348 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007349 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007350 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007351 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007352 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007353 <span class="entry_type_container">x</span>
7354
7355 <span class="entry_type_array">
7356 2 x 3 x n x m
7357 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007358 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007359 <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 -08007360
7361
7362 </td> <!-- entry_type -->
7363
7364 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007365 <p>A low-resolution map for correction of
7366geometric distortions and chromatic aberrations,<wbr/> per
7367color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007368 </td>
7369
7370 <td class="entry_units">
7371 </td>
7372
7373 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007374 <p>N,<wbr/> M &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007375 </td>
7376
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007377 <td class="entry_tags">
7378 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007379 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007380 </ul>
7381 </td>
7382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007383 </tr>
7384 <tr class="entries_header">
7385 <th class="th_details" colspan="5">Details</th>
7386 </tr>
7387 <tr class="entry_cont">
7388 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007389 <p>[DNG wants a function instead].<wbr/> What's easiest
7390for implementers? With an array size (M,<wbr/> N),<wbr/> entry (i,<wbr/>
7391j) provides the destination for pixel (i/<wbr/>(M-1) * width,<wbr/>
7392j/<wbr/>(N-1) * height).<wbr/> Data is row-major,<wbr/> with each array
7393entry 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 -08007394 </td>
7395 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007396
7397
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007398 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7399 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007400
7401
7402 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007403 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007404 android.<wbr/>lens.<wbr/>info.<wbr/>geometric<wbr/>Correction<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007405 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007406 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007407 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408 <span class="entry_type_container">x</span>
7409
7410 <span class="entry_type_array">
7411 2
7412 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007413 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007414 <div class="entry_type_notes">width and height of geometric correction map</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007415
7416
7417 </td> <!-- entry_type -->
7418
7419 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007420 <p>Dimensions of geometric correction
7421map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007422 </td>
7423
7424 <td class="entry_units">
7425 </td>
7426
7427 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007428 <p>Both values &gt;= 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007429 </td>
7430
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007431 <td class="entry_tags">
7432 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007433 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007434 </ul>
7435 </td>
7436
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007437 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007438
7439
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007440 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7441 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007442
7443
7444 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007445 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007446 android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007447 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007448 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007449 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007450
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007451 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007452
7453
7454 </td> <!-- entry_type -->
7455
7456 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007457 <p>Hyperfocal distance for this lens; set to
74580 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007459 </td>
7460
7461 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007462 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007463 </td>
7464
7465 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007466 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007467 </td>
7468
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007469 <td class="entry_tags">
7470 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007471 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007472 </ul>
7473 </td>
7474
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007475 </tr>
7476 <tr class="entries_header">
7477 <th class="th_details" colspan="5">Details</th>
7478 </tr>
7479 <tr class="entry_cont">
7480 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007481 <p>The hyperfocal distance is used for the old
7482API's 'fixed' setting</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007483 </td>
7484 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007485
7486
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007487 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7488 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007489
7490
7491 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007492 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007493 android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007494 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007496 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007497
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007498 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007499
7500
7501 </td> <!-- entry_type -->
7502
7503 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007504 <p>Shortest distance from frontmost surface
7505of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007506 </td>
7507
7508 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007509 diopters
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007510 </td>
7511
7512 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007513 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007514 </td>
7515
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007516 <td class="entry_tags">
7517 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007518 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007519 </ul>
7520 </td>
7521
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007522 </tr>
7523 <tr class="entries_header">
7524 <th class="th_details" colspan="5">Details</th>
7525 </tr>
7526 <tr class="entry_cont">
7527 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007528 <p>If the lens is fixed-focus,<wbr/> this should be
75290</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007530 </td>
7531 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007532
7533
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007534 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7535 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007536
7537
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007538 <tr class="entry" id="static_android.lens.info.shadingMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007539 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007540 android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007541 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007542 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007543 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007544 <span class="entry_type_container">x</span>
7545
7546 <span class="entry_type_array">
7547 2
7548 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007549 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007550 <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 -08007551
7552
7553 </td> <!-- entry_type -->
7554
7555 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007556 <p>Dimensions of lens shading map.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007557 </td>
7558
7559 <td class="entry_units">
7560 </td>
7561
7562 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007563 <p>Both values &gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007564 </td>
7565
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 <td class="entry_tags">
7567 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007568 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007569 </ul>
7570 </td>
7571
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007572 </tr>
7573 <tr class="entries_header">
7574 <th class="th_details" colspan="5">Details</th>
7575 </tr>
7576 <tr class="entry_cont">
7577 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007578 <p>The map should be on the order of 30-40 rows and columns,<wbr/> and
7579must be smaller than 64x64.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007580 </td>
7581 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007582
7583
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007584 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7585 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007586
7587
7588
7589
7590
7591 <tr class="entry" id="static_android.lens.facing">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007592 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007593 android.<wbr/>lens.<wbr/>facing
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007594 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007595 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007596 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007597
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007598 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007599
7600 <ul class="entry_type_enum">
7601 <li>
7602 <span class="entry_type_enum_name">FRONT</span>
7603 </li>
7604 <li>
7605 <span class="entry_type_enum_name">BACK</span>
7606 </li>
7607 </ul>
7608
7609 </td> <!-- entry_type -->
7610
7611 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007612 <p>Direction the camera faces relative to
7613device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007614 </td>
7615
7616 <td class="entry_units">
7617 </td>
7618
7619 <td class="entry_range">
7620 </td>
7621
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007622 <td class="entry_tags">
7623 </td>
7624
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007625 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007626
7627
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007628 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7629 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630
7631
7632 <tr class="entry" id="static_android.lens.opticalAxisAngle">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007633 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007634 android.<wbr/>lens.<wbr/>optical<wbr/>Axis<wbr/>Angle
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007635 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007637 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007638 <span class="entry_type_container">x</span>
7639
7640 <span class="entry_type_array">
7641 2
7642 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007643 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007644 <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 -08007645
7646
7647 </td> <!-- entry_type -->
7648
7649 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007650 <p>Relative angle of camera optical axis to the
7651perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007652 </td>
7653
7654 <td class="entry_units">
7655 </td>
7656
7657 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007658 <p>[0-90) for first angle,<wbr/> [0-360) for second</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007659 </td>
7660
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007661 <td class="entry_tags">
7662 <ul class="entry_tags">
7663 <li><a href="#tag_ADV">ADV</a></li>
7664 </ul>
7665 </td>
7666
7667 </tr>
7668 <tr class="entries_header">
7669 <th class="th_details" colspan="5">Details</th>
7670 </tr>
7671 <tr class="entry_cont">
7672 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007673 <p>Examples:</p>
7674<p>(0,<wbr/>0) means that the camera optical axis
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007675is perpendicular to the display surface;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007676<p>(45,<wbr/>0) means that the camera points 45 degrees up when
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007677device is held upright;</p>
Igor Murashkin0b080452013-12-27 15:30:25 -08007678<p>(45,<wbr/>90) means the camera points 45 degrees to the right when
7679the device is held upright.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007680<p>Use FACING field to determine perpendicular outgoing
Igor Murashkin0b080452013-12-27 15:30:25 -08007681direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007682 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007683 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007684
7685
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007686 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7687 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007688
7689
7690 <tr class="entry" id="static_android.lens.position">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007691 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08007692 android.<wbr/>lens.<wbr/>position
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007693 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007694 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007695 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007696 <span class="entry_type_container">x</span>
7697
7698 <span class="entry_type_array">
7699 3, location in mm, in the sensor coordinate
7700 system
7701 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007702 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007703
7704
7705 </td> <!-- entry_type -->
7706
7707 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007708 <p>Coordinates of camera optical axis on
7709device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007710 </td>
7711
7712 <td class="entry_units">
7713 </td>
7714
7715 <td class="entry_range">
7716 </td>
7717
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007718 <td class="entry_tags">
7719 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007720 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007721 </ul>
7722 </td>
7723
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007724 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007725
7726
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007727 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7728 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007729
7730
7731
7732 <!-- end of kind -->
7733 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007734 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007735
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007736 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007737 <tr>
7738 <th class="th_name">Property Name</th>
7739 <th class="th_type">Type</th>
7740 <th class="th_description">Description</th>
7741 <th class="th_units">Units</th>
7742 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007743 <th class="th_tags">Tags</th>
7744 </tr>
7745 </thead>
7746
7747 <tbody>
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758 <tr class="entry" id="dynamic_android.lens.aperture">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007759 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007760 android.<wbr/>lens.<wbr/>aperture
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007761 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007762 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007763 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007764
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007765 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007766
7767
7768 </td> <!-- entry_type -->
7769
7770 <td class="entry_description">
Zhijun He1b58d382014-01-10 10:22:53 -08007771 <p>The ratio of lens focal length to the effective
7772aperture diameter.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007773 </td>
7774
7775 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007776 f-number (f/<wbr/>NNN)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007777 </td>
7778
7779 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007780 <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 -08007781 </td>
7782
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007783 <td class="entry_tags">
7784 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007785 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007786 </ul>
7787 </td>
7788
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007789 </tr>
7790 <tr class="entries_header">
7791 <th class="th_details" colspan="5">Details</th>
7792 </tr>
7793 <tr class="entry_cont">
7794 <td class="entry_details" colspan="5">
Zhijun He1b58d382014-01-10 10:22:53 -08007795 <p>This will only be supported on the camera devices that
7796have variable aperture lens.<wbr/> The aperture value can only be
7797one of the values listed in <a href="#static_android.lens.info.availableApertures">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Apertures</a>.<wbr/></p>
7798<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/>
7799this can be set along with <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
7800<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
7801to achieve manual exposure control.<wbr/></p>
7802<p>The requested aperture value may take several frames to reach the
7803requested value; the camera device will report the current (intermediate)
7804aperture size in capture result metadata while the aperture is changing.<wbr/></p>
7805<p>When this is supported and <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is one of
7806the ON modes,<wbr/> this will be overridden by the camera device
7807auto-exposure algorithm,<wbr/> the overridden values are then provided
7808back to the user in the corresponding result.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007809 </td>
7810 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007811
7812
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007813 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7814 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007815
7816
7817 <tr class="entry" id="dynamic_android.lens.filterDensity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007818 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007819 android.<wbr/>lens.<wbr/>filter<wbr/>Density
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007820 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007821 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007822 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007823
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007824 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007825
7826
7827 </td> <!-- entry_type -->
7828
7829 <td class="entry_description">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007830 <p>State of lens neutral density filter(s).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007831 </td>
7832
7833 <td class="entry_units">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007834 Steps of Exposure Value (EV).<wbr/>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007835 </td>
7836
7837 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08007838 <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 -08007839 </td>
7840
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007841 <td class="entry_tags">
7842 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007843 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007844 </ul>
7845 </td>
7846
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007847 </tr>
7848 <tr class="entries_header">
7849 <th class="th_details" colspan="5">Details</th>
7850 </tr>
7851 <tr class="entry_cont">
7852 <td class="entry_details" colspan="5">
Ruben Brunk83eb3032014-01-15 16:12:07 -08007853 <p>This will not be supported on most camera devices.<wbr/> On devices
7854where this is supported,<wbr/> this may only be set to one of the
7855values included in <a href="#static_android.lens.info.availableFilterDensities">android.<wbr/>lens.<wbr/>info.<wbr/>available<wbr/>Filter<wbr/>Densities</a>.<wbr/></p>
7856<p>Lens filters are typically used to lower the amount of light the
7857sensor is exposed to (measured in steps of EV).<wbr/> As used here,<wbr/> an EV
7858step is the standard logarithmic representation,<wbr/> which are
7859non-negative,<wbr/> and inversely proportional to the amount of light
7860hitting the sensor.<wbr/> For example,<wbr/> setting this to 0 would result
7861in no reduction of the incoming light,<wbr/> and setting this to 2 would
7862mean that the filter is set to reduce incoming light by two stops
7863(allowing 1/<wbr/>4 of the prior amount of light to the sensor).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007864 </td>
7865 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007866
7867
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007868 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7869 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007870
7871
7872 <tr class="entry" id="dynamic_android.lens.focalLength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007873 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007874 android.<wbr/>lens.<wbr/>focal<wbr/>Length
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007875 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007876 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007877 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007878
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007879 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007880
7881
7882 </td> <!-- entry_type -->
7883
7884 <td class="entry_description">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007885 <p>The current lens focal length; used for optical zoom.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007886 </td>
7887
7888 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007889 focal length in mm
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007890 </td>
7891
7892 <td class="entry_range">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007893 <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 -08007894 </td>
7895
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007896 <td class="entry_tags">
7897 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007898 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007899 </ul>
7900 </td>
7901
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007902 </tr>
7903 <tr class="entries_header">
7904 <th class="th_details" colspan="5">Details</th>
7905 </tr>
7906 <tr class="entry_cont">
7907 <td class="entry_details" colspan="5">
Ruben Brunkac9bbb92014-01-15 18:39:35 -08007908 <p>This setting controls the physical focal length of the camera
7909device's lens.<wbr/> Changing the focal length changes the field of
7910view of the camera device,<wbr/> and is usually used for optical zoom.<wbr/></p>
7911<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
7912setting won't be applied instantaneously,<wbr/> and it may take several
7913frames before the lens can move to the requested focal length.<wbr/>
7914While the focal length is still changing,<wbr/> <a href="#dynamic_android.lens.state">android.<wbr/>lens.<wbr/>state</a> will
7915be set to MOVING.<wbr/></p>
7916<p>This is expected not to be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007917 </td>
7918 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007919
7920
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007921 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7922 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007923
7924
7925 <tr class="entry" id="dynamic_android.lens.focusDistance">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007926 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007927 android.<wbr/>lens.<wbr/>focus<wbr/>Distance
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007928 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007929 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007930 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007931
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007932 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007933
7934
7935 </td> <!-- entry_type -->
7936
7937 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007938 <p>Distance to plane of sharpest focus,<wbr/>
7939measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007940 </td>
7941
7942 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007943 diopters (1/<wbr/>m)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007944 </td>
7945
7946 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007947 <p>&gt;= 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007948 </td>
7949
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007950 <td class="entry_tags">
7951 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007952 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007953 </ul>
7954 </td>
7955
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007956 </tr>
7957 <tr class="entries_header">
7958 <th class="th_details" colspan="5">Details</th>
7959 </tr>
7960 <tr class="entry_cont">
7961 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08007962 <p>Should be zero for fixed-focus cameras</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007963 </td>
7964 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007965
7966
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08007967 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
7968 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007969
7970
7971 <tr class="entry" id="dynamic_android.lens.focusRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007972 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08007973 android.<wbr/>lens.<wbr/>focus<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08007974 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007975 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007976 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07007977 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007978
Zhijun He50451ad2013-09-26 10:27:47 -07007979 <span class="entry_type_array">
7980 2
7981 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007982 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -08007983 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007984
7985
7986 </td> <!-- entry_type -->
7987
7988 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08007989 <p>The range of scene distances that are in
7990sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007991 </td>
7992
7993 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08007994 pair of focus distances in diopters: (near,<wbr/>
7995 far)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007996 </td>
7997
7998 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08007999 <p>&gt;=0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008000 </td>
8001
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008002 <td class="entry_tags">
8003 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008004 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008005 </ul>
8006 </td>
8007
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008008 </tr>
8009 <tr class="entries_header">
8010 <th class="th_details" colspan="5">Details</th>
8011 </tr>
8012 <tr class="entry_cont">
8013 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008014 <p>If variable focus not supported,<wbr/> can still report
8015fixed depth of field range</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008016 </td>
8017 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008018
8019
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008020 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8021 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008022
8023
8024 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008025 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008026 android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008027 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008029 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008030
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008031 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008032
8033 <ul class="entry_type_enum">
8034 <li>
8035 <span class="entry_type_enum_name">OFF</span>
8036 </li>
8037 <li>
8038 <span class="entry_type_enum_name">ON</span>
8039 <span class="entry_type_enum_optional">optional</span>
8040 </li>
8041 </ul>
8042
8043 </td> <!-- entry_type -->
8044
8045 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008046 <p>Whether optical image stabilization is
8047enabled.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008048 </td>
8049
8050 <td class="entry_units">
8051 </td>
8052
8053 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008054 <p>android.<wbr/>lens.<wbr/>available<wbr/>Optical<wbr/>Stabilization</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008055 </td>
8056
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008057 <td class="entry_tags">
8058 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008059 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008060 </ul>
8061 </td>
8062
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008063 </tr>
8064 <tr class="entries_header">
8065 <th class="th_details" colspan="5">Details</th>
8066 </tr>
8067 <tr class="entry_cont">
8068 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008069 <p>Will not be supported on most devices.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008070 </td>
8071 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008072
8073
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008074 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8075 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008076
8077
8078 <tr class="entry" id="dynamic_android.lens.state">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008079 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008080 android.<wbr/>lens.<wbr/>state
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008081 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008082 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008083 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008084
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008085 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008086
8087 <ul class="entry_type_enum">
8088 <li>
8089 <span class="entry_type_enum_name">STATIONARY</span>
8090 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07008091 <li>
8092 <span class="entry_type_enum_name">MOVING</span>
8093 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008094 </ul>
8095
8096 </td> <!-- entry_type -->
8097
8098 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008099 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008100 </td>
8101
8102 <td class="entry_units">
8103 </td>
8104
8105 <td class="entry_range">
8106 </td>
8107
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008108 <td class="entry_tags">
8109 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008110 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008111 </ul>
8112 </td>
8113
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008114 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008115
8116
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008117 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8118 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008119
8120
8121
8122 <!-- end of kind -->
8123 </tbody>
8124
8125 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008126 <tr><td colspan="6" id="section_noiseReduction" class="section">noiseReduction</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008127
8128
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008129 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008130
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008131 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008132 <tr>
8133 <th class="th_name">Property Name</th>
8134 <th class="th_type">Type</th>
8135 <th class="th_description">Description</th>
8136 <th class="th_units">Units</th>
8137 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008138 <th class="th_tags">Tags</th>
8139 </tr>
8140 </thead>
8141
8142 <tbody>
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153 <tr class="entry" id="controls_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008154 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008155 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008156 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008157 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008158 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008159
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008160 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008161
8162 <ul class="entry_type_enum">
8163 <li>
8164 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008165 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008166 </li>
8167 <li>
8168 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008169 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8170output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008171 </li>
8172 <li>
8173 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008174 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8175quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008176 </li>
8177 </ul>
8178
8179 </td> <!-- entry_type -->
8180
8181 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008182 <p>Mode of operation for the noise reduction
8183algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008184 </td>
8185
8186 <td class="entry_units">
8187 </td>
8188
8189 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008190 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008191 </td>
8192
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008193 <td class="entry_tags">
8194 <ul class="entry_tags">
8195 <li><a href="#tag_V1">V1</a></li>
8196 </ul>
8197 </td>
8198
8199 </tr>
8200 <tr class="entries_header">
8201 <th class="th_details" colspan="5">Details</th>
8202 </tr>
8203 <tr class="entry_cont">
8204 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008205 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8206will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008207<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8208will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8209will use the highest-quality noise filtering algorithms,<wbr/>
8210even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008211slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008212 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008213 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008214
8215
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008216 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8217 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008218
8219
8220 <tr class="entry" id="controls_android.noiseReduction.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008221 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008222 android.<wbr/>noise<wbr/>Reduction.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008223 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008224 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008225 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008227 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008228
8229
8230 </td> <!-- entry_type -->
8231
8232 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008233 <p>Control the amount of noise reduction
8234applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008235 </td>
8236
8237 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008238 1-10; 10 is max noise reduction
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008239 </td>
8240
8241 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008242 <p>1 - 10</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008243 </td>
8244
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008245 <td class="entry_tags">
8246 </td>
8247
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008248 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008249
8250
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008251 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8252 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008253
8254
8255
8256 <!-- end of kind -->
8257 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008258 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008259
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008260 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008261 <tr>
8262 <th class="th_name">Property Name</th>
8263 <th class="th_type">Type</th>
8264 <th class="th_description">Description</th>
8265 <th class="th_units">Units</th>
8266 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008267 <th class="th_tags">Tags</th>
8268 </tr>
8269 </thead>
8270
8271 <tbody>
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282 <tr class="entry" id="dynamic_android.noiseReduction.mode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008283 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008284 android.<wbr/>noise<wbr/>Reduction.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008285 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008286 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008287 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008288
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008289 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008290
8291 <ul class="entry_type_enum">
8292 <li>
8293 <span class="entry_type_enum_name">OFF</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008294 <span class="entry_type_enum_notes"><p>No noise reduction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008295 </li>
8296 <li>
8297 <span class="entry_type_enum_name">FAST</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008298 <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to sensor
8299output</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008300 </li>
8301 <li>
8302 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008303 <span class="entry_type_enum_notes"><p>May slow down frame rate to provide highest
8304quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008305 </li>
8306 </ul>
8307
8308 </td> <!-- entry_type -->
8309
8310 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008311 <p>Mode of operation for the noise reduction
8312algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008313 </td>
8314
8315 <td class="entry_units">
8316 </td>
8317
8318 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008319 <p>android.<wbr/>noise<wbr/>Reduction.<wbr/>available<wbr/>Modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008320 </td>
8321
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008322 <td class="entry_tags">
8323 <ul class="entry_tags">
8324 <li><a href="#tag_V1">V1</a></li>
8325 </ul>
8326 </td>
8327
8328 </tr>
8329 <tr class="entries_header">
8330 <th class="th_details" colspan="5">Details</th>
8331 </tr>
8332 <tr class="entry_cont">
8333 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008334 <p>Noise filtering control.<wbr/> OFF means no noise reduction
8335will be applied by the HAL.<wbr/></p>
Zhijun Hef90eeaf2014-01-16 12:13:35 -08008336<p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean camera device determined noise filtering
8337will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device
8338will use the highest-quality noise filtering algorithms,<wbr/>
8339even if it slows down capture rate.<wbr/> FAST means the camera device should not
Igor Murashkin0b080452013-12-27 15:30:25 -08008340slow down capture rate when applying noise filtering.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008341 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008342 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008343
8344
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008345 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8346 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008347
8348
8349
8350 <!-- end of kind -->
8351 </tbody>
8352
8353 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008354 <tr><td colspan="6" id="section_quirks" class="section">quirks</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008355
8356
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008357 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008358
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008359 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008360 <tr>
8361 <th class="th_name">Property Name</th>
8362 <th class="th_type">Type</th>
8363 <th class="th_description">Description</th>
8364 <th class="th_units">Units</th>
8365 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008366 <th class="th_tags">Tags</th>
8367 </tr>
8368 </thead>
8369
8370 <tbody>
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381 <tr class="entry" id="static_android.quirks.meteringCropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008382 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008383 android.<wbr/>quirks.<wbr/>metering<wbr/>Crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008384 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008385 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008386 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008387
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008388 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008389
8390
8391 </td> <!-- entry_type -->
8392
8393 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008394 <p>If set to 1,<wbr/> the camera service does not
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008395scale 'normalized' coordinates with respect to the crop
Igor Murashkin0b080452013-12-27 15:30:25 -08008396region.<wbr/> This applies to metering input (a{e,<wbr/>f,<wbr/>wb}Region
8397and output (face rectangles).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008398 </td>
8399
8400 <td class="entry_units">
8401 </td>
8402
8403 <td class="entry_range">
8404 </td>
8405
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008406 <td class="entry_tags">
8407 </td>
8408
8409 </tr>
8410 <tr class="entries_header">
8411 <th class="th_details" colspan="5">Details</th>
8412 </tr>
8413 <tr class="entry_cont">
8414 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008415 <p>Normalized coordinates refer to those in the
8416(-1000,<wbr/>1000) range mentioned in the
8417android.<wbr/>hardware.<wbr/>Camera API.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008418<p>HAL implementations should instead always use and emit
Igor Murashkin0b080452013-12-27 15:30:25 -08008419sensor array-relative coordinates for all region data.<wbr/> Does
8420not need to be listed in static metadata.<wbr/> Support will be
8421removed in future versions of camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008422 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008423 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008424
8425
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008426 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8427 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008428
8429
8430 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008431 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008432 android.<wbr/>quirks.<wbr/>trigger<wbr/>Af<wbr/>With<wbr/>Auto
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008433 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008435 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008436
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008437 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008438
8439
8440 </td> <!-- entry_type -->
8441
8442 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008443 <p>If set to 1,<wbr/> then the camera service always
8444switches to FOCUS_<wbr/>MODE_<wbr/>AUTO before issuing a AF
8445trigger.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008446 </td>
8447
8448 <td class="entry_units">
8449 </td>
8450
8451 <td class="entry_range">
8452 </td>
8453
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008454 <td class="entry_tags">
8455 </td>
8456
8457 </tr>
8458 <tr class="entries_header">
8459 <th class="th_details" colspan="5">Details</th>
8460 </tr>
8461 <tr class="entry_cont">
8462 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008463 <p>HAL implementations should implement AF trigger
8464modes for AUTO,<wbr/> MACRO,<wbr/> CONTINUOUS_<wbr/>FOCUS,<wbr/> and
8465CONTINUOUS_<wbr/>PICTURE modes instead of using this flag.<wbr/> Does
8466not need to be listed in static metadata.<wbr/> Support will be
8467removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008468 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008469 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008470
8471
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008472 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8473 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008474
8475
8476 <tr class="entry" id="static_android.quirks.useZslFormat">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008477 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008478 android.<wbr/>quirks.<wbr/>use<wbr/>Zsl<wbr/>Format
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008479 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008480 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008481 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008482
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008483 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008484
8485
8486 </td> <!-- entry_type -->
8487
8488 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008489 <p>If set to 1,<wbr/> the camera service uses
8490CAMERA2_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>ZSL instead of
8491HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>IMPLEMENTATION_<wbr/>DEFINED for the zero
8492shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008493 </td>
8494
8495 <td class="entry_units">
8496 </td>
8497
8498 <td class="entry_range">
8499 </td>
8500
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008501 <td class="entry_tags">
8502 </td>
8503
8504 </tr>
8505 <tr class="entries_header">
8506 <th class="th_details" colspan="5">Details</th>
8507 </tr>
8508 <tr class="entry_cont">
8509 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008510 <p>HAL implementations should use gralloc usage flags
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008511to determine that a stream will be used for
Igor Murashkin0b080452013-12-27 15:30:25 -08008512zero-shutter-lag,<wbr/> instead of relying on an explicit
8513format setting.<wbr/> Does not need to be listed in static
8514metadata.<wbr/> Support will be removed in future versions of
8515camera service.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008516 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008517 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008518
8519
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008520 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8521 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008522
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008523
8524 <tr class="entry" id="static_android.quirks.usePartialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008525 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008526 android.<wbr/>quirks.<wbr/>use<wbr/>Partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008527 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008528 <td class="entry_type">
8529 <span class="entry_type_name">byte</span>
8530
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008531 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008532
8533
8534 </td> <!-- entry_type -->
8535
8536 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008537 <p>If set to 1,<wbr/> the HAL will always split result
8538metadata for a single capture into multiple buffers,<wbr/>
8539returned using multiple process_<wbr/>capture_<wbr/>result calls.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008540 </td>
8541
8542 <td class="entry_units">
8543 </td>
8544
8545 <td class="entry_range">
8546 </td>
8547
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008548 <td class="entry_tags">
8549 </td>
8550
8551 </tr>
8552 <tr class="entries_header">
8553 <th class="th_details" colspan="5">Details</th>
8554 </tr>
8555 <tr class="entry_cont">
8556 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008557 <p>Does not need to be listed in static
8558metadata.<wbr/> Support for partial results will be reworked in
8559future versions of camera service.<wbr/> This quirk will stop
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008560working at that point; DO NOT USE without careful
Igor Murashkin0b080452013-12-27 15:30:25 -08008561consideration of future support.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008562 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008563 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008564
8565
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008566 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8567 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008568
8569
8570
8571 <!-- end of kind -->
8572 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008573 <tr><td colspan="6" class="kind">dynamic</td></tr>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008574
8575 <thead class="entries_header">
8576 <tr>
8577 <th class="th_name">Property Name</th>
8578 <th class="th_type">Type</th>
8579 <th class="th_description">Description</th>
8580 <th class="th_units">Units</th>
8581 <th class="th_range">Range</th>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008582 <th class="th_tags">Tags</th>
8583 </tr>
8584 </thead>
8585
8586 <tbody>
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597 <tr class="entry" id="dynamic_android.quirks.partialResult">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008598 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008599 android.<wbr/>quirks.<wbr/>partial<wbr/>Result
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008600 </td>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008601 <td class="entry_type">
8602 <span class="entry_type_name entry_type_name_enum">byte</span>
8603
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08008604 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008605
8606 <ul class="entry_type_enum">
8607 <li>
8608 <span class="entry_type_enum_name">FINAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008609 <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
8610for this capture.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008611 </li>
8612 <li>
8613 <span class="entry_type_enum_name">PARTIAL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008614 <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
8615capture.<wbr/> More result buffers for this capture will be sent
8616by the HAL,<wbr/> the last of which will be marked
8617FINAL.<wbr/></p></span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008618 </li>
8619 </ul>
8620
8621 </td> <!-- entry_type -->
8622
8623 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008624 <p>Whether a result given to the framework is the
8625final one for the capture,<wbr/> or only a partial that contains a
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008626subset of the full set of dynamic metadata
Igor Murashkin0b080452013-12-27 15:30:25 -08008627values.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008628 </td>
8629
8630 <td class="entry_units">
8631 </td>
8632
8633 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008634 <p>Optional.<wbr/> Default value is FINAL.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008635 </td>
8636
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008637 <td class="entry_tags">
8638 </td>
8639
8640 </tr>
8641 <tr class="entries_header">
8642 <th class="th_details" colspan="5">Details</th>
8643 </tr>
8644 <tr class="entry_cont">
8645 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008646 <p>The entries in the result metadata buffers for a
8647single capture may not overlap,<wbr/> except for this entry.<wbr/> The
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008648FINAL buffers must retain FIFO ordering relative to the
Igor Murashkin0b080452013-12-27 15:30:25 -08008649requests that generate them,<wbr/> so the FINAL buffer for frame 3 must
8650always be sent to the framework after the FINAL buffer for frame 2,<wbr/> and
8651before the FINAL buffer for frame 4.<wbr/> PARTIAL buffers may be returned
8652in any order relative to other frames,<wbr/> but all PARTIAL buffers for a given
8653capture must arrive before the FINAL buffer for that capture.<wbr/> This entry may
8654only be used by the HAL if quirks.<wbr/>usePartialResult is set to 1.<wbr/></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008655 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008656 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008657
8658
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008659 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8660 <!-- end of entry -->
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07008661
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008662
8663
8664 <!-- end of kind -->
8665 </tbody>
8666
8667 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008668 <tr><td colspan="6" id="section_request" class="section">request</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008669
8670
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008671 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008674 <tr>
8675 <th class="th_name">Property Name</th>
8676 <th class="th_type">Type</th>
8677 <th class="th_description">Description</th>
8678 <th class="th_units">Units</th>
8679 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008680 <th class="th_tags">Tags</th>
8681 </tr>
8682 </thead>
8683
8684 <tbody>
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695 <tr class="entry" id="controls_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008696 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008697 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008698 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008699 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008700 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008701
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008702 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008703
8704
8705 </td> <!-- entry_type -->
8706
8707 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008708 <p>A frame counter set by the framework.<wbr/> Must
8709be maintained unchanged in output frame.<wbr/> This value monotonically
8710increases with every new result (that is,<wbr/> each new result has a unique
8711frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008712 </td>
8713
8714 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008715 incrementing integer
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008716 </td>
8717
8718 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008719 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008720 </td>
8721
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008722 <td class="entry_tags">
8723 </td>
8724
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008725 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008726
8727
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008728 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8729 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008730
8731
8732 <tr class="entry" id="controls_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008733 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008734 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008735 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008736 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008737 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008738
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008739 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008740
8741
8742 </td> <!-- entry_type -->
8743
8744 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008745 <p>An application-specified ID for the current
8746request.<wbr/> Must be maintained unchanged in output
8747frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008748 </td>
8749
8750 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008751 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008752 </td>
8753
8754 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008755 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008756 </td>
8757
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008758 <td class="entry_tags">
8759 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008760 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008761 </ul>
8762 </td>
8763
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008764 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008765
8766
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008767 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8768 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008769
8770
8771 <tr class="entry" id="controls_android.request.inputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008772 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008773 android.<wbr/>request.<wbr/>input<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008774 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008775 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008776 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008777 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008778
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008779 <span class="entry_type_array">
8780 n
8781 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008782 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008783
8784
8785 </td> <!-- entry_type -->
8786
8787 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008788 <p>List which camera reprocess stream is used
8789for the source of reprocessing data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008790 </td>
8791
8792 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008793 List of camera reprocess stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008794 </td>
8795
8796 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008797 <p>Typically,<wbr/> only one entry allowed,<wbr/> must be a valid
8798reprocess stream ID.<wbr/></p>
8799<p>If android.<wbr/>jpeg.<wbr/>needs<wbr/>Thumbnail is set,<wbr/> then multiple
8800reprocess streams may be included in a single request; they
8801must be different scaled versions of the same image.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008802 </td>
8803
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008804 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008805 <ul class="entry_tags">
8806 <li><a href="#tag_HAL2">HAL2</a></li>
8807 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008808 </td>
8809
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008810 </tr>
8811 <tr class="entries_header">
8812 <th class="th_details" colspan="5">Details</th>
8813 </tr>
8814 <tr class="entry_cont">
8815 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008816 <p>Only meaningful when <a href="#controls_android.request.type">android.<wbr/>request.<wbr/>type</a> ==
Igor Murashkin0b080452013-12-27 15:30:25 -08008817REPROCESS.<wbr/> Ignored otherwise</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008818 </td>
8819 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008820
8821
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008822 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8823 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008824
8825
8826 <tr class="entry" id="controls_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008827 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008828 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008829 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008830 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008831 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008832
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008833 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008834
8835 <ul class="entry_type_enum">
8836 <li>
8837 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008838 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
8839for application-bound buffer data.<wbr/> If no
8840application-bound streams exist,<wbr/> no frame should be
8841placed in the output frame queue.<wbr/> If such streams
8842exist,<wbr/> a frame should be placed on the output queue
8843with null metadata but with the necessary output buffer
8844information.<wbr/> Timestamp information should still be
8845included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008846 </li>
8847 <li>
8848 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008849 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
8850only be produced if they are separately
8851enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008852 </li>
8853 </ul>
8854
8855 </td> <!-- entry_type -->
8856
8857 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008858 <p>How much metadata to produce on
8859output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008860 </td>
8861
8862 <td class="entry_units">
8863 </td>
8864
8865 <td class="entry_range">
8866 </td>
8867
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008868 <td class="entry_tags">
8869 </td>
8870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008871 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008872
8873
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008874 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8875 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008876
8877
8878 <tr class="entry" id="controls_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008879 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08008880 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008881 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008882 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07008883 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008884 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008885
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008886 <span class="entry_type_array">
8887 n
8888 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008889 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008890
8891
8892 </td> <!-- entry_type -->
8893
8894 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008895 <p>Lists which camera output streams image data
8896from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008897 </td>
8898
8899 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08008900 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008901 </td>
8902
8903 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08008904 <p>List must only include streams that have been
8905created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008906 </td>
8907
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008908 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008909 <ul class="entry_tags">
8910 <li><a href="#tag_HAL2">HAL2</a></li>
8911 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008912 </td>
8913
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008914 </tr>
8915 <tr class="entries_header">
8916 <th class="th_details" colspan="5">Details</th>
8917 </tr>
8918 <tr class="entry_cont">
8919 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08008920 <p>If no output streams are listed,<wbr/> then the image
8921data should simply be discarded.<wbr/> The image data must
8922still be captured for metadata and statistics production,<wbr/>
8923and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008924 </td>
8925 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008926
8927
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008928 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8929 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008930
8931
8932 <tr class="entry" id="controls_android.request.type">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008933 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08008934 android.<wbr/>request.<wbr/>type
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008935 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008936 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008937 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008938
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008939 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008940
8941 <ul class="entry_type_enum">
8942 <li>
8943 <span class="entry_type_enum_name">CAPTURE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008944 <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
8945and process it according to the
8946settings</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008947 </li>
8948 <li>
8949 <span class="entry_type_enum_name">REPROCESS</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08008950 <span class="entry_type_enum_notes"><p>Process previously captured data; the
8951android.<wbr/>request.<wbr/>input<wbr/>Stream parameter determines the
8952source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
8953needed for reprocessing with [RP]</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008954 </li>
8955 </ul>
8956
8957 </td> <!-- entry_type -->
8958
8959 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08008960 <p>The type of the request; either CAPTURE or
8961REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008962 </td>
8963
8964 <td class="entry_units">
8965 </td>
8966
8967 <td class="entry_range">
8968 </td>
8969
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008970 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008971 <ul class="entry_tags">
8972 <li><a href="#tag_HAL2">HAL2</a></li>
8973 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008974 </td>
8975
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008976 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08008977
8978
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008979 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
8980 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008981
8982
8983
8984 <!-- end of kind -->
8985 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08008986 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008987
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008988 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008989 <tr>
8990 <th class="th_name">Property Name</th>
8991 <th class="th_type">Type</th>
8992 <th class="th_description">Description</th>
8993 <th class="th_units">Units</th>
8994 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008995 <th class="th_tags">Tags</th>
8996 </tr>
8997 </thead>
8998
8999 <tbody>
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010 <tr class="entry" id="static_android.request.maxNumOutputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009011 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009012 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009013 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009015 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009016 <span class="entry_type_container">x</span>
9017
9018 <span class="entry_type_array">
9019 3
9020 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009021 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009022
9023
9024 </td> <!-- entry_type -->
9025
9026 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009027 <p>How many output streams can be allocated at
9028the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009029 </td>
9030
9031 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009032 The number of raw sensor streams; the number of
9033 processed,<wbr/> uncompressed streams; and the number of
9034 JPEG-compressed streams
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009035 </td>
9036
9037 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009038 <p>&gt;=1 for Raw and JPEG-compressed stream.<wbr/> &gt;= 3
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009039for processed,<wbr/> uncompressed streams</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009040 </td>
9041
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009042 <td class="entry_tags">
9043 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009044 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009045 </ul>
9046 </td>
9047
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009048 </tr>
9049 <tr class="entries_header">
9050 <th class="th_details" colspan="5">Details</th>
9051 </tr>
9052 <tr class="entry_cont">
9053 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009054 <p>Video snapshot with preview callbacks requires 3
9055processed streams (preview,<wbr/> record,<wbr/> app callbacks) and
9056one JPEG stream (snapshot)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009057 </td>
9058 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009059
9060
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009061 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9062 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009063
9064
9065 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009066 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009067 android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Reprocess<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009068 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009069 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009070 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009071 <span class="entry_type_container">x</span>
9072
9073 <span class="entry_type_array">
9074 1
9075 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009076 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009077
9078
9079 </td> <!-- entry_type -->
9080
9081 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009082 <p>How many reprocessing streams of any type
9083can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009084 </td>
9085
9086 <td class="entry_units">
9087 </td>
9088
9089 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009090 <p>&gt;= 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009091 </td>
9092
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009093 <td class="entry_tags">
9094 </td>
9095
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009096 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009097
9098
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009099 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9100 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009101
Igor Murashkina46e02f2014-01-09 17:43:38 -08009102
9103 <tr class="entry" id="static_android.request.pipelineMaxDepth">
9104 <td class="entry_name" rowspan="5">
9105 android.<wbr/>request.<wbr/>pipeline<wbr/>Max<wbr/>Depth
9106 </td>
9107 <td class="entry_type">
9108 <span class="entry_type_name">byte</span>
9109
9110 <span class="entry_type_visibility"> [public]</span>
9111
9112
9113 </td> <!-- entry_type -->
9114
9115 <td class="entry_description">
9116 <p>Specifies the number of maximum pipeline stages a frame
9117has to go through from when it's exposed to when it's available
9118to the framework.<wbr/></p>
9119 </td>
9120
9121 <td class="entry_units">
9122 </td>
9123
9124 <td class="entry_range">
9125 </td>
9126
9127 <td class="entry_tags">
9128 </td>
9129
9130 </tr>
9131 <tr class="entries_header">
9132 <th class="th_details" colspan="5">Details</th>
9133 </tr>
9134 <tr class="entry_cont">
9135 <td class="entry_details" colspan="5">
9136 <p>A typical minimum value for this is 2 (one stage to expose,<wbr/>
9137one stage to readout) from the sensor.<wbr/> The ISP then usually adds
9138its own stages to do custom HW processing.<wbr/> Further stages may be
9139added by SW processing.<wbr/></p>
9140<p>Depending on what settings are used (e.<wbr/>g.<wbr/> YUV,<wbr/> JPEG) and what
9141processing is enabled (e.<wbr/>g.<wbr/> face detection),<wbr/> the actual pipeline
9142depth (specified by <a href="#dynamic_android.request.pipelineDepth">android.<wbr/>request.<wbr/>pipeline<wbr/>Depth</a>) may be less than
9143the max pipeline depth.<wbr/></p>
9144<p>A pipeline depth of X stages is equivalent to a pipeline latency of
9145X frame intervals.<wbr/></p>
9146<p>This value will be 8 or less.<wbr/></p>
9147 </td>
9148 </tr>
9149
9150 <tr class="entries_header">
9151 <th class="th_details" colspan="5">HAL Implementation Details</th>
9152 </tr>
9153 <tr class="entry_cont">
9154 <td class="entry_details" colspan="5">
9155 <p>This value should be 4 or less.<wbr/></p>
9156 </td>
9157 </tr>
9158
9159 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9160 <!-- end of entry -->
9161
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009162
9163
9164 <!-- end of kind -->
9165 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009166 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009167
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009168 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009169 <tr>
9170 <th class="th_name">Property Name</th>
9171 <th class="th_type">Type</th>
9172 <th class="th_description">Description</th>
9173 <th class="th_units">Units</th>
9174 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009175 <th class="th_tags">Tags</th>
9176 </tr>
9177 </thead>
9178
9179 <tbody>
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190 <tr class="entry" id="dynamic_android.request.frameCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009191 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009192 android.<wbr/>request.<wbr/>frame<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009193 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009194 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009195 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009196
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009197 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009198
9199
9200 </td> <!-- entry_type -->
9201
9202 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009203 <p>A frame counter set by the framework.<wbr/> This value monotonically
9204increases with every new result (that is,<wbr/> each new result has a unique
9205frameCount value).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009206 </td>
9207
9208 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009209 count of frames
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009210 </td>
9211
9212 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009213 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009214 </td>
9215
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009216 <td class="entry_tags">
9217 </td>
9218
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009219 </tr>
9220 <tr class="entries_header">
9221 <th class="th_details" colspan="5">Details</th>
9222 </tr>
9223 <tr class="entry_cont">
9224 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009225 <p>Reset on release()</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009226 </td>
9227 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009228
9229
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009230 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9231 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009232
9233
9234 <tr class="entry" id="dynamic_android.request.id">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009235 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009236 android.<wbr/>request.<wbr/>id
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009237 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009238 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009239 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009240
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009241 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009242
9243
9244 </td> <!-- entry_type -->
9245
9246 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009247 <p>An application-specified ID for the current
9248request.<wbr/> Must be maintained unchanged in output
9249frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009250 </td>
9251
9252 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009253 arbitrary integer assigned by application
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009254 </td>
9255
9256 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009257 <p>Any int</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009258 </td>
9259
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009260 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009261 <ul class="entry_tags">
9262 <li><a href="#tag_V1">V1</a></li>
9263 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009264 </td>
9265
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009266 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009267
9268
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009269 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9270 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009271
9272
9273 <tr class="entry" id="dynamic_android.request.metadataMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009274 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009275 android.<wbr/>request.<wbr/>metadata<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009276 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009277 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009278 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009279
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009280 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009281
9282 <ul class="entry_type_enum">
9283 <li>
9284 <span class="entry_type_enum_name">NONE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009285 <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
9286for application-bound buffer data.<wbr/> If no
9287application-bound streams exist,<wbr/> no frame should be
9288placed in the output frame queue.<wbr/> If such streams
9289exist,<wbr/> a frame should be placed on the output queue
9290with null metadata but with the necessary output buffer
9291information.<wbr/> Timestamp information should still be
9292included with any output stream buffers</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009293 </li>
9294 <li>
9295 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009296 <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
9297only be produced if they are separately
9298enabled</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009299 </li>
9300 </ul>
9301
9302 </td> <!-- entry_type -->
9303
9304 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009305 <p>How much metadata to produce on
9306output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009307 </td>
9308
9309 <td class="entry_units">
9310 </td>
9311
9312 <td class="entry_range">
9313 </td>
9314
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009315 <td class="entry_tags">
9316 </td>
9317
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009318 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009319
9320
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009321 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9322 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009323
9324
9325 <tr class="entry" id="dynamic_android.request.outputStreams">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009326 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009327 android.<wbr/>request.<wbr/>output<wbr/>Streams
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009328 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009329 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07009330 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009331 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009332
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009333 <span class="entry_type_array">
9334 n
9335 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009336 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009337
9338
9339 </td> <!-- entry_type -->
9340
9341 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009342 <p>Lists which camera output streams image data
9343from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009344 </td>
9345
9346 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009347 List of camera stream IDs
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009348 </td>
9349
9350 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -08009351 <p>List must only include streams that have been
9352created</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009353 </td>
9354
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009355 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009356 <ul class="entry_tags">
9357 <li><a href="#tag_HAL2">HAL2</a></li>
9358 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009359 </td>
9360
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009361 </tr>
9362 <tr class="entries_header">
9363 <th class="th_details" colspan="5">Details</th>
9364 </tr>
9365 <tr class="entry_cont">
9366 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009367 <p>If no output streams are listed,<wbr/> then the image
9368data should simply be discarded.<wbr/> The image data must
9369still be captured for metadata and statistics production,<wbr/>
9370and the lens and flash must operate as requested.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009371 </td>
9372 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009373
9374
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009375 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9376 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009377
Igor Murashkina46e02f2014-01-09 17:43:38 -08009378
9379 <tr class="entry" id="dynamic_android.request.pipelineDepth">
9380 <td class="entry_name" rowspan="5">
9381 android.<wbr/>request.<wbr/>pipeline<wbr/>Depth
9382 </td>
9383 <td class="entry_type">
9384 <span class="entry_type_name">byte</span>
9385
9386 <span class="entry_type_visibility"> [public]</span>
9387
9388
9389 </td> <!-- entry_type -->
9390
9391 <td class="entry_description">
9392 <p>Specifies the number of pipeline stages the frame went
9393through from when it was exposed to when the final completed result
9394was available to the framework.<wbr/></p>
9395 </td>
9396
9397 <td class="entry_units">
9398 </td>
9399
9400 <td class="entry_range">
9401 <p>&lt;= <a href="#static_android.request.pipelineMaxDepth">android.<wbr/>request.<wbr/>pipeline<wbr/>Max<wbr/>Depth</a></p>
9402 </td>
9403
9404 <td class="entry_tags">
9405 </td>
9406
9407 </tr>
9408 <tr class="entries_header">
9409 <th class="th_details" colspan="5">Details</th>
9410 </tr>
9411 <tr class="entry_cont">
9412 <td class="entry_details" colspan="5">
9413 <p>Depending on what settings are used in the request,<wbr/> and
9414what streams are configured,<wbr/> the data may undergo less processing,<wbr/>
9415and some pipeline stages skipped.<wbr/></p>
9416<p>See <a href="#static_android.request.pipelineMaxDepth">android.<wbr/>request.<wbr/>pipeline<wbr/>Max<wbr/>Depth</a> for more details.<wbr/></p>
9417 </td>
9418 </tr>
9419
9420 <tr class="entries_header">
9421 <th class="th_details" colspan="5">HAL Implementation Details</th>
9422 </tr>
9423 <tr class="entry_cont">
9424 <td class="entry_details" colspan="5">
9425 <p>This value must always represent the accurate count of how many
9426pipeline stages were actually used.<wbr/></p>
9427 </td>
9428 </tr>
9429
9430 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9431 <!-- end of entry -->
9432
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009433
9434
9435 <!-- end of kind -->
9436 </tbody>
9437
9438 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009439 <tr><td colspan="6" id="section_scaler" class="section">scaler</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009440
9441
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009442 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009443
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009444 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009445 <tr>
9446 <th class="th_name">Property Name</th>
9447 <th class="th_type">Type</th>
9448 <th class="th_description">Description</th>
9449 <th class="th_units">Units</th>
9450 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009451 <th class="th_tags">Tags</th>
9452 </tr>
9453 </thead>
9454
9455 <tbody>
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466 <tr class="entry" id="controls_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009467 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009468 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009469 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009471 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009472 <span class="entry_type_container">x</span>
9473
9474 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07009475 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009476 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009477 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009478
9479
9480 </td> <!-- entry_type -->
9481
9482 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009483 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
9484<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
9485(width,<wbr/> height).<wbr/> The region of the sensor that is used for
9486output.<wbr/> Each stream must use this rectangle to produce its
9487output,<wbr/> cropping to a smaller region if necessary to
9488maintain the stream's aspect ratio.<wbr/></p>
9489<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009490 </td>
9491
9492 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -08009493 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
9494 in pixels; (0,<wbr/>0) is top-left corner of
9495 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009496 </td>
9497
9498 <td class="entry_range">
9499 </td>
9500
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009501 <td class="entry_tags">
9502 <ul class="entry_tags">
9503 <li><a href="#tag_BC">BC</a></li>
9504 </ul>
9505 </td>
9506
9507 </tr>
9508 <tr class="entries_header">
9509 <th class="th_details" colspan="5">Details</th>
9510 </tr>
9511 <tr class="entry_cont">
9512 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009513 <p>Any additional per-stream cropping must be done to
9514maximize the final pixel area of the stream.<wbr/></p>
9515<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
9516ratio,<wbr/> then 4:3 streams should use the exact crop
9517region.<wbr/> 16:9 streams should further crop vertically
9518(letterbox).<wbr/></p>
9519<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
9520outputs should crop horizontally (pillarbox),<wbr/> and 16:9
9521streams should match exactly.<wbr/> These additional crops must
9522be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009523<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -08009524times,<wbr/> no matter what the relative aspect ratios of the
9525crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009526corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -08009527larger than active pixel array.<wbr/> Width and height may be
9528rounded to nearest larger supportable width,<wbr/> especially
9529for raw output,<wbr/> where only a few fixed scales may be
9530possible.<wbr/> The width and height of the crop region cannot
9531be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
9532android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
9533activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
9534respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009535 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009536 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009537
9538
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009539 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9540 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009541
9542
9543
9544 <!-- end of kind -->
9545 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009546 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009547
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009548 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009549 <tr>
9550 <th class="th_name">Property Name</th>
9551 <th class="th_type">Type</th>
9552 <th class="th_description">Description</th>
9553 <th class="th_units">Units</th>
9554 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555 <th class="th_tags">Tags</th>
9556 </tr>
9557 </thead>
9558
9559 <tbody>
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570 <tr class="entry" id="static_android.scaler.availableFormats">
Zhijun Heb8317e22014-01-16 09:47:07 -08009571 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009572 android.<wbr/>scaler.<wbr/>available<wbr/>Formats
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009573 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009574 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009575 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009576 <span class="entry_type_container">x</span>
9577
9578 <span class="entry_type_array">
9579 n
9580 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07009581 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009582
9583 <ul class="entry_type_enum">
9584 <li>
9585 <span class="entry_type_enum_name">RAW_SENSOR</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009586 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009587 <span class="entry_type_enum_value">0x20</span>
9588 </li>
9589 <li>
9590 <span class="entry_type_enum_name">YV12</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009591 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009592 <span class="entry_type_enum_value">0x32315659</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009593 <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009594 </li>
9595 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009596 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009597 <span class="entry_type_enum_optional">optional</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009598 <span class="entry_type_enum_value">0x11</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009599 <span class="entry_type_enum_notes"><p>NV21</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009600 </li>
9601 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009602 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
9603 <span class="entry_type_enum_value">0x22</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009604 <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009605 </li>
9606 <li>
9607 <span class="entry_type_enum_name">YCbCr_420_888</span>
9608 <span class="entry_type_enum_value">0x23</span>
Igor Murashkina10351a2014-01-15 17:05:22 -08009609 <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07009610 </li>
9611 <li>
9612 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009613 <span class="entry_type_enum_value">0x21</span>
Zhijun Heb8317e22014-01-16 09:47:07 -08009614 <span class="entry_type_enum_notes"><p>JPEG format</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009615 </li>
9616 </ul>
9617
9618 </td> <!-- entry_type -->
9619
9620 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009621 <p>The list of image formats that are supported by this
9622camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009623 </td>
9624
9625 <td class="entry_units">
9626 </td>
9627
9628 <td class="entry_range">
9629 </td>
9630
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009631 <td class="entry_tags">
9632 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009633 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009634 </ul>
9635 </td>
9636
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009637 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009638 <tr class="entries_header">
9639 <th class="th_details" colspan="5">Details</th>
9640 </tr>
9641 <tr class="entry_cont">
9642 <td class="entry_details" colspan="5">
9643 <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
9644<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
9645 </td>
9646 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009647
Zhijun Heb8317e22014-01-16 09:47:07 -08009648 <tr class="entries_header">
9649 <th class="th_details" colspan="5">HAL Implementation Details</th>
9650 </tr>
9651 <tr class="entry_cont">
9652 <td class="entry_details" colspan="5">
9653 <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
9654system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
9655<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
9656gralloc module will select a format based on the usage flags provided
9657by the camera HAL device and the other endpoint of the stream.<wbr/> It is
9658usually used by preview and recording streams,<wbr/> where the application doesn't
9659need access the image data.<wbr/></p>
9660<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
9661needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
9662<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
9663 </td>
9664 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009665
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009666 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9667 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009668
9669
9670 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009671 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009672 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009673 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009674 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009675 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009676 <span class="entry_type_container">x</span>
9677
9678 <span class="entry_type_array">
9679 n
9680 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009682
9683
9684 </td> <!-- entry_type -->
9685
9686 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009687 <p>The minimum frame duration that is supported
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009688for 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 -08009689 </td>
9690
9691 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009692 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009693 </td>
9694
9695 <td class="entry_range">
9696 </td>
9697
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009698 <td class="entry_tags">
9699 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009700 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009701 </ul>
9702 </td>
9703
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009704 </tr>
9705 <tr class="entries_header">
9706 <th class="th_details" colspan="5">Details</th>
9707 </tr>
9708 <tr class="entry_cont">
9709 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009710 <p>This corresponds to the minimum steady-state frame duration when only
9711that JPEG stream is active and captured in a burst,<wbr/> with all
9712processing (typically in android.<wbr/>*.<wbr/>mode) set to FAST.<wbr/></p>
9713<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009714frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009715durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009716 </td>
9717 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009718
9719
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009720 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9721 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009722
9723
9724 <tr class="entry" id="static_android.scaler.availableJpegSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009725 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009726 android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009727 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009728 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009729 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009730 <span class="entry_type_container">x</span>
9731
9732 <span class="entry_type_array">
9733 n x 2
9734 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009735 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009736
9737
9738 </td> <!-- entry_type -->
9739
9740 <td class="entry_description">
Zhijun Heb8317e22014-01-16 09:47:07 -08009741 <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009742 </td>
9743
9744 <td class="entry_units">
9745 </td>
9746
9747 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009748 </td>
9749
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009750 <td class="entry_tags">
9751 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009752 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009753 </ul>
9754 </td>
9755
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009756 </tr>
Zhijun Heb8317e22014-01-16 09:47:07 -08009757 <tr class="entries_header">
9758 <th class="th_details" colspan="5">Details</th>
9759 </tr>
9760 <tr class="entry_cont">
9761 <td class="entry_details" colspan="5">
9762 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
9763sensor 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>
9764 </td>
9765 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009766
Zhijun Heb8317e22014-01-16 09:47:07 -08009767 <tr class="entries_header">
9768 <th class="th_details" colspan="5">HAL Implementation Details</th>
9769 </tr>
9770 <tr class="entry_cont">
9771 <td class="entry_details" colspan="5">
9772 <p>The HAL must include sensor maximum resolution
9773(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
9774and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
9775 </td>
9776 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009777
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009778 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9779 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009780
9781
9782 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009783 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -08009784 android.<wbr/>scaler.<wbr/>available<wbr/>Max<wbr/>Digital<wbr/>Zoom
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009785 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009786 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009787 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009788
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009789 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009790
9791
9792 </td> <!-- entry_type -->
9793
9794 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009795 <p>The maximum ratio between active area width
9796and crop region width,<wbr/> or between active area height and
9797crop region height,<wbr/> if the crop region height is larger
9798than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009799 </td>
9800
9801 <td class="entry_units">
9802 </td>
9803
9804 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -08009805 <p>&gt;=1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009806 </td>
9807
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009808 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07009809 <ul class="entry_tags">
9810 <li><a href="#tag_BC">BC</a></li>
9811 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009812 </td>
9813
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009814 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009815
9816
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009817 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9818 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009819
9820
9821 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009822 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009823 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009824 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009825 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009826 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009827 <span class="entry_type_container">x</span>
9828
9829 <span class="entry_type_array">
9830 n
9831 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009832 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009833
9834
9835 </td> <!-- entry_type -->
9836
9837 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009838 <p>For each available processed output size (defined in
9839<a href="#static_android.scaler.availableProcessedSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes</a>),<wbr/> this property lists the
9840minimum supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009841 </td>
9842
9843 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009844 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009845 </td>
9846
9847 <td class="entry_range">
9848 </td>
9849
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009850 <td class="entry_tags">
9851 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009852 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009853 </ul>
9854 </td>
9855
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009856 </tr>
9857 <tr class="entries_header">
9858 <th class="th_details" colspan="5">Details</th>
9859 </tr>
9860 <tr class="entry_cont">
9861 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009862 <p>This should correspond to the frame duration when only that processed
9863stream is active,<wbr/> with all processing (typically in android.<wbr/>*.<wbr/>mode)
9864set to FAST.<wbr/></p>
9865<p>When multiple streams are configured,<wbr/> the minimum frame duration will
9866be &gt;= max(individual stream min durations).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009867 </td>
9868 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009869
9870
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009871 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9872 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009873
9874
9875 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
Zhijun Heb8317e22014-01-16 09:47:07 -08009876 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -08009877 android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009878 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009879 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009880 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009881 <span class="entry_type_container">x</span>
9882
9883 <span class="entry_type_array">
9884 n x 2
9885 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009886 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009887
9888
9889 </td> <!-- entry_type -->
9890
9891 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -08009892 <p>The resolutions available for use with
9893processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
9894platform opaque YUV/<wbr/>RGB streams to the GPU or video
Zhijun Heb8317e22014-01-16 09:47:07 -08009895encoders.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009896 </td>
9897
9898 <td class="entry_units">
9899 </td>
9900
9901 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009902 </td>
9903
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009904 <td class="entry_tags">
9905 <ul class="entry_tags">
9906 <li><a href="#tag_BC">BC</a></li>
9907 </ul>
9908 </td>
9909
9910 </tr>
9911 <tr class="entries_header">
9912 <th class="th_details" colspan="5">Details</th>
9913 </tr>
9914 <tr class="entry_cont">
9915 <td class="entry_details" colspan="5">
Zhijun Heb8317e22014-01-16 09:47:07 -08009916 <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
9917<p>For a given use case,<wbr/> the actual maximum supported resolution
9918may be lower than what is listed here,<wbr/> depending on the destination
9919Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
9920the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
9921smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
9922can provide.<wbr/></p>
9923<p>Please reference the documentation for the image data destination to
9924check if it limits the maximum size for image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009925 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009926 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009927
Zhijun Heb8317e22014-01-16 09:47:07 -08009928 <tr class="entries_header">
9929 <th class="th_details" colspan="5">HAL Implementation Details</th>
9930 </tr>
9931 <tr class="entry_cont">
9932 <td class="entry_details" colspan="5">
9933 <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/>
9934the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
9935and each below resolution if it is smaller than or equal to the sensor
9936maximum resolution (if they are not listed in JPEG sizes already):</p>
9937<ul>
9938<li>240p (320 x 240)</li>
9939<li>480p (640 x 480)</li>
9940<li>720p (1280 x 720)</li>
9941<li>1080p (1920 x 1080)</li>
9942</ul>
9943<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/>
9944the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
9945 </td>
9946 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009947
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009948 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
9949 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009950
9951
9952 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009953 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -08009954 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -08009955 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009956 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009957 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009958 <span class="entry_type_container">x</span>
9959
9960 <span class="entry_type_array">
9961 n
9962 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009963 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009964
9965
9966 </td> <!-- entry_type -->
9967
9968 <td class="entry_description">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009969 <p>For each available processed output size (defined in
9970<a href="#static_android.scaler.availableRawSizes">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes</a>),<wbr/> this property lists the minimum
9971supportable frame duration for that size.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009972 </td>
9973
9974 <td class="entry_units">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009975 ns
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009976 </td>
9977
9978 <td class="entry_range">
9979 </td>
9980
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009981 <td class="entry_tags">
9982 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009983 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009984 </ul>
9985 </td>
9986
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009987 </tr>
9988 <tr class="entries_header">
9989 <th class="th_details" colspan="5">Details</th>
9990 </tr>
9991 <tr class="entry_cont">
9992 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -08009993 <p>Should correspond to the frame duration when only the raw stream is
9994active.<wbr/></p>
9995<p>When multiple streams are configured,<wbr/> the minimum
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009996frame duration will be &gt;= max(individual stream min
Igor Murashkin0b080452013-12-27 15:30:25 -08009997durations)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -08009998 </td>
9999 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010000
10001
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010002 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10003 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010004
10005
10006 <tr class="entry" id="static_android.scaler.availableRawSizes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010007 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010008 android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Sizes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010009 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010010 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010011 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010012 <span class="entry_type_container">x</span>
10013
10014 <span class="entry_type_array">
10015 n x 2
10016 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010017 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010018
10019
10020 </td> <!-- entry_type -->
10021
10022 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010023 <p>The resolutions available for use with raw
10024sensor output streams,<wbr/> listed as width,<wbr/>
10025height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010026 </td>
10027
10028 <td class="entry_units">
10029 </td>
10030
10031 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010032 <p>Must include: - sensor maximum resolution</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010033 </td>
10034
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010035 <td class="entry_tags">
10036 </td>
10037
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010038 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010039
10040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010041 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10042 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010043
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010044
10045
10046 <!-- end of kind -->
10047 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010048 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010049
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010050 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010051 <tr>
10052 <th class="th_name">Property Name</th>
10053 <th class="th_type">Type</th>
10054 <th class="th_description">Description</th>
10055 <th class="th_units">Units</th>
10056 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010057 <th class="th_tags">Tags</th>
10058 </tr>
10059 </thead>
10060
10061 <tbody>
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072 <tr class="entry" id="dynamic_android.scaler.cropRegion">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010073 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010074 android.<wbr/>scaler.<wbr/>crop<wbr/>Region
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010075 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010076 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010077 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010078 <span class="entry_type_container">x</span>
10079
10080 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -070010081 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010082 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010083 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010084
10085
10086 </td> <!-- entry_type -->
10087
10088 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010089 <p>(x,<wbr/> y,<wbr/> width,<wbr/> height).<wbr/></p>
10090<p>A rectangle with the top-level corner of (x,<wbr/>y) and size
10091(width,<wbr/> height).<wbr/> The region of the sensor that is used for
10092output.<wbr/> Each stream must use this rectangle to produce its
10093output,<wbr/> cropping to a smaller region if necessary to
10094maintain the stream's aspect ratio.<wbr/></p>
10095<p>HAL2.<wbr/>x uses only (x,<wbr/> y,<wbr/> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010096 </td>
10097
10098 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010099 (x,<wbr/>y) of top-left corner,<wbr/> width and height of region
10100 in pixels; (0,<wbr/>0) is top-left corner of
10101 android.<wbr/>sensor.<wbr/>active<wbr/>Array<wbr/>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010102 </td>
10103
10104 <td class="entry_range">
10105 </td>
10106
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010107 <td class="entry_tags">
10108 <ul class="entry_tags">
10109 <li><a href="#tag_BC">BC</a></li>
10110 </ul>
10111 </td>
10112
10113 </tr>
10114 <tr class="entries_header">
10115 <th class="th_details" colspan="5">Details</th>
10116 </tr>
10117 <tr class="entry_cont">
10118 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010119 <p>Any additional per-stream cropping must be done to
10120maximize the final pixel area of the stream.<wbr/></p>
10121<p>For example,<wbr/> if the crop region is set to a 4:3 aspect
10122ratio,<wbr/> then 4:3 streams should use the exact crop
10123region.<wbr/> 16:9 streams should further crop vertically
10124(letterbox).<wbr/></p>
10125<p>Conversely,<wbr/> if the crop region is set to a 16:9,<wbr/> then 4:3
10126outputs should crop horizontally (pillarbox),<wbr/> and 16:9
10127streams should match exactly.<wbr/> These additional crops must
10128be centered within the crop region.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010129<p>The output streams must maintain square pixels at all
Igor Murashkin0b080452013-12-27 15:30:25 -080010130times,<wbr/> no matter what the relative aspect ratios of the
10131crop region and the stream are.<wbr/> Negative values for
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010132corner are allowed for raw output if full pixel array is
Igor Murashkin0b080452013-12-27 15:30:25 -080010133larger than active pixel array.<wbr/> Width and height may be
10134rounded to nearest larger supportable width,<wbr/> especially
10135for raw output,<wbr/> where only a few fixed scales may be
10136possible.<wbr/> The width and height of the crop region cannot
10137be set to be smaller than floor( activeArraySize.<wbr/>width /<wbr/>
10138android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom ) and floor(
10139activeArraySize.<wbr/>height /<wbr/> android.<wbr/>scaler.<wbr/>max<wbr/>Digital<wbr/>Zoom),<wbr/>
10140respectively.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010141 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010142 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010143
10144
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010145 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10146 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010147
10148
10149
10150 <!-- end of kind -->
10151 </tbody>
10152
10153 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010154 <tr><td colspan="6" id="section_sensor" class="section">sensor</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010155
10156
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010157 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010158
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010159 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010160 <tr>
10161 <th class="th_name">Property Name</th>
10162 <th class="th_type">Type</th>
10163 <th class="th_description">Description</th>
10164 <th class="th_units">Units</th>
10165 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010166 <th class="th_tags">Tags</th>
10167 </tr>
10168 </thead>
10169
10170 <tbody>
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181 <tr class="entry" id="controls_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010182 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010183 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010184 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010185 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010186 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010187
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010188 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010189
10190
10191 </td> <!-- entry_type -->
10192
10193 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010194 <p>Duration each pixel is exposed to
10195light.<wbr/></p>
10196<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
10197duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010198 </td>
10199
10200 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010201 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010202 </td>
10203
10204 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010205 <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 -080010206 </td>
10207
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010208 <td class="entry_tags">
10209 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010210 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010211 </ul>
10212 </td>
10213
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010214 </tr>
10215 <tr class="entries_header">
10216 <th class="th_details" colspan="5">Details</th>
10217 </tr>
10218 <tr class="entry_cont">
10219 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010220 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010221 </td>
10222 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010223
10224
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010225 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10226 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010227
10228
10229 <tr class="entry" id="controls_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010230 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010231 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010232 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010233 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010234 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010235
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010236 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010237
10238
10239 </td> <!-- entry_type -->
10240
10241 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010242 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010243start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010244 </td>
10245
10246 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010247 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010248 </td>
10249
10250 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010251 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
10252android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
10253is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010254 </td>
10255
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010256 <td class="entry_tags">
10257 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010258 <li><a href="#tag_V1">V1</a></li>
10259 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010260 </ul>
10261 </td>
10262
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010263 </tr>
10264 <tr class="entries_header">
10265 <th class="th_details" colspan="5">Details</th>
10266 </tr>
10267 <tr class="entry_cont">
10268 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080010269 <p>The maximum frame rate that can be supported by a camera subsystem is
10270a function of many factors:</p>
10271<ul>
10272<li>Requested resolutions of output image streams</li>
10273<li>Availability of binning /<wbr/> skipping modes on the imager</li>
10274<li>The bandwidth of the imager interface</li>
10275<li>The bandwidth of the various ISP processing blocks</li>
10276</ul>
10277<p>Since these factors can vary greatly between different ISPs and
10278sensors,<wbr/> the camera abstraction tries to represent the bandwidth
10279restrictions with as simple a model as possible.<wbr/></p>
10280<p>The model presented has the following characteristics:</p>
10281<ul>
10282<li>The image sensor is always configured to output the smallest
10283resolution possible given the application's requested output stream
10284sizes.<wbr/> The smallest resolution is defined as being at least as large
10285as the largest requested output stream size; the camera pipeline must
10286never digitally upsample sensor data when the crop region covers the
10287whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
10288resolutions are configured,<wbr/> the sensor can provide a higher frame
10289rate.<wbr/></li>
10290<li>Since any request may use any or all the currently configured
10291output streams,<wbr/> the sensor and ISP must be configured to support
10292scaling a single capture to all the streams at the same time.<wbr/> This
10293means the camera pipeline must be ready to produce the largest
10294requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
10295frame rate of a given configured stream set is governed only by the
10296largest requested stream resolution.<wbr/></li>
10297<li>Using more than one output stream in a request does not affect the
10298frame duration.<wbr/></li>
10299<li>JPEG streams act like processed YUV streams in requests for which
10300they are not included; in requests in which they are directly
10301referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
10302JPEG stream requires the underlying YUV data to always be ready for
10303use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
10304frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
10305<li>The JPEG processor can run concurrently to the rest of the camera
10306pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
10307</ul>
10308<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
10309is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
10310These are used to determine the maximum frame rate /<wbr/> minimum frame
10311duration that is possible for a given stream configuration.<wbr/></p>
10312<p>Specifically,<wbr/> the application can use the following rules to
10313determine the minimum frame duration it can request from the HAL
10314device:</p>
10315<ol>
10316<li>Given the application's currently configured set of output
10317streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
10318<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
10319<code>SP</code>.<wbr/></li>
10320<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
10321count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
10322<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
10323<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
10324no exact match for <code>RP == RJ</code> (in particular there isn't an available
10325processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
10326to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
10327there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
10328the processed resolution closest to <code>RJ</code>.<wbr/></li>
10329<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
10330no exact match for <code>RR == RP</code> (in particular there isn't an available
10331raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
10332or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
10333there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
10334the raw resolution closest to <code>RP</code>.<wbr/></li>
10335<li>Look up the matching minimum frame durations in the property lists
10336<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
10337<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
10338<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
10339minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
10340<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
10341supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
10342<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
10343supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
10344<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
10345the application,<wbr/> then the HAL will have to delay JPEG-using requests
10346whenever the JPEG encoder is still busy processing an older capture.<wbr/>
10347This will happen whenever a JPEG-using request starts capture less
10348than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
10349supported frame duration will vary between the values calculated in
10350#6 and #7.<wbr/></li>
10351</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010352 </td>
10353 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010354
10355
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010356 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10357 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010358
10359
10360 <tr class="entry" id="controls_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010361 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010362 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010363 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010364 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010365 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010366
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010367 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010368
10369
10370 </td> <!-- entry_type -->
10371
10372 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010373 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010374implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080010375below 'maximum analog sensitivity'.<wbr/></p>
10376<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
10377gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010378 </td>
10379
10380 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010381 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010382 </td>
10383
10384 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010385 <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 -080010386 </td>
10387
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010388 <td class="entry_tags">
10389 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010390 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010391 </ul>
10392 </td>
10393
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010394 </tr>
10395 <tr class="entries_header">
10396 <th class="th_details" colspan="5">Details</th>
10397 </tr>
10398 <tr class="entry_cont">
10399 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010400 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010401 </td>
10402 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010403
10404
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010405 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10406 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010407
Igor Murashkina46e02f2014-01-09 17:43:38 -080010408
10409 <tr class="entry" id="controls_android.sensor.testPatternData">
10410 <td class="entry_name" rowspan="5">
10411 android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data
10412 </td>
10413 <td class="entry_type">
10414 <span class="entry_type_name">int32</span>
10415 <span class="entry_type_container">x</span>
10416
10417 <span class="entry_type_array">
10418 4
10419 </span>
10420 <span class="entry_type_visibility"> [public]</span>
10421
10422
10423 </td> <!-- entry_type -->
10424
10425 <td class="entry_description">
10426 <p>A pixel <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> that supplies the test pattern
10427when <a href="#controls_android.sensor.testPatternMode">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Mode</a> is SOLID_<wbr/>COLOR.<wbr/></p>
10428 </td>
10429
10430 <td class="entry_units">
10431 </td>
10432
10433 <td class="entry_range">
10434 <p>Optional.<wbr/>
10435Must be supported if <a href="#static_android.sensor.availableTestPatternModes">android.<wbr/>sensor.<wbr/>available<wbr/>Test<wbr/>Pattern<wbr/>Modes</a> contains
10436SOLID_<wbr/>COLOR.<wbr/></p>
10437 </td>
10438
10439 <td class="entry_tags">
10440 </td>
10441
10442 </tr>
10443 <tr class="entries_header">
10444 <th class="th_details" colspan="5">Details</th>
10445 </tr>
10446 <tr class="entry_cont">
10447 <td class="entry_details" colspan="5">
10448 <p>Each color channel is treated as an unsigned 32-bit integer.<wbr/>
10449The camera device then uses the most significant X bits
10450that correspond to how many bits are in its Bayer raw sensor
10451output.<wbr/></p>
10452<p>For example,<wbr/> a sensor with RAW10 Bayer output would use the
1045310 most significant bits from each color channel.<wbr/></p>
10454 </td>
10455 </tr>
10456
10457 <tr class="entries_header">
10458 <th class="th_details" colspan="5">HAL Implementation Details</th>
10459 </tr>
10460 <tr class="entry_cont">
10461 <td class="entry_details" colspan="5">
10462
10463 </td>
10464 </tr>
10465
10466 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10467 <!-- end of entry -->
10468
10469
10470 <tr class="entry" id="controls_android.sensor.testPatternMode">
10471 <td class="entry_name" rowspan="5">
10472 android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Mode
10473 </td>
10474 <td class="entry_type">
10475 <span class="entry_type_name entry_type_name_enum">int32</span>
10476
10477 <span class="entry_type_visibility"> [public]</span>
10478
10479 <ul class="entry_type_enum">
10480 <li>
10481 <span class="entry_type_enum_name">OFF</span>
10482 <span class="entry_type_enum_notes"><p>Default.<wbr/> No test pattern mode is used,<wbr/> and the camera
10483device returns captures from the image sensor.<wbr/></p></span>
10484 </li>
10485 <li>
10486 <span class="entry_type_enum_name">SOLID_COLOR</span>
10487 <span class="entry_type_enum_notes"><p>Each pixel in <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> is replaced by its
10488respective color channel provided in
10489<a href="#controls_android.sensor.testPatternData">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data</a>.<wbr/></p>
10490<p>For example:</p>
10491<pre><code>android.<wbr/>testPatternData = [0,<wbr/> 0xFFFFFFFF,<wbr/> 0xFFFFFFFF,<wbr/> 0]
10492</code></pre>
10493<p>All green pixels are 100% green.<wbr/> All red/<wbr/>blue pixels are black.<wbr/></p>
10494<pre><code>android.<wbr/>testPatternData = [0xFFFFFFFF,<wbr/> 0,<wbr/> 0xFFFFFFFF,<wbr/> 0]
10495</code></pre>
10496<p>All red pixels are 100% red.<wbr/> Only the odd green pixels
10497are 100% green.<wbr/> All blue pixels are 100% black.<wbr/></p></span>
10498 </li>
10499 <li>
10500 <span class="entry_type_enum_name">COLOR_BARS</span>
10501 <span class="entry_type_enum_notes"><p>All pixel data is replaced with an 8-bar color pattern.<wbr/></p>
10502<p>The vertical bars (left-to-right) are as follows:</p>
10503<ul>
10504<li>100% white</li>
10505<li>yellow</li>
10506<li>cyan</li>
10507<li>green</li>
10508<li>magenta</li>
10509<li>red</li>
10510<li>blue</li>
10511<li>black</li>
10512</ul>
10513<p>In general the image would look like the following:</p>
10514<pre><code>W Y C G M R B K
10515W Y C G M R B K
10516W Y C G M R B K
10517W Y C G M R B K
10518W Y C G M R B K
10519.<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/>
10520.<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/>
10521.<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/>
10522
10523(B = Blue,<wbr/> K = Black)
10524</code></pre>
10525<p>Each bar should take up 1/<wbr/>8 of the sensor pixel array width.<wbr/>
10526When this is not possible,<wbr/> the bar size should be rounded
10527down to the nearest integer and the pattern can repeat
10528on the right side.<wbr/></p>
10529<p>Each bar's height must always take up the full sensor
10530pixel array height.<wbr/></p>
10531<p>Each pixel in this test pattern must be set to either
105320% intensity or 100% intensity.<wbr/></p></span>
10533 </li>
10534 <li>
10535 <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY</span>
10536 <span class="entry_type_enum_notes"><p>The test pattern is similar to COLOR_<wbr/>BARS,<wbr/> except that
10537each bar should start at its specified color at the top,<wbr/>
10538and fade to gray at the bottom.<wbr/></p>
10539<p>Furthermore each bar is further subdivided into a left and
10540right half.<wbr/> The left half should have a smooth gradient,<wbr/>
10541and the right half should have a quantized gradient.<wbr/></p>
10542<p>In particular,<wbr/> the right half's should consist of blocks of the
10543same color for 1/<wbr/>16th active sensor pixel array width.<wbr/></p>
10544<p>The least significant bits in the quantized gradient should
10545be copied from the most significant bits of the smooth gradient.<wbr/></p>
10546<p>The height of each bar should always be a multiple of 128.<wbr/>
10547When this is not the case,<wbr/> the pattern should repeat at the bottom
10548of the image.<wbr/></p></span>
10549 </li>
10550 <li>
10551 <span class="entry_type_enum_name">PN9</span>
10552 <span class="entry_type_enum_notes"><p>All pixel data is replaced by a pseudo-random sequence
10553generated from a PN9 512-bit sequence (typically implemented
10554in hardware with a linear feedback shift register).<wbr/></p>
10555<p>The generator should be reset at the beginning of each frame,<wbr/>
10556and thus each subsequent raw frame with this test pattern should
10557be exactly the same as the last.<wbr/></p></span>
10558 </li>
10559 <li>
10560 <span class="entry_type_enum_name">CUSTOM1</span>
10561 <span class="entry_type_enum_value">256</span>
10562 <span class="entry_type_enum_notes"><p>The first custom test pattern.<wbr/> All custom patterns that are
10563available only on this camera device are at least this numeric
10564value.<wbr/></p>
10565<p>All of the custom test patterns will be static
10566(that is the raw image must not vary from frame to frame).<wbr/></p></span>
10567 </li>
10568 </ul>
10569
10570 </td> <!-- entry_type -->
10571
10572 <td class="entry_description">
10573 <p>When enabled,<wbr/> the sensor sends a test pattern instead of
10574doing a real exposure from the camera.<wbr/></p>
10575 </td>
10576
10577 <td class="entry_units">
10578 </td>
10579
10580 <td class="entry_range">
10581 <p>Optional.<wbr/> Defaults to OFF.<wbr/> Value must be one of
10582<a href="#static_android.sensor.availableTestPatternModes">android.<wbr/>sensor.<wbr/>available<wbr/>Test<wbr/>Pattern<wbr/>Modes</a></p>
10583 </td>
10584
10585 <td class="entry_tags">
10586 </td>
10587
10588 </tr>
10589 <tr class="entries_header">
10590 <th class="th_details" colspan="5">Details</th>
10591 </tr>
10592 <tr class="entry_cont">
10593 <td class="entry_details" colspan="5">
10594 <p>When a test pattern is enabled,<wbr/> all manual sensor controls specified
10595by android.<wbr/>sensor.<wbr/>* should be ignored.<wbr/> All other controls should
10596work as normal.<wbr/></p>
10597<p>For example,<wbr/> if manual flash is enabled,<wbr/> flash firing should still
10598occur (and that the test pattern remain unmodified,<wbr/> since the flash
10599would not actually affect it).<wbr/></p>
10600 </td>
10601 </tr>
10602
10603 <tr class="entries_header">
10604 <th class="th_details" colspan="5">HAL Implementation Details</th>
10605 </tr>
10606 <tr class="entry_cont">
10607 <td class="entry_details" colspan="5">
10608 <p>All test patterns are specified in the Bayer domain.<wbr/></p>
10609<p>The HAL may choose to substitute test patterns from the sensor
10610with test patterns from on-device memory.<wbr/> In that case,<wbr/> it should be
10611indistinguishable to the ISP whether the data came from the
10612sensor interconnect bus (such as CSI2) or memory.<wbr/></p>
10613 </td>
10614 </tr>
10615
10616 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10617 <!-- end of entry -->
10618
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010619
10620
10621 <!-- end of kind -->
10622 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010623 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010624
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010625 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010626 <tr>
10627 <th class="th_name">Property Name</th>
10628 <th class="th_type">Type</th>
10629 <th class="th_description">Description</th>
10630 <th class="th_units">Units</th>
10631 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010632 <th class="th_tags">Tags</th>
10633 </tr>
10634 </thead>
10635
10636 <tbody>
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649 <tr class="entry" id="static_android.sensor.info.activeArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010650 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010651 android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010652 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010653 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010654 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010655 <span class="entry_type_container">x</span>
10656
10657 <span class="entry_type_array">
10658 4
10659 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010660 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010661 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010662
10663
10664 </td> <!-- entry_type -->
10665
10666 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010667 <p>Area of raw data which corresponds to only
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010668active pixels; smaller or equal to
Igor Murashkin0b080452013-12-27 15:30:25 -080010669pixelArraySize.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010670 </td>
10671
10672 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010673 xmin,<wbr/> ymin,<wbr/> width,<wbr/> height.<wbr/> Top left of full
10674 pixel array is (0,<wbr/>0)
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010675 </td>
10676
10677 <td class="entry_range">
10678 </td>
10679
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010680 <td class="entry_tags">
10681 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010682 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010683 </ul>
10684 </td>
10685
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010686 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010687
10688
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010689 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10690 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010691
10692
Zhijun He69fc0ea2013-07-17 09:42:58 -070010693 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010694 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010695 android.<wbr/>sensor.<wbr/>info.<wbr/>sensitivity<wbr/>Range
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010696 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010697 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010698 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010699 <span class="entry_type_container">x</span>
10700
10701 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -070010702 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010703 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010704 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010705 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010706
10707
10708 </td> <!-- entry_type -->
10709
10710 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010711 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010712 </td>
10713
10714 <td class="entry_units">
10715 </td>
10716
10717 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010718 <p>Min &lt;= 100,<wbr/> Max &gt;= 1600</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010719 </td>
10720
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010721 <td class="entry_tags">
10722 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010723 <li><a href="#tag_BC">BC</a></li>
10724 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010725 </ul>
10726 </td>
10727
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010728 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010729
10730
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010731 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10732 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010733
10734
10735 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010736 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080010737 android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010738 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010742 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010743
10744 <ul class="entry_type_enum">
10745 <li>
10746 <span class="entry_type_enum_name">RGGB</span>
10747 </li>
10748 <li>
10749 <span class="entry_type_enum_name">GRBG</span>
10750 </li>
10751 <li>
10752 <span class="entry_type_enum_name">GBRG</span>
10753 </li>
10754 <li>
10755 <span class="entry_type_enum_name">BGGR</span>
10756 </li>
10757 <li>
10758 <span class="entry_type_enum_name">RGB</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080010759 <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
10760values for each pixel,<wbr/> instead of just 1 16-bit value
10761per pixel.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010762 </li>
10763 </ul>
10764
10765 </td> <!-- entry_type -->
10766
10767 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010768 <p>Arrangement of color filters on sensor;
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010769represents the colors in the top-left 2x2 section of
Igor Murashkin0b080452013-12-27 15:30:25 -080010770the sensor,<wbr/> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010771 </td>
10772
10773 <td class="entry_units">
10774 </td>
10775
10776 <td class="entry_range">
10777 </td>
10778
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010779 <td class="entry_tags">
10780 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010781 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010782 </ul>
10783 </td>
10784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010785 </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.info.exposureTimeRange">
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/>info.<wbr/>exposure<wbr/>Time<wbr/>Range
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">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010798 <span class="entry_type_container">x</span>
10799
10800 <span class="entry_type_array">
10801 2
10802 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010803 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010804 <div class="entry_type_notes">nanoseconds</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>Range of valid exposure
10811times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010812 </td>
10813
10814 <td class="entry_units">
10815 </td>
10816
10817 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010818 <p>Min &lt;= 100e3 (100 us),<wbr/> Max &gt;= 30e9 (30
10819sec)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010820 </td>
10821
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010822 <td class="entry_tags">
10823 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010824 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010825 </ul>
10826 </td>
10827
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010828 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010829
10830
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010831 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10832 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010833
10834
10835 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010836 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010837 android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010838 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010839 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010840 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010841
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010842 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010843
10844
10845 </td> <!-- entry_type -->
10846
10847 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010848 <p>Maximum possible frame duration (minimum frame
10849rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010850 </td>
10851
10852 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080010853 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010854 </td>
10855
10856 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080010857 <p>&gt;= 30e9</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010858 </td>
10859
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010860 <td class="entry_tags">
10861 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010862 <li><a href="#tag_BC">BC</a></li>
10863 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010864 </ul>
10865 </td>
10866
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010867 </tr>
10868 <tr class="entries_header">
10869 <th class="th_details" colspan="5">Details</th>
10870 </tr>
10871 <tr class="entry_cont">
10872 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010873 <p>Minimum duration is a function of resolution,<wbr/>
10874processing settings.<wbr/> See
10875android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations
10876android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080010877<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 -080010878 </td>
10879 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010880
10881
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010882 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10883 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010884
10885
10886 <tr class="entry" id="static_android.sensor.info.physicalSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010887 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010888 android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010889 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010890 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010891 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010892 <span class="entry_type_container">x</span>
10893
10894 <span class="entry_type_array">
10895 2
10896 </span>
Timothy Knightec817d52013-08-16 16:15:29 -070010897 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080010898 <div class="entry_type_notes">width x height in millimeters</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010899
10900
10901 </td> <!-- entry_type -->
10902
10903 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010904 <p>The physical dimensions of the full pixel
10905array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010906 </td>
10907
10908 <td class="entry_units">
10909 </td>
10910
10911 <td class="entry_range">
10912 </td>
10913
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010914 <td class="entry_tags">
10915 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010916 <li><a href="#tag_V1">V1</a></li>
10917 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010918 </ul>
10919 </td>
10920
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010921 </tr>
10922 <tr class="entries_header">
10923 <th class="th_details" colspan="5">Details</th>
10924 </tr>
10925 <tr class="entry_cont">
10926 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010927 <p>Needed for FOV calculation for old API</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010928 </td>
10929 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010930
10931
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010932 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10933 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010934
10935
10936 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010937 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010938 android.<wbr/>sensor.<wbr/>info.<wbr/>pixel<wbr/>Array<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010939 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010940 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010941 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010942 <span class="entry_type_container">x</span>
10943
10944 <span class="entry_type_array">
10945 2
10946 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010947 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010948
10949
10950 </td> <!-- entry_type -->
10951
10952 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080010953 <p>Dimensions of full pixel array,<wbr/> possibly
10954including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010955 </td>
10956
10957 <td class="entry_units">
10958 </td>
10959
10960 <td class="entry_range">
10961 </td>
10962
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010963 <td class="entry_tags">
10964 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010965 <li><a href="#tag_DNG">DNG</a></li>
10966 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010967 </ul>
10968 </td>
10969
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010970 </tr>
10971 <tr class="entries_header">
10972 <th class="th_details" colspan="5">Details</th>
10973 </tr>
10974 <tr class="entry_cont">
10975 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080010976 <p>Maximum output resolution for raw format must
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010977match this in
Igor Murashkin0b080452013-12-27 15:30:25 -080010978android.<wbr/>scaler.<wbr/>info.<wbr/>available<wbr/>Sizes<wbr/>Per<wbr/>Format</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010979 </td>
10980 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010981
10982
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080010983 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
10984 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010985
10986
10987 <tr class="entry" id="static_android.sensor.info.whiteLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010988 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080010989 android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080010990 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010992 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010993
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010994 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010995
10996
10997 </td> <!-- entry_type -->
10998
10999 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011000 <p>Maximum raw value output by
11001sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011002 </td>
11003
11004 <td class="entry_units">
11005 </td>
11006
11007 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011008 <p>&gt; 1024 (10-bit output)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011009 </td>
11010
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011011 <td class="entry_tags">
11012 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011013 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011014 </ul>
11015 </td>
11016
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011017 </tr>
11018 <tr class="entries_header">
11019 <th class="th_details" colspan="5">Details</th>
11020 </tr>
11021 <tr class="entry_cont">
11022 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011023 <p>Defines sensor bit depth (10-14 bits is
11024expected)</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011025 </td>
11026 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011027
11028
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011029 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11030 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011031
11032
11033
11034
11035
11036 <tr class="entry" id="static_android.sensor.baseGainFactor">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011037 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011038 android.<wbr/>sensor.<wbr/>base<wbr/>Gain<wbr/>Factor
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011039 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011040 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011041 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011042
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011043 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011044
11045
11046 </td> <!-- entry_type -->
11047
11048 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011049 <p>Gain factor from electrons to raw units when
11050ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011051 </td>
11052
11053 <td class="entry_units">
11054 </td>
11055
11056 <td class="entry_range">
11057 </td>
11058
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011059 <td class="entry_tags">
11060 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011061 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070011062 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011063 </ul>
11064 </td>
11065
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011066 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011067
11068
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011069 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11070 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011071
11072
11073 <tr class="entry" id="static_android.sensor.blackLevelPattern">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011074 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011075 android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011076 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011077 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011078 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011079 <span class="entry_type_container">x</span>
11080
11081 <span class="entry_type_array">
11082 4
11083 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011084 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011085 <div class="entry_type_notes">2x2 raw count block</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011086
11087
11088 </td> <!-- entry_type -->
11089
11090 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011091 <p>A fixed black level offset for each of the
11092Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011093 </td>
11094
11095 <td class="entry_units">
11096 </td>
11097
11098 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080011099 <p>&gt;= 0 each</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011100 </td>
11101
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011102 <td class="entry_tags">
11103 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011104 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011105 </ul>
11106 </td>
11107
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011108 </tr>
11109 <tr class="entries_header">
11110 <th class="th_details" colspan="5">Details</th>
11111 </tr>
11112 <tr class="entry_cont">
11113 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011114 <p>As per DNG BlackLevelRepeatDim /<wbr/> BlackLevel
11115tags</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011116 </td>
11117 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011118
11119
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011120 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11121 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011122
11123
11124 <tr class="entry" id="static_android.sensor.calibrationTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011125 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011126 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011127 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011128 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011129 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011130 <span class="entry_type_container">x</span>
11131
11132 <span class="entry_type_array">
11133 9
11134 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011135 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011136 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011137
11138
11139 </td> <!-- entry_type -->
11140
11141 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011142 <p>Per-device calibration on top of color space
11143transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011144 </td>
11145
11146 <td class="entry_units">
11147 </td>
11148
11149 <td class="entry_range">
11150 </td>
11151
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011152 <td class="entry_tags">
11153 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011154 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011155 </ul>
11156 </td>
11157
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011158 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011159
11160
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011161 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11162 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011163
11164
11165 <tr class="entry" id="static_android.sensor.calibrationTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011166 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011167 android.<wbr/>sensor.<wbr/>calibration<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011168 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011169 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011170 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011171 <span class="entry_type_container">x</span>
11172
11173 <span class="entry_type_array">
11174 9
11175 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011176 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011177 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011178
11179
11180 </td> <!-- entry_type -->
11181
11182 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011183 <p>Per-device calibration on top of color space
11184transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011185 </td>
11186
11187 <td class="entry_units">
11188 </td>
11189
11190 <td class="entry_range">
11191 </td>
11192
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011193 <td class="entry_tags">
11194 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011195 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011196 </ul>
11197 </td>
11198
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011199 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011200
11201
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011202 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11203 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011204
11205
11206 <tr class="entry" id="static_android.sensor.colorTransform1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011207 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011208 android.<wbr/>sensor.<wbr/>color<wbr/>Transform1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011209 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011211 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011212 <span class="entry_type_container">x</span>
11213
11214 <span class="entry_type_array">
11215 9
11216 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011217 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011218 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011219
11220
11221 </td> <!-- entry_type -->
11222
11223 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011224 <p>Linear mapping from XYZ (D50) color space to
11225reference linear sensor color,<wbr/> for first reference
11226illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011227 </td>
11228
11229 <td class="entry_units">
11230 </td>
11231
11232 <td class="entry_range">
11233 </td>
11234
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011235 <td class="entry_tags">
11236 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011237 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011238 </ul>
11239 </td>
11240
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011241 </tr>
11242 <tr class="entries_header">
11243 <th class="th_details" colspan="5">Details</th>
11244 </tr>
11245 <tr class="entry_cont">
11246 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011247 <p>Use as follows XYZ = inv(transform) * clip( (raw -
11248black level(raw) ) /<wbr/> ( white level - max black level) ).<wbr/>
11249At least in the simple case</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011250 </td>
11251 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011252
11253
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011254 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11255 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011256
11257
11258 <tr class="entry" id="static_android.sensor.colorTransform2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011259 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011260 android.<wbr/>sensor.<wbr/>color<wbr/>Transform2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011261 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011262 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011263 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011264 <span class="entry_type_container">x</span>
11265
11266 <span class="entry_type_array">
11267 9
11268 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011269 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011270 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011271
11272
11273 </td> <!-- entry_type -->
11274
11275 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011276 <p>Linear mapping from XYZ (D50) color space to
11277reference linear sensor color,<wbr/> for second reference
11278illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011279 </td>
11280
11281 <td class="entry_units">
11282 </td>
11283
11284 <td class="entry_range">
11285 </td>
11286
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011287 <td class="entry_tags">
11288 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011289 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011290 </ul>
11291 </td>
11292
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011293 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011294
11295
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011296 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11297 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011298
11299
11300 <tr class="entry" id="static_android.sensor.forwardMatrix1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011301 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011302 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011303 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011304 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011305 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011306 <span class="entry_type_container">x</span>
11307
11308 <span class="entry_type_array">
11309 9
11310 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011311 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011312 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011313
11314
11315 </td> <!-- entry_type -->
11316
11317 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011318 <p>Used by DNG for better WB
11319adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011320 </td>
11321
11322 <td class="entry_units">
11323 </td>
11324
11325 <td class="entry_range">
11326 </td>
11327
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011328 <td class="entry_tags">
11329 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011330 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011331 </ul>
11332 </td>
11333
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011334 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011335
11336
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011337 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11338 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011339
11340
11341 <tr class="entry" id="static_android.sensor.forwardMatrix2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011342 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011343 android.<wbr/>sensor.<wbr/>forward<wbr/>Matrix2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011344 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011345 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011346 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011347 <span class="entry_type_container">x</span>
11348
11349 <span class="entry_type_array">
11350 9
11351 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011352 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011353 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011354
11355
11356 </td> <!-- entry_type -->
11357
11358 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011359 <p>Used by DNG for better WB
11360adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011361 </td>
11362
11363 <td class="entry_units">
11364 </td>
11365
11366 <td class="entry_range">
11367 </td>
11368
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011369 <td class="entry_tags">
11370 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011371 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011372 </ul>
11373 </td>
11374
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011375 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011376
11377
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011378 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11379 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011380
11381
11382 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011383 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011384 android.<wbr/>sensor.<wbr/>max<wbr/>Analog<wbr/>Sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011385 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011386 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011387 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011388
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011389 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011390
11391
11392 </td> <!-- entry_type -->
11393
11394 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011395 <p>Maximum sensitivity that is implemented
11396purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011397 </td>
11398
11399 <td class="entry_units">
11400 </td>
11401
11402 <td class="entry_range">
11403 </td>
11404
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011405 <td class="entry_tags">
11406 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011407 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -070011408 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011409 </ul>
11410 </td>
11411
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011412 </tr>
11413 <tr class="entries_header">
11414 <th class="th_details" colspan="5">Details</th>
11415 </tr>
11416 <tr class="entry_cont">
11417 <td class="entry_details" colspan="5">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011418 <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 -080011419equal to this,<wbr/> all applied gain must be analog.<wbr/> For
11420values above this,<wbr/> it can be a mix of analog and
11421digital</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011422 </td>
11423 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011424
11425
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011426 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11427 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011428
11429
11430 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011431 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011432 android.<wbr/>sensor.<wbr/>noise<wbr/>Model<wbr/>Coefficients
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011433 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011435 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011436 <span class="entry_type_container">x</span>
11437
11438 <span class="entry_type_array">
11439 2
11440 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011441 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080011442 <div class="entry_type_notes">float constants A,<wbr/> B for the noise variance model</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011443
11444
11445 </td> <!-- entry_type -->
11446
11447 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011448 <p>Estimation of sensor noise
11449characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011450 </td>
11451
11452 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011453 var(raw pixel value) = electrons * (baseGainFactor
11454 * iso/<wbr/>100)^2 + A * (baseGainFactor * iso/<wbr/>100)^2 +
11455 B
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011456 </td>
11457
11458 <td class="entry_range">
11459 </td>
11460
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011461 <td class="entry_tags">
11462 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011463 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011464 </ul>
11465 </td>
11466
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011467 </tr>
11468 <tr class="entries_header">
11469 <th class="th_details" colspan="5">Details</th>
11470 </tr>
11471 <tr class="entry_cont">
11472 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011473 <p>A represents sensor read noise before analog
11474amplification; B represents noise from A/<wbr/>D conversion and
11475other circuits after amplification.<wbr/> Both noise sources
11476are assumed to be gaussian,<wbr/> independent,<wbr/> and not to vary
11477across the sensor</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011478 </td>
11479 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011480
11481
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011482 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11483 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011484
11485
11486 <tr class="entry" id="static_android.sensor.orientation">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011487 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011488 android.<wbr/>sensor.<wbr/>orientation
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011489 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011490 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011491 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011492
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011493 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011494
11495
11496 </td> <!-- entry_type -->
11497
11498 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011499 <p>Clockwise angle through which the output
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011500image needs to be rotated to be upright on the device
Igor Murashkin0b080452013-12-27 15:30:25 -080011501screen in its native orientation.<wbr/> Also defines the
11502direction of rolling shutter readout,<wbr/> which is from top
11503to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011504 </td>
11505
11506 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011507 degrees clockwise rotation,<wbr/> only multiples of
11508 90
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011509 </td>
11510
11511 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011512 <p>0,<wbr/>90,<wbr/>180,<wbr/>270</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011513 </td>
11514
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011515 <td class="entry_tags">
11516 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011517 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011518 </ul>
11519 </td>
11520
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011521 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011522
11523
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011524 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11525 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011526
11527
11528 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011529 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011530 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant1
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011531 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011532 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011533 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011534
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011535 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011536
11537 <ul class="entry_type_enum">
11538 <li>
11539 <span class="entry_type_enum_name">DAYLIGHT</span>
11540 <span class="entry_type_enum_value">1</span>
11541 </li>
11542 <li>
11543 <span class="entry_type_enum_name">FLUORESCENT</span>
11544 <span class="entry_type_enum_value">2</span>
11545 </li>
11546 <li>
11547 <span class="entry_type_enum_name">TUNGSTEN</span>
11548 <span class="entry_type_enum_value">3</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011549 <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011550 </li>
11551 <li>
11552 <span class="entry_type_enum_name">FLASH</span>
11553 <span class="entry_type_enum_value">4</span>
11554 </li>
11555 <li>
11556 <span class="entry_type_enum_name">FINE_WEATHER</span>
11557 <span class="entry_type_enum_value">9</span>
11558 </li>
11559 <li>
11560 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
11561 <span class="entry_type_enum_value">10</span>
11562 </li>
11563 <li>
11564 <span class="entry_type_enum_name">SHADE</span>
11565 <span class="entry_type_enum_value">11</span>
11566 </li>
11567 <li>
11568 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
11569 <span class="entry_type_enum_value">12</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011570 <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011571 </li>
11572 <li>
11573 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
11574 <span class="entry_type_enum_value">13</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011575 <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011576 </li>
11577 <li>
11578 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
11579 <span class="entry_type_enum_value">14</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011580 <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011581 </li>
11582 <li>
11583 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
11584 <span class="entry_type_enum_value">15</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080011585 <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011586 </li>
11587 <li>
11588 <span class="entry_type_enum_name">STANDARD_A</span>
11589 <span class="entry_type_enum_value">17</span>
11590 </li>
11591 <li>
11592 <span class="entry_type_enum_name">STANDARD_B</span>
11593 <span class="entry_type_enum_value">18</span>
11594 </li>
11595 <li>
11596 <span class="entry_type_enum_name">STANDARD_C</span>
11597 <span class="entry_type_enum_value">19</span>
11598 </li>
11599 <li>
11600 <span class="entry_type_enum_name">D55</span>
11601 <span class="entry_type_enum_value">20</span>
11602 </li>
11603 <li>
11604 <span class="entry_type_enum_name">D65</span>
11605 <span class="entry_type_enum_value">21</span>
11606 </li>
11607 <li>
11608 <span class="entry_type_enum_name">D75</span>
11609 <span class="entry_type_enum_value">22</span>
11610 </li>
11611 <li>
11612 <span class="entry_type_enum_name">D50</span>
11613 <span class="entry_type_enum_value">23</span>
11614 </li>
11615 <li>
11616 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
11617 <span class="entry_type_enum_value">24</span>
11618 </li>
11619 </ul>
11620
11621 </td> <!-- entry_type -->
11622
11623 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011624 <p>Light source used to define transform
116251</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011626 </td>
11627
11628 <td class="entry_units">
11629 </td>
11630
11631 <td class="entry_range">
11632 </td>
11633
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011634 <td class="entry_tags">
11635 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011636 <li><a href="#tag_DNG">DNG</a></li>
11637 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011638 </ul>
11639 </td>
11640
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011641 </tr>
11642 <tr class="entries_header">
11643 <th class="th_details" colspan="5">Details</th>
11644 </tr>
11645 <tr class="entry_cont">
11646 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011647 <p>[EXIF LightSource tag] Must all these be
11648supported? Need CCT for each!</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011649 </td>
11650 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011651
11652
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011653 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11654 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011655
11656
11657 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011658 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080011659 android.<wbr/>sensor.<wbr/>reference<wbr/>Illuminant2
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011660 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011662 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011663
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011664 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011665
11666
11667 </td> <!-- entry_type -->
11668
11669 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011670 <p>Light source used to define transform
116712</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011672 </td>
11673
11674 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011675 Same as illuminant 1
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011676 </td>
11677
11678 <td class="entry_range">
11679 </td>
11680
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011681 <td class="entry_tags">
11682 </td>
11683
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011684 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011685
11686
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011687 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11688 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011689
Igor Murashkina46e02f2014-01-09 17:43:38 -080011690
11691 <tr class="entry" id="static_android.sensor.availableTestPatternModes">
11692 <td class="entry_name" rowspan="1">
11693 android.<wbr/>sensor.<wbr/>available<wbr/>Test<wbr/>Pattern<wbr/>Modes
11694 </td>
11695 <td class="entry_type">
11696 <span class="entry_type_name">byte</span>
11697
11698 <span class="entry_type_visibility"> [public]</span>
11699
11700
11701 </td> <!-- entry_type -->
11702
11703 <td class="entry_description">
11704 <p>Optional.<wbr/> Defaults to [OFF].<wbr/> Lists the supported test
11705pattern modes for android.<wbr/>test.<wbr/>pattern<wbr/>Mode.<wbr/></p>
11706 </td>
11707
11708 <td class="entry_units">
11709 </td>
11710
11711 <td class="entry_range">
11712 <p>Must include OFF.<wbr/> All custom modes must be &gt;= CUSTOM1</p>
11713 </td>
11714
11715 <td class="entry_tags">
11716 </td>
11717
11718 </tr>
11719
11720
11721 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11722 <!-- end of entry -->
11723
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011724
11725
11726 <!-- end of kind -->
11727 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011728 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011729
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011730 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011731 <tr>
11732 <th class="th_name">Property Name</th>
11733 <th class="th_type">Type</th>
11734 <th class="th_description">Description</th>
11735 <th class="th_units">Units</th>
11736 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011737 <th class="th_tags">Tags</th>
11738 </tr>
11739 </thead>
11740
11741 <tbody>
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752 <tr class="entry" id="dynamic_android.sensor.exposureTime">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011753 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011754 android.<wbr/>sensor.<wbr/>exposure<wbr/>Time
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011755 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011757 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011758
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011759 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011760
11761
11762 </td> <!-- entry_type -->
11763
11764 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011765 <p>Duration each pixel is exposed to
11766light.<wbr/></p>
11767<p>If the sensor can't expose this exact duration,<wbr/> it should shorten the
11768duration exposed to the nearest possible value (rather than expose longer).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011769 </td>
11770
11771 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011772 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011773 </td>
11774
11775 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011776 <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 -080011777 </td>
11778
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011779 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011780 <ul class="entry_tags">
11781 <li><a href="#tag_V1">V1</a></li>
11782 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011783 </td>
11784
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011785 </tr>
11786 <tr class="entries_header">
11787 <th class="th_details" colspan="5">Details</th>
11788 </tr>
11789 <tr class="entry_cont">
11790 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011791 <p>1/<wbr/>10000 - 30 sec range.<wbr/> No bulb mode</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011792 </td>
11793 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011794
11795
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011796 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11797 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011798
11799
11800 <tr class="entry" id="dynamic_android.sensor.frameDuration">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011801 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011802 android.<wbr/>sensor.<wbr/>frame<wbr/>Duration
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011803 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011804 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011805 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011806
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011807 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011808
11809
11810 </td> <!-- entry_type -->
11811
11812 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011813 <p>Duration from start of frame exposure to
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011814start of next frame exposure.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011815 </td>
11816
11817 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011818 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011819 </td>
11820
11821 <td class="entry_range">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011822 <p>See <a href="#static_android.sensor.info.maxFrameDuration">android.<wbr/>sensor.<wbr/>info.<wbr/>max<wbr/>Frame<wbr/>Duration</a>,<wbr/>
11823android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations.<wbr/> The duration
11824is capped to <code>max(duration,<wbr/> exposureTime + overhead)</code>.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011825 </td>
11826
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011827 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011828 <ul class="entry_tags">
11829 <li><a href="#tag_V1">V1</a></li>
11830 <li><a href="#tag_BC">BC</a></li>
11831 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011832 </td>
11833
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011834 </tr>
11835 <tr class="entries_header">
11836 <th class="th_details" colspan="5">Details</th>
11837 </tr>
11838 <tr class="entry_cont">
11839 <td class="entry_details" colspan="5">
Igor Murashkin10f4e0f2014-01-13 17:22:58 -080011840 <p>The maximum frame rate that can be supported by a camera subsystem is
11841a function of many factors:</p>
11842<ul>
11843<li>Requested resolutions of output image streams</li>
11844<li>Availability of binning /<wbr/> skipping modes on the imager</li>
11845<li>The bandwidth of the imager interface</li>
11846<li>The bandwidth of the various ISP processing blocks</li>
11847</ul>
11848<p>Since these factors can vary greatly between different ISPs and
11849sensors,<wbr/> the camera abstraction tries to represent the bandwidth
11850restrictions with as simple a model as possible.<wbr/></p>
11851<p>The model presented has the following characteristics:</p>
11852<ul>
11853<li>The image sensor is always configured to output the smallest
11854resolution possible given the application's requested output stream
11855sizes.<wbr/> The smallest resolution is defined as being at least as large
11856as the largest requested output stream size; the camera pipeline must
11857never digitally upsample sensor data when the crop region covers the
11858whole sensor.<wbr/> In general,<wbr/> this means that if only small output stream
11859resolutions are configured,<wbr/> the sensor can provide a higher frame
11860rate.<wbr/></li>
11861<li>Since any request may use any or all the currently configured
11862output streams,<wbr/> the sensor and ISP must be configured to support
11863scaling a single capture to all the streams at the same time.<wbr/> This
11864means the camera pipeline must be ready to produce the largest
11865requested output size without any delay.<wbr/> Therefore,<wbr/> the overall
11866frame rate of a given configured stream set is governed only by the
11867largest requested stream resolution.<wbr/></li>
11868<li>Using more than one output stream in a request does not affect the
11869frame duration.<wbr/></li>
11870<li>JPEG streams act like processed YUV streams in requests for which
11871they are not included; in requests in which they are directly
11872referenced,<wbr/> they act as JPEG streams.<wbr/> This is because supporting a
11873JPEG stream requires the underlying YUV data to always be ready for
11874use by a JPEG encoder,<wbr/> but the encoder will only be used (and impact
11875frame duration) on requests that actually reference a JPEG stream.<wbr/></li>
11876<li>The JPEG processor can run concurrently to the rest of the camera
11877pipeline,<wbr/> but cannot process more than 1 capture at a time.<wbr/></li>
11878</ul>
11879<p>The necessary information for the application,<wbr/> given the model above,<wbr/>
11880is provided via the android.<wbr/>scaler.<wbr/>available*Min<wbr/>Durations fields.<wbr/>
11881These are used to determine the maximum frame rate /<wbr/> minimum frame
11882duration that is possible for a given stream configuration.<wbr/></p>
11883<p>Specifically,<wbr/> the application can use the following rules to
11884determine the minimum frame duration it can request from the HAL
11885device:</p>
11886<ol>
11887<li>Given the application's currently configured set of output
11888streams,<wbr/> <code>S</code>,<wbr/> divide them into three sets: streams in a JPEG format
11889<code>SJ</code>,<wbr/> streams in a raw sensor format <code>SR</code>,<wbr/> and the rest ('processed')
11890<code>SP</code>.<wbr/></li>
11891<li>For each subset of streams,<wbr/> find the largest resolution (by pixel
11892count) in the subset.<wbr/> This gives (at most) three resolutions <code>RJ</code>,<wbr/>
11893<code>RR</code>,<wbr/> and <code>RP</code>.<wbr/></li>
11894<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
11895no exact match for <code>RP == RJ</code> (in particular there isn't an available
11896processed resolution at the same size as <code>RJ</code>),<wbr/> then set <code>RP</code> equal
11897to the smallest processed resolution that is larger than <code>RJ</code>.<wbr/> If
11898there are no processed resolutions larger than <code>RJ</code>,<wbr/> then set <code>RJ</code> to
11899the processed resolution closest to <code>RJ</code>.<wbr/></li>
11900<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
11901no exact match for <code>RR == RP</code> (in particular there isn't an available
11902raw resolution at the same size as <code>RP</code>),<wbr/> then set <code>RR</code> equal to
11903or to the smallest raw resolution that is larger than <code>RP</code>.<wbr/> If
11904there are no raw resolutions larger than <code>RP</code>,<wbr/> then set <code>RR</code> to
11905the raw resolution closest to <code>RP</code>.<wbr/></li>
11906<li>Look up the matching minimum frame durations in the property lists
11907<a href="#static_android.scaler.availableJpegMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Min<wbr/>Durations</a>,<wbr/>
11908<a href="#static_android.scaler.availableRawMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Raw<wbr/>Min<wbr/>Durations</a>,<wbr/> and
11909<a href="#static_android.scaler.availableProcessedMinDurations">android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Min<wbr/>Durations</a>.<wbr/> This gives three
11910minimum frame durations <code>FJ</code>,<wbr/> <code>FR</code>,<wbr/> and <code>FP</code>.<wbr/></li>
11911<li>If a stream of requests do not use a JPEG stream,<wbr/> then the minimum
11912supported frame duration for each request is <code>max(FR,<wbr/> FP)</code>.<wbr/></li>
11913<li>If a stream of requests all use the JPEG stream,<wbr/> then the minimum
11914supported frame duration for each request is <code>max(FR,<wbr/> FP,<wbr/> FJ)</code>.<wbr/></li>
11915<li>If a mix of JPEG-using and non-JPEG-using requests is submitted by
11916the application,<wbr/> then the HAL will have to delay JPEG-using requests
11917whenever the JPEG encoder is still busy processing an older capture.<wbr/>
11918This will happen whenever a JPEG-using request starts capture less
11919than <code>FJ</code> <em>ns</em> after a previous JPEG-using request.<wbr/> The minimum
11920supported frame duration will vary between the values calculated in
11921#6 and #7.<wbr/></li>
11922</ol>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011923 </td>
11924 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011925
11926
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011927 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11928 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011929
11930
11931 <tr class="entry" id="dynamic_android.sensor.sensitivity">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011932 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011933 android.<wbr/>sensor.<wbr/>sensitivity
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011934 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011935 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011936 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011937
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011938 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011939
11940
11941 </td> <!-- entry_type -->
11942
11943 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011944 <p>Gain applied to image data.<wbr/> Must be
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011945implemented through analog gain only if set to values
Igor Murashkin0b080452013-12-27 15:30:25 -080011946below 'maximum analog sensitivity'.<wbr/></p>
11947<p>If the sensor can't apply this exact gain,<wbr/> it should lessen the
11948gain to the nearest possible value (rather than gain more).<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011949 </td>
11950
11951 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011952 ISO arithmetic units
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011953 </td>
11954
11955 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080011956 <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 -080011957 </td>
11958
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011959 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080011960 <ul class="entry_tags">
11961 <li><a href="#tag_V1">V1</a></li>
11962 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011963 </td>
11964
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011965 </tr>
11966 <tr class="entries_header">
11967 <th class="th_details" colspan="5">Details</th>
11968 </tr>
11969 <tr class="entry_cont">
11970 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080011971 <p>ISO 12232:2006 REI method</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011972 </td>
11973 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011974
11975
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080011976 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
11977 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011978
11979
11980 <tr class="entry" id="dynamic_android.sensor.timestamp">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011981 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080011982 android.<wbr/>sensor.<wbr/>timestamp
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080011983 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011984 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080011985 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011986
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011987 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011988
11989
11990 </td> <!-- entry_type -->
11991
11992 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080011993 <p>Time at start of exposure of first
11994row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011995 </td>
11996
11997 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080011998 nanoseconds
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011999 </td>
12000
12001 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012002 <p>&gt; 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012003 </td>
12004
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012005 <td class="entry_tags">
12006 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012007 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012008 </ul>
12009 </td>
12010
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012011 </tr>
12012 <tr class="entries_header">
12013 <th class="th_details" colspan="5">Details</th>
12014 </tr>
12015 <tr class="entry_cont">
12016 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012017 <p>Monotonic,<wbr/> should be synced to other timestamps in
12018system</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012019 </td>
12020 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012021
12022
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012023 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12024 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012025
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012026
12027 <tr class="entry" id="dynamic_android.sensor.temperature">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012028 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012029 android.<wbr/>sensor.<wbr/>temperature
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012030 </td>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012031 <td class="entry_type">
12032 <span class="entry_type_name">float</span>
12033
12034 <span class="entry_type_visibility"> [public]</span>
12035
12036
12037 </td> <!-- entry_type -->
12038
12039 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012040 <p>The temperature of the sensor,<wbr/> sampled at the time
12041exposure began for this frame.<wbr/></p>
12042<p>The thermal diode being queried should be inside the sensor PCB,<wbr/> or
12043somewhere close to it.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012044 </td>
12045
12046 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012047 celsius
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012048 </td>
12049
12050 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012051 <p>Optional.<wbr/> This value is missing if no temperature is available.<wbr/></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012052 </td>
12053
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012054 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -070012055 <ul class="entry_tags">
12056 <li><a href="#tag_FULL">FULL</a></li>
12057 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012058 </td>
12059
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012060 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012061
12062
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012063 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12064 <!-- end of entry -->
Igor Murashkin656aa5a2013-08-13 14:23:39 -070012065
Igor Murashkina46e02f2014-01-09 17:43:38 -080012066
12067 <tr class="entry" id="dynamic_android.sensor.testPatternMode">
12068 <td class="entry_name" rowspan="5">
12069 android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Mode
12070 </td>
12071 <td class="entry_type">
12072 <span class="entry_type_name entry_type_name_enum">int32</span>
12073
12074 <span class="entry_type_visibility"> [public]</span>
12075
12076 <ul class="entry_type_enum">
12077 <li>
12078 <span class="entry_type_enum_name">OFF</span>
12079 <span class="entry_type_enum_notes"><p>Default.<wbr/> No test pattern mode is used,<wbr/> and the camera
12080device returns captures from the image sensor.<wbr/></p></span>
12081 </li>
12082 <li>
12083 <span class="entry_type_enum_name">SOLID_COLOR</span>
12084 <span class="entry_type_enum_notes"><p>Each pixel in <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> is replaced by its
12085respective color channel provided in
12086<a href="#controls_android.sensor.testPatternData">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data</a>.<wbr/></p>
12087<p>For example:</p>
12088<pre><code>android.<wbr/>testPatternData = [0,<wbr/> 0xFFFFFFFF,<wbr/> 0xFFFFFFFF,<wbr/> 0]
12089</code></pre>
12090<p>All green pixels are 100% green.<wbr/> All red/<wbr/>blue pixels are black.<wbr/></p>
12091<pre><code>android.<wbr/>testPatternData = [0xFFFFFFFF,<wbr/> 0,<wbr/> 0xFFFFFFFF,<wbr/> 0]
12092</code></pre>
12093<p>All red pixels are 100% red.<wbr/> Only the odd green pixels
12094are 100% green.<wbr/> All blue pixels are 100% black.<wbr/></p></span>
12095 </li>
12096 <li>
12097 <span class="entry_type_enum_name">COLOR_BARS</span>
12098 <span class="entry_type_enum_notes"><p>All pixel data is replaced with an 8-bar color pattern.<wbr/></p>
12099<p>The vertical bars (left-to-right) are as follows:</p>
12100<ul>
12101<li>100% white</li>
12102<li>yellow</li>
12103<li>cyan</li>
12104<li>green</li>
12105<li>magenta</li>
12106<li>red</li>
12107<li>blue</li>
12108<li>black</li>
12109</ul>
12110<p>In general the image would look like the following:</p>
12111<pre><code>W Y C G M R B K
12112W Y C G M R B K
12113W Y C G M R B K
12114W Y C G M R B K
12115W Y C G M R B K
12116.<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/>
12117.<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/>
12118.<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/> .<wbr/>
12119
12120(B = Blue,<wbr/> K = Black)
12121</code></pre>
12122<p>Each bar should take up 1/<wbr/>8 of the sensor pixel array width.<wbr/>
12123When this is not possible,<wbr/> the bar size should be rounded
12124down to the nearest integer and the pattern can repeat
12125on the right side.<wbr/></p>
12126<p>Each bar's height must always take up the full sensor
12127pixel array height.<wbr/></p>
12128<p>Each pixel in this test pattern must be set to either
121290% intensity or 100% intensity.<wbr/></p></span>
12130 </li>
12131 <li>
12132 <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY</span>
12133 <span class="entry_type_enum_notes"><p>The test pattern is similar to COLOR_<wbr/>BARS,<wbr/> except that
12134each bar should start at its specified color at the top,<wbr/>
12135and fade to gray at the bottom.<wbr/></p>
12136<p>Furthermore each bar is further subdivided into a left and
12137right half.<wbr/> The left half should have a smooth gradient,<wbr/>
12138and the right half should have a quantized gradient.<wbr/></p>
12139<p>In particular,<wbr/> the right half's should consist of blocks of the
12140same color for 1/<wbr/>16th active sensor pixel array width.<wbr/></p>
12141<p>The least significant bits in the quantized gradient should
12142be copied from the most significant bits of the smooth gradient.<wbr/></p>
12143<p>The height of each bar should always be a multiple of 128.<wbr/>
12144When this is not the case,<wbr/> the pattern should repeat at the bottom
12145of the image.<wbr/></p></span>
12146 </li>
12147 <li>
12148 <span class="entry_type_enum_name">PN9</span>
12149 <span class="entry_type_enum_notes"><p>All pixel data is replaced by a pseudo-random sequence
12150generated from a PN9 512-bit sequence (typically implemented
12151in hardware with a linear feedback shift register).<wbr/></p>
12152<p>The generator should be reset at the beginning of each frame,<wbr/>
12153and thus each subsequent raw frame with this test pattern should
12154be exactly the same as the last.<wbr/></p></span>
12155 </li>
12156 <li>
12157 <span class="entry_type_enum_name">CUSTOM1</span>
12158 <span class="entry_type_enum_value">256</span>
12159 <span class="entry_type_enum_notes"><p>The first custom test pattern.<wbr/> All custom patterns that are
12160available only on this camera device are at least this numeric
12161value.<wbr/></p>
12162<p>All of the custom test patterns will be static
12163(that is the raw image must not vary from frame to frame).<wbr/></p></span>
12164 </li>
12165 </ul>
12166
12167 </td> <!-- entry_type -->
12168
12169 <td class="entry_description">
12170 <p>When enabled,<wbr/> the sensor sends a test pattern instead of
12171doing a real exposure from the camera.<wbr/></p>
12172 </td>
12173
12174 <td class="entry_units">
12175 </td>
12176
12177 <td class="entry_range">
12178 <p>Optional.<wbr/> Defaults to OFF.<wbr/> Value must be one of
12179<a href="#static_android.sensor.availableTestPatternModes">android.<wbr/>sensor.<wbr/>available<wbr/>Test<wbr/>Pattern<wbr/>Modes</a></p>
12180 </td>
12181
12182 <td class="entry_tags">
12183 </td>
12184
12185 </tr>
12186 <tr class="entries_header">
12187 <th class="th_details" colspan="5">Details</th>
12188 </tr>
12189 <tr class="entry_cont">
12190 <td class="entry_details" colspan="5">
12191 <p>When a test pattern is enabled,<wbr/> all manual sensor controls specified
12192by android.<wbr/>sensor.<wbr/>* should be ignored.<wbr/> All other controls should
12193work as normal.<wbr/></p>
12194<p>For example,<wbr/> if manual flash is enabled,<wbr/> flash firing should still
12195occur (and that the test pattern remain unmodified,<wbr/> since the flash
12196would not actually affect it).<wbr/></p>
12197 </td>
12198 </tr>
12199
12200 <tr class="entries_header">
12201 <th class="th_details" colspan="5">HAL Implementation Details</th>
12202 </tr>
12203 <tr class="entry_cont">
12204 <td class="entry_details" colspan="5">
12205 <p>All test patterns are specified in the Bayer domain.<wbr/></p>
12206<p>The HAL may choose to substitute test patterns from the sensor
12207with test patterns from on-device memory.<wbr/> In that case,<wbr/> it should be
12208indistinguishable to the ISP whether the data came from the
12209sensor interconnect bus (such as CSI2) or memory.<wbr/></p>
12210 </td>
12211 </tr>
12212
12213 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12214 <!-- end of entry -->
12215
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012216
12217
12218 <!-- end of kind -->
12219 </tbody>
12220
12221 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012222 <tr><td colspan="6" id="section_shading" class="section">shading</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012223
12224
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012225 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012227 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012228 <tr>
12229 <th class="th_name">Property Name</th>
12230 <th class="th_type">Type</th>
12231 <th class="th_description">Description</th>
12232 <th class="th_units">Units</th>
12233 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012234 <th class="th_tags">Tags</th>
12235 </tr>
12236 </thead>
12237
12238 <tbody>
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249 <tr class="entry" id="controls_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080012250 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012251 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012252 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012253 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012254 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012255
Zhijun He2f86a212014-01-15 10:34:02 -080012256 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012257
12258 <ul class="entry_type_enum">
12259 <li>
12260 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080012261 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012262 </li>
12263 <li>
12264 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080012265 <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 -080012266 </li>
12267 <li>
12268 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080012269 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012270 </li>
12271 </ul>
12272
12273 </td> <!-- entry_type -->
12274
12275 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012276 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080012277to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012278 </td>
12279
12280 <td class="entry_units">
12281 </td>
12282
12283 <td class="entry_range">
12284 </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>
Zhijun He2f86a212014-01-15 10:34:02 -080012290 <tr class="entries_header">
12291 <th class="th_details" colspan="5">Details</th>
12292 </tr>
12293 <tr class="entry_cont">
12294 <td class="entry_details" colspan="5">
12295 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
12296camera device,<wbr/> and an identity lens shading map data will be provided
12297if <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
12298shading 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/>
12299the 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
12300shown below:</p>
12301<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/>
12302 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/>
12303 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/>
12304 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/>
12305 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/>
12306 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 ]
12307</code></pre>
12308<p>When set to other modes,<wbr/> lens shading correction will be applied by the
12309camera device.<wbr/> Applications can request lens shading map data by setting
12310<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
12311lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
12312by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
12313 </td>
12314 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012315
12316
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012317 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12318 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012319
12320
12321 <tr class="entry" id="controls_android.shading.strength">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012322 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012323 android.<wbr/>shading.<wbr/>strength
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012324 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012325 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012326 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012327
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012328 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012329
12330
12331 </td> <!-- entry_type -->
12332
12333 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012334 <p>Control the amount of shading correction
12335applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012336 </td>
12337
12338 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012339 unitless: 1-10; 10 is full shading
12340 compensation
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012341 </td>
12342
12343 <td class="entry_range">
12344 </td>
12345
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012346 <td class="entry_tags">
12347 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012348 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012349 </ul>
12350 </td>
12351
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012352 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012353
12354
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012355 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12356 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012357
12358
12359
12360 <!-- end of kind -->
12361 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012362 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012363
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012364 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012365 <tr>
12366 <th class="th_name">Property Name</th>
12367 <th class="th_type">Type</th>
12368 <th class="th_description">Description</th>
12369 <th class="th_units">Units</th>
12370 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012371 <th class="th_tags">Tags</th>
12372 </tr>
12373 </thead>
12374
12375 <tbody>
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386 <tr class="entry" id="dynamic_android.shading.mode">
Zhijun He2f86a212014-01-15 10:34:02 -080012387 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012388 android.<wbr/>shading.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012389 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012390 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012391 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012392
Zhijun He2f86a212014-01-15 10:34:02 -080012393 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012394
12395 <ul class="entry_type_enum">
12396 <li>
12397 <span class="entry_type_enum_name">OFF</span>
Zhijun He2f86a212014-01-15 10:34:02 -080012398 <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012399 </li>
12400 <li>
12401 <span class="entry_type_enum_name">FAST</span>
Zhijun He2f86a212014-01-15 10:34:02 -080012402 <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 -080012403 </li>
12404 <li>
12405 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Zhijun He2f86a212014-01-15 10:34:02 -080012406 <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012407 </li>
12408 </ul>
12409
12410 </td> <!-- entry_type -->
12411
12412 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012413 <p>Quality of lens shading correction applied
Zhijun He2f86a212014-01-15 10:34:02 -080012414to the image data.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012415 </td>
12416
12417 <td class="entry_units">
12418 </td>
12419
12420 <td class="entry_range">
12421 </td>
12422
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012423 <td class="entry_tags">
12424 </td>
12425
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012426 </tr>
Zhijun He2f86a212014-01-15 10:34:02 -080012427 <tr class="entries_header">
12428 <th class="th_details" colspan="5">Details</th>
12429 </tr>
12430 <tr class="entry_cont">
12431 <td class="entry_details" colspan="5">
12432 <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
12433camera device,<wbr/> and an identity lens shading map data will be provided
12434if <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
12435shading 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/>
12436the 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
12437shown below:</p>
12438<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/>
12439 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/>
12440 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/>
12441 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/>
12442 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/>
12443 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 ]
12444</code></pre>
12445<p>When set to other modes,<wbr/> lens shading correction will be applied by the
12446camera device.<wbr/> Applications can request lens shading map data by setting
12447<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
12448lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
12449by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
12450 </td>
12451 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012452
12453
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012454 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12455 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012456
12457
12458
12459 <!-- end of kind -->
12460 </tbody>
12461
12462 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012463 <tr><td colspan="6" id="section_statistics" class="section">statistics</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012464
12465
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012466 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012467
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012468 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012469 <tr>
12470 <th class="th_name">Property Name</th>
12471 <th class="th_type">Type</th>
12472 <th class="th_description">Description</th>
12473 <th class="th_units">Units</th>
12474 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012475 <th class="th_tags">Tags</th>
12476 </tr>
12477 </thead>
12478
12479 <tbody>
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490 <tr class="entry" id="controls_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012491 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012492 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012493 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012494 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012495 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012496
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012497 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012498
12499 <ul class="entry_type_enum">
12500 <li>
12501 <span class="entry_type_enum_name">OFF</span>
12502 </li>
12503 <li>
12504 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012505 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12506only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012507 </li>
12508 <li>
12509 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012510 <span class="entry_type_enum_notes"><p>Optional Return all face
12511metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012512 </li>
12513 </ul>
12514
12515 </td> <!-- entry_type -->
12516
12517 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012518 <p>State of the face detector
12519unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012520 </td>
12521
12522 <td class="entry_units">
12523 </td>
12524
12525 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012526 <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 -080012527 </td>
12528
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012529 <td class="entry_tags">
12530 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012531 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012532 </ul>
12533 </td>
12534
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012535 </tr>
12536 <tr class="entries_header">
12537 <th class="th_details" colspan="5">Details</th>
12538 </tr>
12539 <tr class="entry_cont">
12540 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012541 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012542should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080012543fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012544<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 -080012545 </td>
12546 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012547
12548
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012549 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12550 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012551
12552
12553 <tr class="entry" id="controls_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012554 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012555 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012556 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012558 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012559
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012560 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012561
12562 <ul class="entry_type_enum">
12563 <li>
12564 <span class="entry_type_enum_name">OFF</span>
12565 </li>
12566 <li>
12567 <span class="entry_type_enum_name">ON</span>
12568 </li>
12569 </ul>
12570
12571 </td> <!-- entry_type -->
12572
12573 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012574 <p>Operating mode for histogram
12575generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012576 </td>
12577
12578 <td class="entry_units">
12579 </td>
12580
12581 <td class="entry_range">
12582 </td>
12583
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012584 <td class="entry_tags">
12585 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012586 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012587 </ul>
12588 </td>
12589
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012590 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012591
12592
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012593 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12594 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012595
12596
12597 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012598 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012599 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012600 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012602 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012603
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012604 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012605
12606 <ul class="entry_type_enum">
12607 <li>
12608 <span class="entry_type_enum_name">OFF</span>
12609 </li>
12610 <li>
12611 <span class="entry_type_enum_name">ON</span>
12612 </li>
12613 </ul>
12614
12615 </td> <!-- entry_type -->
12616
12617 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012618 <p>Operating mode for sharpness map
12619generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012620 </td>
12621
12622 <td class="entry_units">
12623 </td>
12624
12625 <td class="entry_range">
12626 </td>
12627
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012628 <td class="entry_tags">
12629 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080012630 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012631 </ul>
12632 </td>
12633
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012634 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012635
12636
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012637 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12638 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012639
Zhijun He69fc0ea2013-07-17 09:42:58 -070012640
12641 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012642 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012643 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012644 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012645 <td class="entry_type">
12646 <span class="entry_type_name entry_type_name_enum">byte</span>
12647
12648 <span class="entry_type_visibility"> [public]</span>
12649
12650 <ul class="entry_type_enum">
12651 <li>
12652 <span class="entry_type_enum_name">OFF</span>
12653 </li>
12654 <li>
12655 <span class="entry_type_enum_name">ON</span>
12656 </li>
12657 </ul>
12658
12659 </td> <!-- entry_type -->
12660
12661 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012662 <p>Whether the HAL needs to output the lens
12663shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012664 </td>
12665
12666 <td class="entry_units">
12667 </td>
12668
12669 <td class="entry_range">
12670 </td>
12671
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012672 <td class="entry_tags">
12673 </td>
12674
12675 </tr>
12676 <tr class="entries_header">
12677 <th class="th_details" colspan="5">Details</th>
12678 </tr>
12679 <tr class="entry_cont">
12680 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012681 <p>When set to ON,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012682<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 -080012683the output result metadata.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070012684 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012685 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012686
12687
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012688 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12689 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070012690
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012691
12692
12693 <!-- end of kind -->
12694 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012695 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012696
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012697 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012698 <tr>
12699 <th class="th_name">Property Name</th>
12700 <th class="th_type">Type</th>
12701 <th class="th_description">Description</th>
12702 <th class="th_units">Units</th>
12703 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012704 <th class="th_tags">Tags</th>
12705 </tr>
12706 </thead>
12707
12708 <tbody>
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012722 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012723 android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Face<wbr/>Detect<wbr/>Modes
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012724 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012725 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012726 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012727 <span class="entry_type_container">x</span>
12728
12729 <span class="entry_type_array">
12730 n
12731 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012732 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012733 <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 -080012734
12735
12736 </td> <!-- entry_type -->
12737
12738 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012739 <p>Which face detection modes are available,<wbr/>
12740if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012741 </td>
12742
12743 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080012744 List of enum:
Zhijun He69fc0ea2013-07-17 09:42:58 -070012745 OFF
12746 SIMPLE
Igor Murashkin0b080452013-12-27 15:30:25 -080012747 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012748 </td>
12749
12750 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012751 </td>
12752
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012753 <td class="entry_tags">
12754 </td>
12755
12756 </tr>
12757 <tr class="entries_header">
12758 <th class="th_details" colspan="5">Details</th>
12759 </tr>
12760 <tr class="entry_cont">
12761 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080012762 <p>OFF means face detection is disabled,<wbr/> it must
12763be included in the list.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012764<p>SIMPLE means the device supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012765<a href="#dynamic_android.statistics.faceRectangles">android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles</a> and
12766<a href="#dynamic_android.statistics.faceScores">android.<wbr/>statistics.<wbr/>face<wbr/>Scores</a> outputs.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080012767<p>FULL means the device additionally supports the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012768<a href="#dynamic_android.statistics.faceIds">android.<wbr/>statistics.<wbr/>face<wbr/>Ids</a> and
12769<a href="#dynamic_android.statistics.faceLandmarks">android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks</a> outputs.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012770 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012771 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012772
12773
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012774 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12775 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012776
12777
12778 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012779 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012780 android.<wbr/>statistics.<wbr/>info.<wbr/>histogram<wbr/>Bucket<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012781 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012782 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012783 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012784
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012785 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012786
12787
12788 </td> <!-- entry_type -->
12789
12790 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012791 <p>Number of histogram buckets
12792supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012793 </td>
12794
12795 <td class="entry_units">
12796 </td>
12797
12798 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012799 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012800 </td>
12801
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012802 <td class="entry_tags">
12803 </td>
12804
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012805 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012806
12807
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012808 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12809 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012810
12811
12812 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012813 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012814 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012815 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012816 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012817 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012818
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012819 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012820
12821
12822 </td> <!-- entry_type -->
12823
12824 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012825 <p>Maximum number of simultaneously detectable
12826faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012827 </td>
12828
12829 <td class="entry_units">
12830 </td>
12831
12832 <td class="entry_range">
Igor Murashkin6cb7c2c2014-01-10 15:12:40 -080012833 <p>&gt;= 4 if availableFaceDetectionModes lists
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012834modes besides OFF,<wbr/> otherwise 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012835 </td>
12836
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012837 <td class="entry_tags">
12838 </td>
12839
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012840 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012841
12842
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012843 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12844 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012845
12846
12847 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012848 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012849 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Histogram<wbr/>Count
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012850 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012851 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012852 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012853
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012854 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012855
12856
12857 </td> <!-- entry_type -->
12858
12859 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012860 <p>Maximum value possible for a histogram
12861bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012862 </td>
12863
12864 <td class="entry_units">
12865 </td>
12866
12867 <td class="entry_range">
12868 </td>
12869
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012870 <td class="entry_tags">
12871 </td>
12872
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012873 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012874
12875
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012876 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12877 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012878
12879
12880 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012881 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012882 android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Sharpness<wbr/>Map<wbr/>Value
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012883 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012884 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012885 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012886
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012887 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012888
12889
12890 </td> <!-- entry_type -->
12891
12892 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012893 <p>Maximum value possible for a sharpness map
12894region.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012895 </td>
12896
12897 <td class="entry_units">
12898 </td>
12899
12900 <td class="entry_range">
12901 </td>
12902
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012903 <td class="entry_tags">
12904 </td>
12905
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012906 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012907
12908
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012909 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12910 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012911
12912
12913 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012914 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080012915 android.<wbr/>statistics.<wbr/>info.<wbr/>sharpness<wbr/>Map<wbr/>Size
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012916 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012917 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012918 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012919 <span class="entry_type_container">x</span>
12920
12921 <span class="entry_type_array">
12922 2
12923 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -070012924 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080012925 <div class="entry_type_notes">width x height</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012926
12927
12928 </td> <!-- entry_type -->
12929
12930 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080012931 <p>Dimensions of the sharpness
12932map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012933 </td>
12934
12935 <td class="entry_units">
12936 </td>
12937
12938 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080012939 <p>Must be at least 32 x 32</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012940 </td>
12941
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012942 <td class="entry_tags">
12943 </td>
12944
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012945 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012946
12947
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012948 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
12949 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012950
12951
12952
12953
12954
12955
12956 <!-- end of kind -->
12957 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080012958 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012959
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012960 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012961 <tr>
12962 <th class="th_name">Property Name</th>
12963 <th class="th_type">Type</th>
12964 <th class="th_description">Description</th>
12965 <th class="th_units">Units</th>
12966 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012967 <th class="th_tags">Tags</th>
12968 </tr>
12969 </thead>
12970
12971 <tbody>
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012983 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080012984 android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080012985 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080012987 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012988
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070012989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012990
12991 <ul class="entry_type_enum">
12992 <li>
12993 <span class="entry_type_enum_name">OFF</span>
12994 </li>
12995 <li>
12996 <span class="entry_type_enum_name">SIMPLE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080012997 <span class="entry_type_enum_notes"><p>Optional Return rectangle and confidence
12998only</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080012999 </li>
13000 <li>
13001 <span class="entry_type_enum_name">FULL</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013002 <span class="entry_type_enum_notes"><p>Optional Return all face
13003metadata</p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013004 </li>
13005 </ul>
13006
13007 </td> <!-- entry_type -->
13008
13009 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013010 <p>State of the face detector
13011unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013012 </td>
13013
13014 <td class="entry_units">
13015 </td>
13016
13017 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013018 <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 -080013019 </td>
13020
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013021 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013022 <ul class="entry_tags">
13023 <li><a href="#tag_BC">BC</a></li>
13024 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013025 </td>
13026
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013027 </tr>
13028 <tr class="entries_header">
13029 <th class="th_details" colspan="5">Details</th>
13030 </tr>
13031 <tr class="entry_cont">
13032 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013033 <p>Whether face detection is enabled,<wbr/> and whether it
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013034should output just the basic fields or the full set of
Igor Murashkin0b080452013-12-27 15:30:25 -080013035fields.<wbr/> Value must be one of the
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013036<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 -080013037 </td>
13038 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013039
13040
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013041 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13042 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013043
13044
13045 <tr class="entry" id="dynamic_android.statistics.faceIds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013046 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013047 android.<wbr/>statistics.<wbr/>face<wbr/>Ids
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013048 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013049 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013050 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013051 <span class="entry_type_container">x</span>
13052
13053 <span class="entry_type_array">
13054 n
13055 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070013056 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013057
13058
13059 </td> <!-- entry_type -->
13060
13061 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013062 <p>List of unique IDs for detected
13063faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013064 </td>
13065
13066 <td class="entry_units">
13067 </td>
13068
13069 <td class="entry_range">
13070 </td>
13071
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013072 <td class="entry_tags">
13073 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013074 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013075 </ul>
13076 </td>
13077
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013078 </tr>
13079 <tr class="entries_header">
13080 <th class="th_details" colspan="5">Details</th>
13081 </tr>
13082 <tr class="entry_cont">
13083 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013084 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013085 </td>
13086 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013087
13088
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013089 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13090 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013091
13092
13093 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013094 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013095 android.<wbr/>statistics.<wbr/>face<wbr/>Landmarks
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013096 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013097 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013098 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013099 <span class="entry_type_container">x</span>
13100
13101 <span class="entry_type_array">
13102 n x 6
13103 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070013104 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013105 <div class="entry_type_notes">(leftEyeX,<wbr/> leftEyeY,<wbr/> rightEyeX,<wbr/> rightEyeY,<wbr/> mouthX,<wbr/> mouthY)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013106
13107
13108 </td> <!-- entry_type -->
13109
13110 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013111 <p>List of landmarks for detected
13112faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013113 </td>
13114
13115 <td class="entry_units">
13116 </td>
13117
13118 <td class="entry_range">
13119 </td>
13120
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013121 <td class="entry_tags">
13122 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013123 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013124 </ul>
13125 </td>
13126
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013127 </tr>
13128 <tr class="entries_header">
13129 <th class="th_details" colspan="5">Details</th>
13130 </tr>
13131 <tr class="entry_cont">
13132 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013133 <p>Only available if faceDetectMode == FULL</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013134 </td>
13135 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013136
13137
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013138 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13139 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013140
13141
13142 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013143 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013144 android.<wbr/>statistics.<wbr/>face<wbr/>Rectangles
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013145 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013146 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013147 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013148 <span class="entry_type_container">x</span>
13149
13150 <span class="entry_type_array">
13151 n x 4
13152 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070013153 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013154 <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 -080013155
13156
13157 </td> <!-- entry_type -->
13158
13159 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013160 <p>List of the bounding rectangles for detected
13161faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013162 </td>
13163
13164 <td class="entry_units">
13165 </td>
13166
13167 <td class="entry_range">
13168 </td>
13169
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013170 <td class="entry_tags">
13171 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013172 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013173 </ul>
13174 </td>
13175
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013176 </tr>
13177 <tr class="entries_header">
13178 <th class="th_details" colspan="5">Details</th>
13179 </tr>
13180 <tr class="entry_cont">
13181 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013182 <p>Only available if faceDetectMode != OFF</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013183 </td>
13184 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013185
13186
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013187 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13188 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013189
13190
13191 <tr class="entry" id="dynamic_android.statistics.faceScores">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013192 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013193 android.<wbr/>statistics.<wbr/>face<wbr/>Scores
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013194 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013195 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013196 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013197 <span class="entry_type_container">x</span>
13198
13199 <span class="entry_type_array">
13200 n
13201 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -070013202 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013203
13204
13205 </td> <!-- entry_type -->
13206
13207 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013208 <p>List of the face confidence scores for
13209detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013210 </td>
13211
13212 <td class="entry_units">
13213 </td>
13214
13215 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013216 <p>1-100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013217 </td>
13218
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013219 <td class="entry_tags">
13220 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013221 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013222 </ul>
13223 </td>
13224
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013225 </tr>
13226 <tr class="entries_header">
13227 <th class="th_details" colspan="5">Details</th>
13228 </tr>
13229 <tr class="entry_cont">
13230 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013231 <p>Only available if faceDetectMode != OFF.<wbr/> The value should be
13232meaningful (for example,<wbr/> setting 100 at all times is illegal).<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013233 </td>
13234 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013235
13236
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013237 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13238 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013239
13240
13241 <tr class="entry" id="dynamic_android.statistics.histogram">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013242 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013243 android.<wbr/>statistics.<wbr/>histogram
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013244 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013245 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013246 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013247 <span class="entry_type_container">x</span>
13248
13249 <span class="entry_type_array">
13250 n x 3
13251 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013252 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013253 <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 -080013254
13255
13256 </td> <!-- entry_type -->
13257
13258 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013259 <p>A 3-channel histogram based on the raw
13260sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013261 </td>
13262
13263 <td class="entry_units">
13264 </td>
13265
13266 <td class="entry_range">
13267 </td>
13268
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013269 <td class="entry_tags">
13270 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013271 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013272 </ul>
13273 </td>
13274
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013275 </tr>
13276 <tr class="entries_header">
13277 <th class="th_details" colspan="5">Details</th>
13278 </tr>
13279 <tr class="entry_cont">
13280 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013281 <p>The k'th bucket (0-based) covers the input range
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013282(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 -080013283(k + 1) * w /<wbr/> N ).<wbr/> If only a monochrome sharpness map is
13284supported,<wbr/> all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013285 </td>
13286 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013287
13288
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013289 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13290 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013291
13292
13293 <tr class="entry" id="dynamic_android.statistics.histogramMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013294 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013295 android.<wbr/>statistics.<wbr/>histogram<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013296 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013297 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013298 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013299
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013300 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013301
13302 <ul class="entry_type_enum">
13303 <li>
13304 <span class="entry_type_enum_name">OFF</span>
13305 </li>
13306 <li>
13307 <span class="entry_type_enum_name">ON</span>
13308 </li>
13309 </ul>
13310
13311 </td> <!-- entry_type -->
13312
13313 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013314 <p>Operating mode for histogram
13315generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013316 </td>
13317
13318 <td class="entry_units">
13319 </td>
13320
13321 <td class="entry_range">
13322 </td>
13323
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013324 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013325 <ul class="entry_tags">
13326 <li><a href="#tag_V1">V1</a></li>
13327 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013328 </td>
13329
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013330 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013331
13332
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013333 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13334 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013335
13336
13337 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013338 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013339 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013340 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013341 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013342 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013343 <span class="entry_type_container">x</span>
13344
13345 <span class="entry_type_array">
13346 n x m x 3
13347 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013348 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013349 <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 -080013350
13351
13352 </td> <!-- entry_type -->
13353
13354 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013355 <p>A 3-channel sharpness map,<wbr/> based on the raw
13356sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013357 </td>
13358
13359 <td class="entry_units">
13360 </td>
13361
13362 <td class="entry_range">
13363 </td>
13364
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013365 <td class="entry_tags">
13366 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013367 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013368 </ul>
13369 </td>
13370
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013371 </tr>
13372 <tr class="entries_header">
13373 <th class="th_details" colspan="5">Details</th>
13374 </tr>
13375 <tr class="entry_cont">
13376 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013377 <p>If only a monochrome sharpness map is supported,<wbr/>
13378all channels should have the same data</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013379 </td>
13380 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013381
13382
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013383 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13384 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013385
13386
13387 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013388 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080013389 android.<wbr/>statistics.<wbr/>sharpness<wbr/>Map<wbr/>Mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013390 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013391 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013392 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013393
Igor Murashkinb8dc8812013-07-17 16:29:34 -070013394 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013395
13396 <ul class="entry_type_enum">
13397 <li>
13398 <span class="entry_type_enum_name">OFF</span>
13399 </li>
13400 <li>
13401 <span class="entry_type_enum_name">ON</span>
13402 </li>
13403 </ul>
13404
13405 </td> <!-- entry_type -->
13406
13407 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013408 <p>Operating mode for sharpness map
13409generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013410 </td>
13411
13412 <td class="entry_units">
13413 </td>
13414
13415 <td class="entry_range">
13416 </td>
13417
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013418 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080013419 <ul class="entry_tags">
13420 <li><a href="#tag_V1">V1</a></li>
13421 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013422 </td>
13423
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013424 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013425
13426
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013427 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13428 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013429
Zhijun He69fc0ea2013-07-17 09:42:58 -070013430
13431 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013432 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013433 android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013434 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013435 <td class="entry_type">
13436 <span class="entry_type_name">float</span>
13437 <span class="entry_type_container">x</span>
13438
13439 <span class="entry_type_array">
13440 4 x n x m
13441 </span>
13442 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013443 <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 -070013444
13445
13446 </td> <!-- entry_type -->
13447
13448 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013449 <p>The shading map is a low-resolution floating-point map
13450that lists the coefficients used to correct for vignetting,<wbr/> for each
13451Bayer color channel.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013452 </td>
13453
13454 <td class="entry_units">
13455 </td>
13456
13457 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013458 <p>Each gain factor is &gt;= 1</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013459 </td>
13460
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013461 <td class="entry_tags">
13462 </td>
13463
13464 </tr>
13465 <tr class="entries_header">
13466 <th class="th_details" colspan="5">Details</th>
13467 </tr>
13468 <tr class="entry_cont">
13469 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013470 <p>The least shaded section of the image should have a gain factor
13471of 1; all other sections should have gains above 1.<wbr/></p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013472<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 -080013473must take into account the colorCorrection settings.<wbr/></p>
13474<p>The shading map is for the entire active pixel array,<wbr/> and is not
13475affected by the crop region specified in the request.<wbr/> Each shading map
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080013476entry is the value of the shading compensation map over a specific
Igor Murashkin0b080452013-12-27 15:30:25 -080013477pixel on the sensor.<wbr/> Specifically,<wbr/> with a (N x M) resolution shading
13478map,<wbr/> and an active pixel array size (W x H),<wbr/> shading map entry
13479(x,<wbr/>y) ϵ (0 ...<wbr/> N-1,<wbr/> 0 ...<wbr/> M-1) is the value of the shading map at
13480pixel ( ((W-1)/<wbr/>(N-1)) * x,<wbr/> ((H-1)/<wbr/>(M-1)) * y) for the four color channels.<wbr/>
13481The map is assumed to be bilinearly interpolated between the sample points.<wbr/></p>
13482<p>The channel order is [R,<wbr/> Geven,<wbr/> Godd,<wbr/> B],<wbr/> where Geven is the green
13483channel for the even rows of a Bayer pattern,<wbr/> and Godd is the odd rows.<wbr/>
13484The shading map is stored in a fully interleaved format,<wbr/> and its size
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013485is 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 -080013486<p>The shading map should have on the order of 30-40 rows and columns,<wbr/>
13487and must be smaller than 64x64.<wbr/></p>
13488<p>As an example,<wbr/> given a very small map defined as:</p>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013489<pre><code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]
13490<a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> =
Igor Murashkin0b080452013-12-27 15:30:25 -080013491[ 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/>
13492 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/>
13493 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/>
13494 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/>
13495 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/>
13496 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 -080013497</code></pre>
13498<p>The low-resolution scaling map images for each channel are
13499(displayed using nearest-neighbor interpolation):</p>
13500<p><img alt="Red lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/red_shading.png"/>
13501<img alt="Green (even rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_e_shading.png"/>
13502<img alt="Green (odd rows) lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/green_o_shading.png"/>
13503<img alt="Blue lens shading map" src="images/camera2/metadata/android.statistics.lensShadingMap/blue_shading.png"/></p>
Igor Murashkin0b080452013-12-27 15:30:25 -080013504<p>As a visualization only,<wbr/> inverting the full-color map to recover an
Igor Murashkin1dd4ecb2013-12-11 13:31:00 -080013505image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
Igor Murashkin0b080452013-12-27 15:30:25 -080013506<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 -070013507 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013508 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013509
13510
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013511 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13512 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013513
13514
13515 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013516 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013517 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Gains
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013518 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013519 <td class="entry_type">
13520 <span class="entry_type_name">float</span>
13521 <span class="entry_type_container">x</span>
13522
13523 <span class="entry_type_array">
13524 4
13525 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013526 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013527 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013528
13529
13530 </td> <!-- entry_type -->
13531
13532 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013533 <p>The best-fit color channel gains calculated
13534by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013535 </td>
13536
13537 <td class="entry_units">
13538 </td>
13539
13540 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013541 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013542 </td>
13543
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013544 <td class="entry_tags">
13545 </td>
13546
13547 </tr>
13548 <tr class="entries_header">
13549 <th class="th_details" colspan="5">Details</th>
13550 </tr>
13551 <tr class="entry_cont">
13552 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013553 <p>This may be different than the gains used for this frame,<wbr/>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013554since statistics processing on data from a new frame
13555typically completes after the transform has already been
Igor Murashkin0b080452013-12-27 15:30:25 -080013556applied to that frame.<wbr/></p>
13557<p>The 4 channel gains are defined in Bayer domain,<wbr/>
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013558see <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 -080013559<p>This value should always be calculated by the AWB block,<wbr/>
13560regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013561 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013562 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013563
13564
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013565 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13566 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013567
13568
13569 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013570 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013571 android.<wbr/>statistics.<wbr/>predicted<wbr/>Color<wbr/>Transform
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013572 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013573 <td class="entry_type">
13574 <span class="entry_type_name">rational</span>
13575 <span class="entry_type_container">x</span>
13576
13577 <span class="entry_type_array">
13578 3 x 3
13579 </span>
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013580 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013581 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013582
13583
13584 </td> <!-- entry_type -->
13585
13586 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013587 <p>The best-fit color transform matrix estimate
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013588calculated by the HAL's statistics units for the current
Igor Murashkin0b080452013-12-27 15:30:25 -080013589output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013590 </td>
13591
13592 <td class="entry_units">
13593 </td>
13594
13595 <td class="entry_range">
Igor Murashkin0fe2f132014-01-13 16:59:47 -080013596 <p><strong>Deprecated</strong>.<wbr/> Do not use.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013597 </td>
13598
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013599 <td class="entry_tags">
13600 </td>
13601
13602 </tr>
13603 <tr class="entries_header">
13604 <th class="th_details" colspan="5">Details</th>
13605 </tr>
13606 <tr class="entry_cont">
13607 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013608 <p>The HAL must provide the estimate from its
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013609statistics unit on the white balance transforms to use
Igor Murashkin0b080452013-12-27 15:30:25 -080013610for the next frame.<wbr/> These are the values the HAL believes
13611are the best fit for the current output frame.<wbr/> This may
13612be different than the transform used for this frame,<wbr/> since
Igor Murashkin8aa2a112013-12-09 12:06:17 -080013613statistics processing on data from a new frame typically
13614completes after the transform has already been applied to
Igor Murashkin0b080452013-12-27 15:30:25 -080013615that frame.<wbr/></p>
13616<p>These estimates must be provided for all frames,<wbr/> even if
13617capture settings and color transforms are set by the application.<wbr/></p>
13618<p>This value should always be calculated by the AWB block,<wbr/>
13619regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013620 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013621 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013622
13623
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013624 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13625 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013626
13627
13628 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013629 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013630 android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013631 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013632 <td class="entry_type">
13633 <span class="entry_type_name entry_type_name_enum">byte</span>
13634
13635 <span class="entry_type_visibility"> [public]</span>
13636
13637 <ul class="entry_type_enum">
13638 <li>
13639 <span class="entry_type_enum_name">NONE</span>
13640 </li>
13641 <li>
13642 <span class="entry_type_enum_name">50HZ</span>
13643 </li>
13644 <li>
13645 <span class="entry_type_enum_name">60HZ</span>
13646 </li>
13647 </ul>
13648
13649 </td> <!-- entry_type -->
13650
13651 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080013652 <p>The HAL estimated scene illumination lighting
13653frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070013654 </td>
13655
13656 <td class="entry_units">
13657 </td>
13658
13659 <td class="entry_range">
13660 </td>
13661
Zhijun He69fc0ea2013-07-17 09:42:58 -070013662 <td class="entry_tags">
13663 </td>
13664
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013665 </tr>
13666 <tr class="entries_header">
13667 <th class="th_details" colspan="5">Details</th>
13668 </tr>
13669 <tr class="entry_cont">
13670 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013671 <p>Report NONE if there doesn't appear to be flickering
13672illumination</p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013673 </td>
13674 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013675
13676
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013677 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13678 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070013679
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013680
13681
13682 <!-- end of kind -->
13683 </tbody>
13684
13685 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013686 <tr><td colspan="6" id="section_tonemap" class="section">tonemap</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013687
13688
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013689 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013690
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013691 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013692 <tr>
13693 <th class="th_name">Property Name</th>
13694 <th class="th_type">Type</th>
13695 <th class="th_description">Description</th>
13696 <th class="th_units">Units</th>
13697 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013698 <th class="th_tags">Tags</th>
13699 </tr>
13700 </thead>
13701
13702 <tbody>
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713 <tr class="entry" id="controls_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013714 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013715 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013716 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013717 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013718 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013719 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013720
Zhijun He704d1282013-08-19 15:26:33 -070013721 <span class="entry_type_array">
13722 n x 2
13723 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013724 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013725 <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 -080013726
13727
13728 </td> <!-- entry_type -->
13729
13730 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013731 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
13732channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13733CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013734 </td>
13735
13736 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013737 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013738 </td>
13739
13740 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013741 <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 -080013742 </td>
13743
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013744 <td class="entry_tags">
13745 </td>
13746
13747 </tr>
13748 <tr class="entries_header">
13749 <th class="th_details" colspan="5">Details</th>
13750 </tr>
13751 <tr class="entry_cont">
13752 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013753 <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 -080013754 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013755 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013756
13757
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013758 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13759 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013760
13761
13762 <tr class="entry" id="controls_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013763 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013764 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013765 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013766 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080013767 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070013768 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013769
Zhijun He704d1282013-08-19 15:26:33 -070013770 <span class="entry_type_array">
13771 n x 2
13772 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013773 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013774 <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 -080013775
13776
13777 </td> <!-- entry_type -->
13778
13779 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013780 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
13781channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13782CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013783 </td>
13784
13785 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080013786 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013787 </td>
13788
13789 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080013790 <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 -080013791 </td>
13792
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013793 <td class="entry_tags">
13794 </td>
13795
13796 </tr>
13797 <tr class="entries_header">
13798 <th class="th_details" colspan="5">Details</th>
13799 </tr>
13800 <tr class="entry_cont">
13801 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013802 <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 -080013803 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013804 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013805
13806
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013807 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13808 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013809
13810
13811 <tr class="entry" id="controls_android.tonemap.curveRed">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013812 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080013813 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013814 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013815 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013816 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013817 <span class="entry_type_container">x</span>
13818
13819 <span class="entry_type_array">
13820 n x 2
13821 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013822 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080013823 <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 -080013824
13825
13826 </td> <!-- entry_type -->
13827
13828 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013829 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
13830channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13831CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013832 </td>
13833
13834 <td class="entry_units">
13835 </td>
13836
13837 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013838 <p>0-1 on both input and output coordinates,<wbr/> normalized
13839as a floating-point value such that 0 == black and 1 == white.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013840 </td>
13841
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013842 <td class="entry_tags">
13843 <ul class="entry_tags">
13844 <li><a href="#tag_DNG">DNG</a></li>
13845 </ul>
13846 </td>
13847
13848 </tr>
13849 <tr class="entries_header">
13850 <th class="th_details" colspan="5">Details</th>
13851 </tr>
13852 <tr class="entry_cont">
13853 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013854 <p>Each channel's curve is defined by an array of control points:</p>
13855<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> =
13856 [ P0in,<wbr/> P0out,<wbr/> P1in,<wbr/> P1out,<wbr/> P2in,<wbr/> P2out,<wbr/> P3in,<wbr/> P3out,<wbr/> ...,<wbr/> PNin,<wbr/> PNout ]
138572 &lt;= N &lt;= <a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a></code></pre>
13858<p>These are sorted in order of increasing <code>Pin</code>; it is always
13859guaranteed that input values 0.<wbr/>0 and 1.<wbr/>0 are included in the list to
13860define a complete mapping.<wbr/> For input values between control points,<wbr/>
13861the camera device must linearly interpolate between the control
13862points.<wbr/></p>
13863<p>Each curve can have an independent number of points,<wbr/> and the number
13864of points can be less than max (that is,<wbr/> the request doesn't have to
13865always provide a curve with number of points equivalent to
13866<a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a>).<wbr/></p>
13867<p>A few examples,<wbr/> and their corresponding graphical mappings; these
13868only specify the red channel and the precision is limited to 4
13869digits,<wbr/> for conciseness.<wbr/></p>
13870<p>Linear mapping:</p>
13871<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 ]
13872</code></pre>
13873<p><img alt="Linear mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/linear_tonemap.png"/></p>
13874<p>Invert mapping:</p>
13875<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 ]
13876</code></pre>
13877<p><img alt="Inverting mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/inverse_tonemap.png"/></p>
13878<p>Gamma 1/<wbr/>2.<wbr/>2 mapping,<wbr/> with 16 control points:</p>
13879<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13880 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/>
13881 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/>
13882 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/>
13883 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 ]
13884</code></pre>
13885<p><img alt="Gamma = 1/2.2 tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/gamma_tonemap.png"/></p>
13886<p>Standard sRGB gamma mapping,<wbr/> per IEC 61966-2-1:1999,<wbr/> with 16 control points:</p>
13887<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
13888 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/>
13889 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/>
13890 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/>
13891 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 ]
13892</code></pre>
13893<p><img alt="sRGB tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png"/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013894 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013895 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013896
Igor Murashkin94e06c42014-01-13 16:51:17 -080013897 <tr class="entries_header">
13898 <th class="th_details" colspan="5">HAL Implementation Details</th>
13899 </tr>
13900 <tr class="entry_cont">
13901 <td class="entry_details" colspan="5">
13902 <p>For good quality of mapping,<wbr/> at least 128 control points are
13903preferred.<wbr/></p>
13904<p>A typical use case of this would be a gamma-1/<wbr/>2.<wbr/>2 curve,<wbr/> with as many
13905control points used as are available.<wbr/></p>
13906 </td>
13907 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013908
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013909 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13910 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013911
13912
13913 <tr class="entry" id="controls_android.tonemap.mode">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013914 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080013915 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013916 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013917 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080013918 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013919
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013920 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013921
13922 <ul class="entry_type_enum">
13923 <li>
13924 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080013925 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
Igor Murashkin94e06c42014-01-13 16:51:17 -080013926android.<wbr/>tonemap.<wbr/>curve.<wbr/></p>
13927<p>All color enhancement and tonemapping must be disabled,<wbr/> except
13928for applying the tonemapping curve specified by
13929<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
13930<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>.<wbr/></p>
13931<p>Must not slow down frame rate relative to raw
13932sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013933 </li>
13934 <li>
13935 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013936 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13937<p>Should not slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013938 </li>
13939 <li>
13940 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013941 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
13942<p>May slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013943 </li>
13944 </ul>
13945
13946 </td> <!-- entry_type -->
13947
13948 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080013949 <p>High-level global contrast/<wbr/>gamma/<wbr/>tonemapping control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013950 </td>
13951
13952 <td class="entry_units">
13953 </td>
13954
13955 <td class="entry_range">
13956 </td>
13957
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013958 <td class="entry_tags">
13959 </td>
13960
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013961 </tr>
Igor Murashkin94e06c42014-01-13 16:51:17 -080013962 <tr class="entries_header">
13963 <th class="th_details" colspan="5">Details</th>
13964 </tr>
13965 <tr class="entry_cont">
13966 <td class="entry_details" colspan="5">
13967 <p>When switching to an application-defined contrast curve by setting
13968<a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> to CONTRAST_<wbr/>CURVE,<wbr/> the curve is defined
13969per-channel with a set of <code>(in,<wbr/> out)</code> points that specify the
13970mapping from input high-bit-depth pixel value to the output
13971low-bit-depth value.<wbr/> Since the actual pixel ranges of both input
13972and output may change depending on the camera pipeline,<wbr/> the values
13973are specified by normalized floating-point numbers.<wbr/></p>
13974<p>More-complex color mapping operations such as 3D color look-up
13975tables,<wbr/> selective chroma enhancement,<wbr/> or other non-linear color
13976transforms will be disabled when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
13977CONTRAST_<wbr/>CURVE.<wbr/></p>
13978<p>When using either FAST or HIGH_<wbr/>QUALITY,<wbr/> the camera device will
13979emit its own tonemap curve in <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/>
13980<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/>
13981These values are always available,<wbr/> and as close as possible to the
13982actually used nonlinear/<wbr/>nonglobal transforms.<wbr/></p>
13983<p>If a request is sent with TRANSFORM_<wbr/>MATRIX with the camera device's
13984provided curve in FAST or HIGH_<wbr/>QUALITY,<wbr/> the image's tonemap will be
13985roughly the same.<wbr/></p>
13986 </td>
13987 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080013988
13989
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013990 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
13991 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013992
13993
13994
13995 <!-- end of kind -->
13996 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080013997 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080013998
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070013999 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014000 <tr>
14001 <th class="th_name">Property Name</th>
14002 <th class="th_type">Type</th>
14003 <th class="th_description">Description</th>
14004 <th class="th_units">Units</th>
14005 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014006 <th class="th_tags">Tags</th>
14007 </tr>
14008 </thead>
14009
14010 <tbody>
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014022 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014023 android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014024 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014025 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080014026 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014027
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014028 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014029
14030
14031 </td> <!-- entry_type -->
14032
14033 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014034 <p>Maximum number of supported points in the
Igor Murashkin94e06c42014-01-13 16:51:17 -080014035tonemap curve that can be used for <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/> or
14036<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 -080014037 </td>
14038
14039 <td class="entry_units">
14040 </td>
14041
14042 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014043 <p>&gt;= 64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014044 </td>
14045
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014046 <td class="entry_tags">
14047 </td>
14048
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014049 </tr>
Igor Murashkin94e06c42014-01-13 16:51:17 -080014050 <tr class="entries_header">
14051 <th class="th_details" colspan="5">Details</th>
14052 </tr>
14053 <tr class="entry_cont">
14054 <td class="entry_details" colspan="5">
14055 <p>If the actual number of points provided by the application (in
14056android.<wbr/>tonemap.<wbr/>curve*) is less than max,<wbr/> the camera device will
14057resample the curve to its internal representation,<wbr/> using linear
14058interpolation.<wbr/></p>
14059<p>The output curves in the result metadata may have a different number
14060of points than the input curves,<wbr/> and will represent the actual
14061hardware curves used as closely as possible when linearly interpolated.<wbr/></p>
14062 </td>
14063 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014064
Igor Murashkin94e06c42014-01-13 16:51:17 -080014065 <tr class="entries_header">
14066 <th class="th_details" colspan="5">HAL Implementation Details</th>
14067 </tr>
14068 <tr class="entry_cont">
14069 <td class="entry_details" colspan="5">
14070 <p>This value must be at least 64.<wbr/> This should be at least 128.<wbr/></p>
14071 </td>
14072 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014073
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014074 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14075 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014076
14077
14078
14079 <!-- end of kind -->
14080 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014081 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014082
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014083 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014084 <tr>
14085 <th class="th_name">Property Name</th>
14086 <th class="th_type">Type</th>
14087 <th class="th_description">Description</th>
14088 <th class="th_units">Units</th>
14089 <th class="th_range">Range</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014090 <th class="th_tags">Tags</th>
14091 </tr>
14092 </thead>
14093
14094 <tbody>
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014106 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080014107 android.<wbr/>tonemap.<wbr/>curve<wbr/>Blue
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014108 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014109 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080014110 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070014111 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014112
Zhijun He704d1282013-08-19 15:26:33 -070014113 <span class="entry_type_array">
14114 n x 2
14115 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014116 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080014117 <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 -080014118
14119
14120 </td> <!-- entry_type -->
14121
14122 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014123 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the blue
14124channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
14125CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014126 </td>
14127
14128 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080014129 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014130 </td>
14131
14132 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014133 <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 -080014134 </td>
14135
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014136 <td class="entry_tags">
14137 </td>
14138
14139 </tr>
14140 <tr class="entries_header">
14141 <th class="th_details" colspan="5">Details</th>
14142 </tr>
14143 <tr class="entry_cont">
14144 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014145 <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 -080014146 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014147 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014148
14149
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014150 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14151 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014152
14153
14154 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014155 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080014156 android.<wbr/>tonemap.<wbr/>curve<wbr/>Green
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014157 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014158 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080014159 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070014160 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014161
Zhijun He704d1282013-08-19 15:26:33 -070014162 <span class="entry_type_array">
14163 n x 2
14164 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014165 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080014166 <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 -080014167
14168
14169 </td> <!-- entry_type -->
14170
14171 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014172 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the green
14173channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
14174CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014175 </td>
14176
14177 <td class="entry_units">
Igor Murashkin0b080452013-12-27 15:30:25 -080014178 same as android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014179 </td>
14180
14181 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014182 <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 -080014183 </td>
14184
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014185 <td class="entry_tags">
14186 </td>
14187
14188 </tr>
14189 <tr class="entries_header">
14190 <th class="th_details" colspan="5">Details</th>
14191 </tr>
14192 <tr class="entry_cont">
14193 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014194 <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 -080014195 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014196 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014197
14198
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014199 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14200 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014201
14202
14203 <tr class="entry" id="dynamic_android.tonemap.curveRed">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014204 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014205 android.<wbr/>tonemap.<wbr/>curve<wbr/>Red
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014206 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014207 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080014208 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014209 <span class="entry_type_container">x</span>
14210
14211 <span class="entry_type_array">
14212 n x 2
14213 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014214 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin0b080452013-12-27 15:30:25 -080014215 <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 -080014216
14217
14218 </td> <!-- entry_type -->
14219
14220 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014221 <p>Tonemapping /<wbr/> contrast /<wbr/> gamma curve for the red
14222channel,<wbr/> to use when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
14223CONTRAST_<wbr/>CURVE.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014224 </td>
14225
14226 <td class="entry_units">
14227 </td>
14228
14229 <td class="entry_range">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014230 <p>0-1 on both input and output coordinates,<wbr/> normalized
14231as a floating-point value such that 0 == black and 1 == white.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014232 </td>
14233
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014234 <td class="entry_tags">
14235 <ul class="entry_tags">
14236 <li><a href="#tag_DNG">DNG</a></li>
14237 </ul>
14238 </td>
14239
14240 </tr>
14241 <tr class="entries_header">
14242 <th class="th_details" colspan="5">Details</th>
14243 </tr>
14244 <tr class="entry_cont">
14245 <td class="entry_details" colspan="5">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014246 <p>Each channel's curve is defined by an array of control points:</p>
14247<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> =
14248 [ P0in,<wbr/> P0out,<wbr/> P1in,<wbr/> P1out,<wbr/> P2in,<wbr/> P2out,<wbr/> P3in,<wbr/> P3out,<wbr/> ...,<wbr/> PNin,<wbr/> PNout ]
142492 &lt;= N &lt;= <a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a></code></pre>
14250<p>These are sorted in order of increasing <code>Pin</code>; it is always
14251guaranteed that input values 0.<wbr/>0 and 1.<wbr/>0 are included in the list to
14252define a complete mapping.<wbr/> For input values between control points,<wbr/>
14253the camera device must linearly interpolate between the control
14254points.<wbr/></p>
14255<p>Each curve can have an independent number of points,<wbr/> and the number
14256of points can be less than max (that is,<wbr/> the request doesn't have to
14257always provide a curve with number of points equivalent to
14258<a href="#static_android.tonemap.maxCurvePoints">android.<wbr/>tonemap.<wbr/>max<wbr/>Curve<wbr/>Points</a>).<wbr/></p>
14259<p>A few examples,<wbr/> and their corresponding graphical mappings; these
14260only specify the red channel and the precision is limited to 4
14261digits,<wbr/> for conciseness.<wbr/></p>
14262<p>Linear mapping:</p>
14263<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 ]
14264</code></pre>
14265<p><img alt="Linear mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/linear_tonemap.png"/></p>
14266<p>Invert mapping:</p>
14267<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 ]
14268</code></pre>
14269<p><img alt="Inverting mapping curve" src="images/camera2/metadata/android.tonemap.curveRed/inverse_tonemap.png"/></p>
14270<p>Gamma 1/<wbr/>2.<wbr/>2 mapping,<wbr/> with 16 control points:</p>
14271<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
14272 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/>
14273 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/>
14274 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/>
14275 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 ]
14276</code></pre>
14277<p><img alt="Gamma = 1/2.2 tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/gamma_tonemap.png"/></p>
14278<p>Standard sRGB gamma mapping,<wbr/> per IEC 61966-2-1:1999,<wbr/> with 16 control points:</p>
14279<pre><code><a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a> = [
14280 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/>
14281 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/>
14282 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/>
14283 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 ]
14284</code></pre>
14285<p><img alt="sRGB tonemapping curve" src="images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png"/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014286 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014287 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014288
Igor Murashkin94e06c42014-01-13 16:51:17 -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">
14294 <p>For good quality of mapping,<wbr/> at least 128 control points are
14295preferred.<wbr/></p>
14296<p>A typical use case of this would be a gamma-1/<wbr/>2.<wbr/>2 curve,<wbr/> with as many
14297control points used as are available.<wbr/></p>
14298 </td>
14299 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014300
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014301 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14302 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014303
14304
14305 <tr class="entry" id="dynamic_android.tonemap.mode">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014306 <td class="entry_name" rowspan="3">
Igor Murashkin0b080452013-12-27 15:30:25 -080014307 android.<wbr/>tonemap.<wbr/>mode
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014308 </td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014309 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080014310 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014311
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014312 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014313
14314 <ul class="entry_type_enum">
14315 <li>
14316 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080014317 <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
Igor Murashkin94e06c42014-01-13 16:51:17 -080014318android.<wbr/>tonemap.<wbr/>curve.<wbr/></p>
14319<p>All color enhancement and tonemapping must be disabled,<wbr/> except
14320for applying the tonemapping curve specified by
14321<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
14322<a href="#controls_android.tonemap.curveGreen">android.<wbr/>tonemap.<wbr/>curve<wbr/>Green</a>.<wbr/></p>
14323<p>Must not slow down frame rate relative to raw
14324sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014325 </li>
14326 <li>
14327 <span class="entry_type_enum_name">FAST</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080014328 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
14329<p>Should not slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014330 </li>
14331 <li>
14332 <span class="entry_type_enum_name">HIGH_QUALITY</span>
Igor Murashkin94e06c42014-01-13 16:51:17 -080014333 <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied.<wbr/></p>
14334<p>May slow down frame rate relative to raw sensor output.<wbr/></p></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014335 </li>
14336 </ul>
14337
14338 </td> <!-- entry_type -->
14339
14340 <td class="entry_description">
Igor Murashkin94e06c42014-01-13 16:51:17 -080014341 <p>High-level global contrast/<wbr/>gamma/<wbr/>tonemapping control.<wbr/></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014342 </td>
14343
14344 <td class="entry_units">
14345 </td>
14346
14347 <td class="entry_range">
14348 </td>
14349
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014350 <td class="entry_tags">
14351 </td>
14352
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014353 </tr>
Igor Murashkin595f45b2014-01-17 17:27:15 -080014354 <tr class="entries_header">
14355 <th class="th_details" colspan="5">Details</th>
14356 </tr>
14357 <tr class="entry_cont">
14358 <td class="entry_details" colspan="5">
14359 <p>When switching to an application-defined contrast curve by setting
14360<a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> to CONTRAST_<wbr/>CURVE,<wbr/> the curve is defined
14361per-channel with a set of <code>(in,<wbr/> out)</code> points that specify the
14362mapping from input high-bit-depth pixel value to the output
14363low-bit-depth value.<wbr/> Since the actual pixel ranges of both input
14364and output may change depending on the camera pipeline,<wbr/> the values
14365are specified by normalized floating-point numbers.<wbr/></p>
14366<p>More-complex color mapping operations such as 3D color look-up
14367tables,<wbr/> selective chroma enhancement,<wbr/> or other non-linear color
14368transforms will be disabled when <a href="#controls_android.tonemap.mode">android.<wbr/>tonemap.<wbr/>mode</a> is
14369CONTRAST_<wbr/>CURVE.<wbr/></p>
14370<p>When using either FAST or HIGH_<wbr/>QUALITY,<wbr/> the camera device will
14371emit its own tonemap curve in <a href="#controls_android.tonemap.curveRed">android.<wbr/>tonemap.<wbr/>curve<wbr/>Red</a>,<wbr/>
14372<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/>
14373These values are always available,<wbr/> and as close as possible to the
14374actually used nonlinear/<wbr/>nonglobal transforms.<wbr/></p>
14375<p>If a request is sent with TRANSFORM_<wbr/>MATRIX with the camera device's
14376provided curve in FAST or HIGH_<wbr/>QUALITY,<wbr/> the image's tonemap will be
14377roughly the same.<wbr/></p>
14378 </td>
14379 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014380
14381
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014382 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14383 <!-- end of entry -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014384
14385
14386
14387 <!-- end of kind -->
14388 </tbody>
14389
14390 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014391 <tr><td colspan="6" id="section_led" class="section">led</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014392
14393
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014394 <tr><td colspan="6" class="kind">controls</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014395
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014396 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014397 <tr>
14398 <th class="th_name">Property Name</th>
14399 <th class="th_type">Type</th>
14400 <th class="th_description">Description</th>
14401 <th class="th_units">Units</th>
14402 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014403 <th class="th_tags">Tags</th>
14404 </tr>
14405 </thead>
14406
14407 <tbody>
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418 <tr class="entry" id="controls_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014419 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014420 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014421 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014422 <td class="entry_type">
14423 <span class="entry_type_name entry_type_name_enum">byte</span>
14424
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014425 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014426
14427 <ul class="entry_type_enum">
14428 <li>
14429 <span class="entry_type_enum_name">OFF</span>
14430 </li>
14431 <li>
14432 <span class="entry_type_enum_name">ON</span>
14433 </li>
14434 </ul>
14435
14436 </td> <!-- entry_type -->
14437
14438 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014439 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014440that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080014441Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014442disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080014443any untrusted applications.<wbr/></p>
14444<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
14445transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
14446data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014447<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080014448doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014449 </td>
14450
14451 <td class="entry_units">
14452 </td>
14453
14454 <td class="entry_range">
14455 </td>
14456
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014457 <td class="entry_tags">
14458 </td>
14459
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014460 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014461
14462
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014463 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14464 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014465
14466
14467
14468 <!-- end of kind -->
14469 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014470 <tr><td colspan="6" class="kind">dynamic</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014471
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014472 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014473 <tr>
14474 <th class="th_name">Property Name</th>
14475 <th class="th_type">Type</th>
14476 <th class="th_description">Description</th>
14477 <th class="th_units">Units</th>
14478 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014479 <th class="th_tags">Tags</th>
14480 </tr>
14481 </thead>
14482
14483 <tbody>
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494 <tr class="entry" id="dynamic_android.led.transmit">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014495 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014496 android.<wbr/>led.<wbr/>transmit
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014497 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014498 <td class="entry_type">
14499 <span class="entry_type_name entry_type_name_enum">byte</span>
14500
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014501 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014502
14503 <ul class="entry_type_enum">
14504 <li>
14505 <span class="entry_type_enum_name">OFF</span>
14506 </li>
14507 <li>
14508 <span class="entry_type_enum_name">ON</span>
14509 </li>
14510 </ul>
14511
14512 </td> <!-- entry_type -->
14513
14514 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014515 <p>This LED is nominally used to indicate to the user
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014516that the camera is powered on and may be streaming images back to the
Igor Murashkin0b080452013-12-27 15:30:25 -080014517Application Processor.<wbr/> In certain rare circumstances,<wbr/> the OS may
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014518disable this when video is processed locally and not transmitted to
Igor Murashkin0b080452013-12-27 15:30:25 -080014519any untrusted applications.<wbr/></p>
14520<p>In particular,<wbr/> the LED <em>must</em> always be on when the data could be
14521transmitted off the device.<wbr/> The LED <em>should</em> always be on whenever
14522data is stored locally on the device.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014523<p>The LED <em>may</em> be off if a trusted application is using the data that
Igor Murashkin0b080452013-12-27 15:30:25 -080014524doesn't violate the above rules.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014525 </td>
14526
14527 <td class="entry_units">
14528 </td>
14529
14530 <td class="entry_range">
14531 </td>
14532
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014533 <td class="entry_tags">
14534 </td>
14535
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014536 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014537
14538
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014539 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14540 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014541
14542
14543
14544 <!-- end of kind -->
14545 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014546 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014547
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014548 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014549 <tr>
14550 <th class="th_name">Property Name</th>
14551 <th class="th_type">Type</th>
14552 <th class="th_description">Description</th>
14553 <th class="th_units">Units</th>
14554 <th class="th_range">Range</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014555 <th class="th_tags">Tags</th>
14556 </tr>
14557 </thead>
14558
14559 <tbody>
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570 <tr class="entry" id="static_android.led.availableLeds">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014571 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014572 android.<wbr/>led.<wbr/>available<wbr/>Leds
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014573 </td>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014574 <td class="entry_type">
14575 <span class="entry_type_name entry_type_name_enum">byte</span>
14576 <span class="entry_type_container">x</span>
14577
14578 <span class="entry_type_array">
14579 n
14580 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014581 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014582
14583 <ul class="entry_type_enum">
14584 <li>
14585 <span class="entry_type_enum_name">TRANSMIT</span>
Igor Murashkina10351a2014-01-15 17:05:22 -080014586 <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 -070014587 </li>
14588 </ul>
14589
14590 </td> <!-- entry_type -->
14591
14592 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014593 <p>A list of camera LEDs that are available on this system.<wbr/></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014594 </td>
14595
14596 <td class="entry_units">
14597 </td>
14598
14599 <td class="entry_range">
14600 </td>
14601
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014602 <td class="entry_tags">
14603 </td>
14604
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014605 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014606
14607
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014608 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14609 <!-- end of entry -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070014610
14611
14612
14613 <!-- end of kind -->
14614 </tbody>
14615
14616 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014617 <tr><td colspan="6" id="section_info" class="section">info</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014618
14619
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014620 <tr><td colspan="6" class="kind">static</td></tr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014622 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014623 <tr>
14624 <th class="th_name">Property Name</th>
14625 <th class="th_type">Type</th>
14626 <th class="th_description">Description</th>
14627 <th class="th_units">Units</th>
14628 <th class="th_range">Range</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014629 <th class="th_tags">Tags</th>
14630 </tr>
14631 </thead>
14632
14633 <tbody>
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644 <tr class="entry" id="static_android.info.supportedHardwareLevel">
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014645 <td class="entry_name" rowspan="1">
Igor Murashkin0b080452013-12-27 15:30:25 -080014646 android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014647 </td>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014648 <td class="entry_type">
14649 <span class="entry_type_name entry_type_name_enum">byte</span>
14650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070014651 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014652
14653 <ul class="entry_type_enum">
14654 <li>
14655 <span class="entry_type_enum_name">LIMITED</span>
14656 </li>
14657 <li>
14658 <span class="entry_type_enum_name">FULL</span>
14659 </li>
14660 </ul>
14661
14662 </td> <!-- entry_type -->
14663
14664 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014665 <p>The camera 3 HAL device can implement one of two possible
14666operational modes; limited and full.<wbr/> Full support is
14667expected from new higher-end devices.<wbr/> Limited mode has
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014668hardware requirements roughly in line with those for a
Igor Murashkin0b080452013-12-27 15:30:25 -080014669camera HAL device v1 implementation,<wbr/> and is expected from
14670older or inexpensive devices.<wbr/> Full is a strict superset of
14671limited,<wbr/> and they share the same essential operational flow.<wbr/></p>
14672<p>For full details refer to "S3.<wbr/> Operational Modes" in camera3.<wbr/>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014673 </td>
14674
14675 <td class="entry_units">
14676 </td>
14677
14678 <td class="entry_range">
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014679 <p>Optional.<wbr/> Default value is LIMITED.<wbr/></p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014680 </td>
14681
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014682 <td class="entry_tags">
14683 </td>
14684
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014685 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014686
14687
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014688 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14689 <!-- end of entry -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070014690
14691
14692
14693 <!-- end of kind -->
14694 </tbody>
14695
14696 <!-- end of section -->
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014697 <tr><td colspan="6" id="section_blackLevel" class="section">blackLevel</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014698
14699
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014700 <tr><td colspan="6" class="kind">controls</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014701
14702 <thead class="entries_header">
14703 <tr>
14704 <th class="th_name">Property Name</th>
14705 <th class="th_type">Type</th>
14706 <th class="th_description">Description</th>
14707 <th class="th_units">Units</th>
14708 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014709 <th class="th_tags">Tags</th>
14710 </tr>
14711 </thead>
14712
14713 <tbody>
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724 <tr class="entry" id="controls_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014725 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014726 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014727 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014728 <td class="entry_type">
14729 <span class="entry_type_name entry_type_name_enum">byte</span>
14730
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014731 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014732
14733 <ul class="entry_type_enum">
14734 <li>
14735 <span class="entry_type_enum_name">OFF</span>
14736 </li>
14737 <li>
14738 <span class="entry_type_enum_name">ON</span>
14739 </li>
14740 </ul>
14741
14742 </td> <!-- entry_type -->
14743
14744 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014745 <p>Whether black-level compensation is locked
14746to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014747 </td>
14748
14749 <td class="entry_units">
14750 </td>
14751
14752 <td class="entry_range">
14753 </td>
14754
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014755 <td class="entry_tags">
14756 <ul class="entry_tags">
14757 <li><a href="#tag_HAL2">HAL2</a></li>
14758 </ul>
14759 </td>
14760
14761 </tr>
14762 <tr class="entries_header">
14763 <th class="th_details" colspan="5">Details</th>
14764 </tr>
14765 <tr class="entry_cont">
14766 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014767 <p>When set to ON,<wbr/> the values used for black-level
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014768compensation will not change until the lock is set to
Igor Murashkin0b080452013-12-27 15:30:25 -080014769OFF.<wbr/></p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014770<p>Since changes to certain capture parameters (such as
14771exposure time) may require resetting of black level
Igor Murashkin0b080452013-12-27 15:30:25 -080014772compensation,<wbr/> the camera device must report whether setting
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014773the black level lock was successful in the output result
Igor Murashkin0b080452013-12-27 15:30:25 -080014774metadata.<wbr/></p>
14775<p>For example,<wbr/> if a sequence of requests is as follows:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014776<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014777<li>Request 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14778<li>Request 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14779<li>Request 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14780<li>Request 4: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14781<li>Request 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14782<li>Request 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014783</ul>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014784<p>And the exposure change in Request 4 requires the camera
Igor Murashkin0b080452013-12-27 15:30:25 -080014785device to reset the black level offsets,<wbr/> then the output
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014786result metadata is expected to be:</p>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014787<ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014788<li>Result 1: Exposure = 10ms,<wbr/> Black level lock = OFF</li>
14789<li>Result 2: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14790<li>Result 3: Exposure = 10ms,<wbr/> Black level lock = ON</li>
14791<li>Result 4: Exposure = 20ms,<wbr/> Black level lock = OFF</li>
14792<li>Result 5: Exposure = 20ms,<wbr/> Black level lock = ON</li>
14793<li>Result 6: Exposure = 20ms,<wbr/> Black level lock = ON</li>
Igor Murashkin8aa2a112013-12-09 12:06:17 -080014794</ul>
Igor Murashkin0b080452013-12-27 15:30:25 -080014795<p>This indicates to the application that on frame 4,<wbr/> black
14796levels were reset due to exposure value changes,<wbr/> and pixel
14797values may not be consistent across captures.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014798<p>The camera device will maintain the lock to the extent
Igor Murashkin0b080452013-12-27 15:30:25 -080014799possible,<wbr/> only overriding the lock to OFF when changes to
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014800other request parameters require a black level recalculation
Igor Murashkin0b080452013-12-27 15:30:25 -080014801or reset.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014802 </td>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014803 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014804
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014805 <tr class="entries_header">
14806 <th class="th_details" colspan="5">HAL Implementation Details</th>
14807 </tr>
14808 <tr class="entry_cont">
14809 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014810 <p>If for some reason black level locking is no longer possible
14811(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14812black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014813override this request (and it must report 'OFF' when this
14814does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014815possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014816 </td>
14817 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014818
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014819 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14820 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014821
14822
14823
14824 <!-- end of kind -->
14825 </tbody>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014826 <tr><td colspan="6" class="kind">dynamic</td></tr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014827
14828 <thead class="entries_header">
14829 <tr>
14830 <th class="th_name">Property Name</th>
14831 <th class="th_type">Type</th>
14832 <th class="th_description">Description</th>
14833 <th class="th_units">Units</th>
14834 <th class="th_range">Range</th>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014835 <th class="th_tags">Tags</th>
14836 </tr>
14837 </thead>
14838
14839 <tbody>
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850 <tr class="entry" id="dynamic_android.blackLevel.lock">
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014851 <td class="entry_name" rowspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014852 android.<wbr/>black<wbr/>Level.<wbr/>lock
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014853 </td>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014854 <td class="entry_type">
14855 <span class="entry_type_name entry_type_name_enum">byte</span>
14856
Igor Murashkinb8dc8812013-07-17 16:29:34 -070014857 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014858
14859 <ul class="entry_type_enum">
14860 <li>
14861 <span class="entry_type_enum_name">OFF</span>
14862 </li>
14863 <li>
14864 <span class="entry_type_enum_name">ON</span>
14865 </li>
14866 </ul>
14867
14868 </td> <!-- entry_type -->
14869
14870 <td class="entry_description">
Igor Murashkin0b080452013-12-27 15:30:25 -080014871 <p>Whether black-level compensation is locked
14872to its current values,<wbr/> or is free to vary.<wbr/></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014873 </td>
14874
14875 <td class="entry_units">
14876 </td>
14877
14878 <td class="entry_range">
14879 </td>
14880
Zhijun He69fc0ea2013-07-17 09:42:58 -070014881 <td class="entry_tags">
14882 <ul class="entry_tags">
14883 <li><a href="#tag_HAL2">HAL2</a></li>
14884 </ul>
14885 </td>
14886
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014887 </tr>
14888 <tr class="entries_header">
14889 <th class="th_details" colspan="5">Details</th>
14890 </tr>
14891 <tr class="entry_cont">
14892 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014893 <p>Whether the black level offset was locked for this frame.<wbr/> Should be
Eino-Ville Talvala63c0fb22014-01-02 16:11:44 -080014894ON 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 -080014895a change in other capture settings forced the camera device to
Igor Murashkin0b080452013-12-27 15:30:25 -080014896perform a black level reset.<wbr/></p>
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014897 </td>
14898 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014899
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014900 <tr class="entries_header">
14901 <th class="th_details" colspan="5">HAL Implementation Details</th>
14902 </tr>
14903 <tr class="entry_cont">
14904 <td class="entry_details" colspan="5">
Igor Murashkin0b080452013-12-27 15:30:25 -080014905 <p>If for some reason black level locking is no longer possible
14906(for example,<wbr/> the analog gain has changed,<wbr/> which forces
14907black level offsets to be recalculated),<wbr/> then the HAL must
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014908override this request (and it must report 'OFF' when this
14909does happen) until the next capture for which locking is
Igor Murashkin0b080452013-12-27 15:30:25 -080014910possible again.<wbr/></p>
Eino-Ville Talvala7796cfe2013-12-26 13:16:54 -080014911 </td>
14912 </tr>
Eino-Ville Talvalaa5b73c22013-12-27 13:50:19 -080014913
Eino-Ville Talvala8eb70052013-12-26 12:06:13 -080014914 <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
14915 <!-- end of entry -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070014916
14917
14918
14919 <!-- end of kind -->
14920 </tbody>
14921
14922 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014923<!-- </namespace> -->
14924 </table>
14925
14926 <div class="tags" id="tag_index">
14927 <h2>Tags</h2>
14928 <ul>
14929 <li id="tag_AWB">AWB -
14930 Needed for auto white balance
14931
14932 <ul class="tags_entries">
14933 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14934 </ul>
14935 </li> <!-- tag_AWB -->
14936 <li id="tag_BC">BC -
14937 Needed for backwards compatibility with old Java API
14938
14939 <ul class="tags_entries">
Eino-Ville Talvala19ce2c12013-12-30 12:03:45 -080014940 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014941 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
14942 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
14943 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
14944 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
14945 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014946 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014947 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
14948 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070014949 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014950 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
14951 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
14952 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
14953 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
14954 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
14955 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
14956 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
14957 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
Eino-Ville Talvala9fa0d902014-01-08 16:16:53 -080014958 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014959 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
14960 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
14961 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
14962 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
14963 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
14964 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
14965 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
14966 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
14967 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
14968 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
14969 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
14970 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
14971 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
14972 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
14973 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
14974 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
14975 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
14976 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
14977 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
14978 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
14979 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
14980 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
14981 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
14982 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
14983 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
14984 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
14985 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
14986 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070014987 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014988 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
14989 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
14990 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014991 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070014992 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080014993 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
14994 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
14995 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
14996 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
14997 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
14998 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
14999 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
15000 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
15001 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
15002 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
15003 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
15004 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
15005 </ul>
15006 </li> <!-- tag_BC -->
15007 <li id="tag_V1">V1 -
15008 New features for first camera 2 release (API1)
15009
15010 <ul class="tags_entries">
15011 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
15012 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
15013 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
15014 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
15015 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
15016 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
15017 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
15018 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
15019 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
15020 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
15021 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
15022 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
15023 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
15024 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
15025 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
15026 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
15027 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
15028 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
15029 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
15030 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
15031 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
15032 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
15033 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
15034 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070015035 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080015036 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
15037 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
15038 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
15039 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
15040 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
15041 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
15042 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
15043 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
15044 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
15045 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
15046 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
15047 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
15048 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
15049 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
15050 </ul>
15051 </li> <!-- tag_V1 -->
15052 <li id="tag_ADV">ADV - None
15053 <ul class="tags_entries">
15054 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
15055 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
15056 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
15057 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
15058 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
15059 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
15060 </ul>
15061 </li> <!-- tag_ADV -->
15062 <li id="tag_DNG">DNG -
15063 Needed for DNG file support
15064
15065 <ul class="tags_entries">
15066 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080015067 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
15068 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
15069 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
15070 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
15071 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
15072 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
15073 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
15074 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
15075 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
15076 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
15077 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
15078 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
15079 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
15080 </ul>
15081 </li> <!-- tag_DNG -->
15082 <li id="tag_EXIF">EXIF - None
15083 <ul class="tags_entries">
15084 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
15085 </ul>
15086 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070015087 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070015088 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070015089
15090 <ul class="tags_entries">
15091 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
15092 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
15093 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070015094 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070015095 </ul>
15096 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070015097 <li id="tag_FULL">FULL -
15098 Entry is required for full hardware level devices, and optional for other hardware levels
15099
15100 <ul class="tags_entries">
15101 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
15102 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
15103 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
15104 </ul>
15105 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080015106 </ul>
15107 </div>
15108
15109 [ <a href="#">top</a> ]
15110
15111</body>
15112</html>