blob: 2bb17ae6f4c2e7f44ae23eeaf7915af7be400e3d [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 }
31 .entries_header { background-color: #dddddd; text-align: center}
32
33 /* toc style */
34 .toc_section_header { font-size:1.3em; }
35 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080036
37 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070038 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080040 .th_name { width: 20% }
41 .th_units { width: 10% }
42 .th_tags { width: 5% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070043 .th_notes { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080044 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070045 .th_description { width: 20% }
46 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 td { font-size: 0.9em; }
48
49 /* hide the first thead, we need it there only to enforce column sizes */
50 .thead_dummy { visibility: hidden; }
51
52 /* Entry flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070053 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080054
55 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070056 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
58 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080059 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
60 .entry_type_enum_notes:before { content:" - " }
61 .entry_type_enum_value:before { content:" = " }
62 .entry_type_enum_value { font-family: monospace; }
63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
65
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070066 /* Entry visibility flair */
67
Igor Murashkin08b8aad2012-11-29 15:23:03 -080068 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
71
72 /* TODO: generate abbr element for each tag link? */
73 /* TODO for each x.y.z try to link it to the entry */
74
75 </style>
76
77 <style>
78
79 {
80 /* broken...
81 supposedly there is a bug in chrome that it lays out tables before
82 it knows its being printed, so the page-break-* styles are ignored
83 */
84 tr { page-break-after: always; page-break-inside: avoid; }
85 }
86
87 </style>
88</head>
89
90
91
Igor Murashkin08b8aad2012-11-29 15:23:03 -080092<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070093 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080096 <h2>Table of Contents</h2>
97 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070098 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
99 <li>
100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
101 <ul class="toc_section">
102 <li>
103 <span class="toc_kind_header">controls</span>
104 <ul class="toc_section">
105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700108 </ul>
109 </li>
110 <li>
111 <span class="toc_kind_header">dynamic</span>
112 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700115 </ul>
116 </li>
117 </ul> <!-- toc_section -->
118 </li>
119 <li>
120 <span class="toc_section_header"><a href="#section_control">control</a></span>
121 <ul class="toc_section">
122 <li>
123 <span class="toc_kind_header">controls</span>
124 <ul class="toc_section">
125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
140 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
143 </ul>
144 </li>
145 <li>
146 <span class="toc_kind_header">static</span>
147 <ul class="toc_section">
148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
160 </ul>
161 </li>
162 <li>
163 <span class="toc_kind_header">dynamic</span>
164 <ul class="toc_section">
165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
176 </ul>
177 </li>
178 </ul> <!-- toc_section -->
179 </li>
180 <li>
181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
182 <ul class="toc_section">
183 <li>
184 <span class="toc_kind_header">controls</span>
185 <ul class="toc_section">
186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
187 </ul>
188 </li>
189 </ul> <!-- toc_section -->
190 </li>
191 <li>
192 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
193 <ul class="toc_section">
194 <li>
195 <span class="toc_kind_header">controls</span>
196 <ul class="toc_section">
197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
199 </ul>
200 </li>
201 <li>
202 <span class="toc_kind_header">dynamic</span>
203 <ul class="toc_section">
204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
205 </ul>
206 </li>
207 </ul> <!-- toc_section -->
208 </li>
209 <li>
210 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
211 <ul class="toc_section">
212 <li>
213 <span class="toc_kind_header">controls</span>
214 <ul class="toc_section">
215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
218 </ul>
219 </li>
220 <li>
221 <span class="toc_kind_header">static</span>
222 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
229 </ul>
230 </li>
231 <li>
232 <span class="toc_kind_header">dynamic</span>
233 <ul class="toc_section">
234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
238 </ul>
239 </li>
240 </ul> <!-- toc_section -->
241 </li>
242 <li>
243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
244 <ul class="toc_section">
245 <li>
246 <span class="toc_kind_header">controls</span>
247 <ul class="toc_section">
248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
250 </ul>
251 </li>
252 </ul> <!-- toc_section -->
253 </li>
254 <li>
255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
256 <ul class="toc_section">
257 <li>
258 <span class="toc_kind_header">controls</span>
259 <ul class="toc_section">
260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
261 </ul>
262 </li>
263 <li>
264 <span class="toc_kind_header">static</span>
265 <ul class="toc_section">
266
267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
268
269 </ul>
270 </li>
271 <li>
272 <span class="toc_kind_header">dynamic</span>
273 <ul class="toc_section">
274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
275 </ul>
276 </li>
277 </ul> <!-- toc_section -->
278 </li>
279 <li>
280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
281 <ul class="toc_section">
282 <li>
283 <span class="toc_kind_header">controls</span>
284 <ul class="toc_section">
285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
292 </ul>
293 </li>
294 <li>
295 <span class="toc_kind_header">static</span>
296 <ul class="toc_section">
297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">dynamic</span>
303 <ul class="toc_section">
304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
312 </ul>
313 </li>
314 </ul> <!-- toc_section -->
315 </li>
316 <li>
317 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
318 <ul class="toc_section">
319 <li>
320 <span class="toc_kind_header">controls</span>
321 <ul class="toc_section">
322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
327 </ul>
328 </li>
329 <li>
330 <span class="toc_kind_header">static</span>
331 <ul class="toc_section">
332
333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
342
343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
345 <li><a href="#static_android.lens.position">android.lens.position</a></li>
346 </ul>
347 </li>
348 <li>
349 <span class="toc_kind_header">dynamic</span>
350 <ul class="toc_section">
351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
358 </ul>
359 </li>
360 </ul> <!-- toc_section -->
361 </li>
362 <li>
363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
364 <ul class="toc_section">
365 <li>
366 <span class="toc_kind_header">controls</span>
367 <ul class="toc_section">
368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
370 </ul>
371 </li>
372 <li>
373 <span class="toc_kind_header">dynamic</span>
374 <ul class="toc_section">
375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 </ul>
377 </li>
378 </ul> <!-- toc_section -->
379 </li>
380 <li>
381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
382 <ul class="toc_section">
383 <li>
384 <span class="toc_kind_header">static</span>
385 <ul class="toc_section">
386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700389 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
390 </ul>
391 </li>
392 <li>
393 <span class="toc_kind_header">dynamic</span>
394 <ul class="toc_section">
395 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700396 </ul>
397 </li>
398 </ul> <!-- toc_section -->
399 </li>
400 <li>
401 <span class="toc_section_header"><a href="#section_request">request</a></span>
402 <ul class="toc_section">
403 <li>
404 <span class="toc_kind_header">controls</span>
405 <ul class="toc_section">
406 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
407 <li><a href="#controls_android.request.id">android.request.id</a></li>
408 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
409 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
410 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
411 <li><a href="#controls_android.request.type">android.request.type</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">static</span>
416 <ul class="toc_section">
417 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
418 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
419 </ul>
420 </li>
421 <li>
422 <span class="toc_kind_header">dynamic</span>
423 <ul class="toc_section">
424 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
425 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
426 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
427 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
428 </ul>
429 </li>
430 </ul> <!-- toc_section -->
431 </li>
432 <li>
433 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
434 <ul class="toc_section">
435 <li>
436 <span class="toc_kind_header">controls</span>
437 <ul class="toc_section">
438 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
439 </ul>
440 </li>
441 <li>
442 <span class="toc_kind_header">static</span>
443 <ul class="toc_section">
444 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
445 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
446 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
447 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
448 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
449 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
450 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
451 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
452 </ul>
453 </li>
454 <li>
455 <span class="toc_kind_header">dynamic</span>
456 <ul class="toc_section">
457 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
458 </ul>
459 </li>
460 </ul> <!-- toc_section -->
461 </li>
462 <li>
463 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
464 <ul class="toc_section">
465 <li>
466 <span class="toc_kind_header">controls</span>
467 <ul class="toc_section">
468 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
469 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
470 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
471 </ul>
472 </li>
473 <li>
474 <span class="toc_kind_header">static</span>
475 <ul class="toc_section">
476
477 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700478 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700479 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
480 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
481 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
482 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
483 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
484 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
485
486 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
487 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
488 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
489 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
490 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
491 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
492 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
493 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
494 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
495 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
496 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
497 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
498 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
499 </ul>
500 </li>
501 <li>
502 <span class="toc_kind_header">dynamic</span>
503 <ul class="toc_section">
504 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
505 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
506 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
507 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700508 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700509 </ul>
510 </li>
511 </ul> <!-- toc_section -->
512 </li>
513 <li>
514 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
515 <ul class="toc_section">
516 <li>
517 <span class="toc_kind_header">controls</span>
518 <ul class="toc_section">
519 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
520 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
521 </ul>
522 </li>
523 <li>
524 <span class="toc_kind_header">dynamic</span>
525 <ul class="toc_section">
526 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
527 </ul>
528 </li>
529 </ul> <!-- toc_section -->
530 </li>
531 <li>
532 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
533 <ul class="toc_section">
534 <li>
535 <span class="toc_kind_header">controls</span>
536 <ul class="toc_section">
537 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
538 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
539 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700540 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700541 </ul>
542 </li>
543 <li>
544 <span class="toc_kind_header">static</span>
545 <ul class="toc_section">
546
547 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
548 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
549 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
550 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
551 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
552 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
553
554 </ul>
555 </li>
556 <li>
557 <span class="toc_kind_header">dynamic</span>
558 <ul class="toc_section">
559 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
560 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
561 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
562 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
563 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
564 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
565 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
566 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
567 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700568 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
569 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
570 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
571 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700572 </ul>
573 </li>
574 </ul> <!-- toc_section -->
575 </li>
576 <li>
577 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
578 <ul class="toc_section">
579 <li>
580 <span class="toc_kind_header">controls</span>
581 <ul class="toc_section">
582 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
583 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
584 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
585 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
586 </ul>
587 </li>
588 <li>
589 <span class="toc_kind_header">static</span>
590 <ul class="toc_section">
591 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
592 </ul>
593 </li>
594 <li>
595 <span class="toc_kind_header">dynamic</span>
596 <ul class="toc_section">
597 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
598 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
599 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
600 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
601 </ul>
602 </li>
603 </ul> <!-- toc_section -->
604 </li>
605 <li>
606 <span class="toc_section_header"><a href="#section_led">led</a></span>
607 <ul class="toc_section">
608 <li>
609 <span class="toc_kind_header">controls</span>
610 <ul class="toc_section">
611 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
612 </ul>
613 </li>
614 <li>
615 <span class="toc_kind_header">dynamic</span>
616 <ul class="toc_section">
617 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
618 </ul>
619 </li>
620 <li>
621 <span class="toc_kind_header">static</span>
622 <ul class="toc_section">
623 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
624 </ul>
625 </li>
626 </ul> <!-- toc_section -->
627 </li>
628 <li>
629 <span class="toc_section_header"><a href="#section_info">info</a></span>
630 <ul class="toc_section">
631 <li>
632 <span class="toc_kind_header">static</span>
633 <ul class="toc_section">
634 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
635 </ul>
636 </li>
637 </ul> <!-- toc_section -->
638 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700639 <li>
640 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
641 <ul class="toc_section">
642 <li>
643 <span class="toc_kind_header">controls</span>
644 <ul class="toc_section">
645 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
646 </ul>
647 </li>
648 <li>
649 <span class="toc_kind_header">dynamic</span>
650 <ul class="toc_section">
651 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
652 </ul>
653 </li>
654 </ul> <!-- toc_section -->
655 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800656 </ul>
657
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700658
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800659 <h1>Properties</h1>
660 <table class="properties">
661
662 <thead class="thead_dummy">
663 <tr>
664 <th class="th_name">Property Name</th>
665 <th class="th_type">Type</th>
666 <th class="th_description">Description</th>
667 <th class="th_units">Units</th>
668 <th class="th_range">Range</th>
669 <th class="th_notes">Notes</th>
670 <th class="th_tags">Tags</th>
671 </tr>
672 </thead> <!-- so that the first occurrence of thead is not
673 above the first occurrence of tr -->
674<!-- <namespace name="android"> -->
675 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
676
677
678 <tr><td colspan="7" class="kind">controls</td></tr>
679
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700680 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800681 <tr>
682 <th class="th_name">Property Name</th>
683 <th class="th_type">Type</th>
684 <th class="th_description">Description</th>
685 <th class="th_units">Units</th>
686 <th class="th_range">Range</th>
687 <th class="th_notes">Notes</th>
688 <th class="th_tags">Tags</th>
689 </tr>
690 </thead>
691
692 <tbody>
693
694
695
696
697
698
699
700
701
702
703 <tr class="entry" id="controls_android.colorCorrection.mode">
704 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
705 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800706 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800707
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700708 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800709
710 <ul class="entry_type_enum">
711 <li>
712 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
713 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700714 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800715 </li>
716 <li>
717 <span class="entry_type_enum_name">FAST</span>
718 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
719 bayer output</span>
720 </li>
721 <li>
722 <span class="entry_type_enum_name">HIGH_QUALITY</span>
723 <span class="entry_type_enum_notes">Frame rate may be reduced by high
724 quality</span>
725 </li>
726 </ul>
727
728 </td> <!-- entry_type -->
729
730 <td class="entry_description">
731 </td>
732
733 <td class="entry_units">
734 </td>
735
736 <td class="entry_range">
737 </td>
738
739 <td class="entry_notes">
Timothy Knight21f88802013-09-06 13:32:51 -0700740 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700741 should be ignored.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800742 </td>
743
744 <td class="entry_tags">
745 </td>
746
747 </tr> <!-- end of entry -->
748
749
750 <tr class="entry" id="controls_android.colorCorrection.transform">
751 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
752 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754 <span class="entry_type_container">x</span>
755
756 <span class="entry_type_array">
757 3 x 3
758 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700759 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700760 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800761
762
763 </td> <!-- entry_type -->
764
765 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700766 A color transform matrix to use to transform
767 from sensor RGB color space to output linear sRGB color space
768
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800769 </td>
770
771 <td class="entry_units">
772 </td>
773
774 <td class="entry_range">
775 Output values are expected to be in the range
776 (0,<wbr>1)
777 </td>
778
779 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700780 This matrix is either set by HAL when the request
781 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
782 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700783 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
784<br>
785<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700786 for precision issues; the final rounded matrix should be
787 reported back in this matrix result metadata.<wbr>
788 </td>
789
790 <td class="entry_tags">
791 </td>
792
793 </tr> <!-- end of entry -->
794
795
796 <tr class="entry" id="controls_android.colorCorrection.gains">
797 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
798 <td class="entry_type">
799 <span class="entry_type_name">float</span>
800 <span class="entry_type_container">x</span>
801
802 <span class="entry_type_array">
803 4
804 </span>
805 <span class="entry_type_visibility"> [public]</span>
806 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
807
808
809 </td> <!-- entry_type -->
810
811 <td class="entry_description">
812 Gains applying to Bayer color channels for
813 white-balance
814 </td>
815
816 <td class="entry_units">
817 </td>
818
819 <td class="entry_range">
820 </td>
821
822 <td class="entry_notes">
823 The 4-channel white-balance gains are defined in
824 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
825 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
826 is the gain for greenpixels on the odd rows.<wbr> if a HAL
827 does not support a separate gain for even/<wbr>odd green channels,<wbr>
828 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
829 G_<wbr>even in the output result metadata.<wbr>
830<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700831<br> This array is either set by HAL when the request
832 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
833 directly by the application in the request when the
834 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
835<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700836<br> The ouput should be the gains actually applied by the HAL to
837 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800838 </td>
839
840 <td class="entry_tags">
841 </td>
842
843 </tr> <!-- end of entry -->
844
845
846
847 <!-- end of kind -->
848 </tbody>
849 <tr><td colspan="7" class="kind">dynamic</td></tr>
850
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700851 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800852 <tr>
853 <th class="th_name">Property Name</th>
854 <th class="th_type">Type</th>
855 <th class="th_description">Description</th>
856 <th class="th_units">Units</th>
857 <th class="th_range">Range</th>
858 <th class="th_notes">Notes</th>
859 <th class="th_tags">Tags</th>
860 </tr>
861 </thead>
862
863 <tbody>
864
865
866
867
868
869
870
871
872
873
Zhijun He69fc0ea2013-07-17 09:42:58 -0700874 <tr class="entry" id="dynamic_android.colorCorrection.transform">
875 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800876 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700877 <span class="entry_type_name">rational</span>
878 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800879
Zhijun He69fc0ea2013-07-17 09:42:58 -0700880 <span class="entry_type_array">
881 3 x 3
882 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700883 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700884 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800885
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800886
887 </td> <!-- entry_type -->
888
889 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700890 A color transform matrix to use to transform
891 from sensor RGB color space to output linear sRGB color space
892
893 </td>
894
895 <td class="entry_units">
896 </td>
897
898 <td class="entry_range">
899 Output values are expected to be in the range
900 (0,<wbr>1)
901 </td>
902
903 <td class="entry_notes">
904 This matrix is either set by HAL when the request
905 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
906 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700907 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
908<br>
909<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700910 for precision issues; the final rounded matrix should be
911 reported back in this matrix result metadata.<wbr>
912 </td>
913
914 <td class="entry_tags">
915 </td>
916
917 </tr> <!-- end of entry -->
918
919
920 <tr class="entry" id="dynamic_android.colorCorrection.gains">
921 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
922 <td class="entry_type">
923 <span class="entry_type_name">float</span>
924 <span class="entry_type_container">x</span>
925
926 <span class="entry_type_array">
927 4
928 </span>
929 <span class="entry_type_visibility"> [public]</span>
930 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
931
932
933 </td> <!-- entry_type -->
934
935 <td class="entry_description">
936 Gains applying to Bayer color channels for
937 white-balance
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800938 </td>
939
940 <td class="entry_units">
941 </td>
942
943 <td class="entry_range">
944 </td>
945
946 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700947 The 4-channel white-balance gains are defined in
948 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
949 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
950 is the gain for greenpixels on the odd rows.<wbr> if a HAL
951 does not support a separate gain for even/<wbr>odd green channels,<wbr>
952 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
953 G_<wbr>even in the output result metadata.<wbr>
954<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700955<br> This array is either set by HAL when the request
956 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
957 directly by the application in the request when the
958 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
959<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700960<br> The ouput should be the gains actually applied by the HAL to
961 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800962 </td>
963
964 <td class="entry_tags">
965 </td>
966
967 </tr> <!-- end of entry -->
968
969
970
971 <!-- end of kind -->
972 </tbody>
973
974 <!-- end of section -->
975 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
976
977
978 <tr><td colspan="7" class="kind">controls</td></tr>
979
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700980 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800981 <tr>
982 <th class="th_name">Property Name</th>
983 <th class="th_type">Type</th>
984 <th class="th_description">Description</th>
985 <th class="th_units">Units</th>
986 <th class="th_range">Range</th>
987 <th class="th_notes">Notes</th>
988 <th class="th_tags">Tags</th>
989 </tr>
990 </thead>
991
992 <tbody>
993
994
995
996
997
998
999
1000
1001
1002
1003 <tr class="entry" id="controls_android.control.aeAntibandingMode">
1004 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
1005 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001006 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001007
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001008 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001009
1010 <ul class="entry_type_enum">
1011 <li>
1012 <span class="entry_type_enum_name">OFF</span>
1013 </li>
1014 <li>
1015 <span class="entry_type_enum_name">50HZ</span>
1016 </li>
1017 <li>
1018 <span class="entry_type_enum_name">60HZ</span>
1019 </li>
1020 <li>
1021 <span class="entry_type_enum_name">AUTO</span>
1022 </li>
1023 </ul>
1024
1025 </td> <!-- entry_type -->
1026
1027 <td class="entry_description">
1028 Enum for controlling
1029 antibanding
1030 </td>
1031
1032 <td class="entry_units">
1033 </td>
1034
1035 <td class="entry_range">
1036
1037 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1038 </td>
1039
1040 <td class="entry_notes">
1041 </td>
1042
1043 <td class="entry_tags">
1044 </td>
1045
1046 </tr> <!-- end of entry -->
1047
1048
1049 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1050 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001052 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001053
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001054 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001055
1056
1057 </td> <!-- entry_type -->
1058
1059 <td class="entry_description">
1060 Adjustment to AE target image
1061 brightness
1062 </td>
1063
1064 <td class="entry_units">
1065 count of positive/<wbr>negative EV steps
1066 </td>
1067
1068 <td class="entry_range">
1069 </td>
1070
1071 <td class="entry_notes">
1072 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1073 exposure compensation of +2 EV; -3 will mean an exposure
1074 compensation of -1
1075 </td>
1076
1077 <td class="entry_tags">
1078 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001079 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001080 </ul>
1081 </td>
1082
1083 </tr> <!-- end of entry -->
1084
1085
1086 <tr class="entry" id="controls_android.control.aeLock">
1087 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1088 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001089 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001090
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001091 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001092
1093 <ul class="entry_type_enum">
1094 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001095 <span class="entry_type_enum_name">OFF</span>
1096 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1097 is free to update its parameters.<wbr></span>
1098 </li>
1099 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001100 <span class="entry_type_enum_name">ON</span>
1101 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1102 must not update the exposure and sensitivity parameters
1103 while the lock is active</span>
1104 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001105 </ul>
1106
1107 </td> <!-- entry_type -->
1108
1109 <td class="entry_description">
1110 Whether AE is currently locked to its latest
1111 calculated values
1112 </td>
1113
1114 <td class="entry_units">
1115 </td>
1116
1117 <td class="entry_range">
1118 </td>
1119
1120 <td class="entry_notes">
1121 Note that even when AE is locked,<wbr> the flash may be
1122 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1123 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
1124 </td>
1125
1126 <td class="entry_tags">
1127 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001128 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001129 </ul>
1130 </td>
1131
1132 </tr> <!-- end of entry -->
1133
1134
1135 <tr class="entry" id="controls_android.control.aeMode">
1136 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1137 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001138 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001139
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001140 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001141
1142 <ul class="entry_type_enum">
1143 <li>
1144 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001145 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1146 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001147 </li>
1148 <li>
1149 <span class="entry_type_enum_name">ON</span>
1150 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1151 control</span>
1152 </li>
1153 <li>
1154 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1156 flash control; flash may be fired when precapture
1157 trigger is activated,<wbr> and for captures for which
1158 captureIntent = STILL_<wbr>CAPTURE</span>
1159 </li>
1160 <li>
1161 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1162 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1163 flash control for precapture trigger and always flash
1164 when captureIntent = STILL_<wbr>CAPTURE</span>
1165 </li>
1166 <li>
1167 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1168 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1169 If deemed necessary,<wbr> red eye reduction sequence should
1170 fire when precapture trigger is activated,<wbr> and final
1171 flash should fire when captureIntent =
1172 STILL_<wbr>CAPTURE</span>
1173 </li>
1174 </ul>
1175
1176 </td> <!-- entry_type -->
1177
1178 <td class="entry_description">
1179 Whether AE is currently updating the sensor
1180 exposure and sensitivity fields
1181 </td>
1182
1183 <td class="entry_units">
1184 </td>
1185
1186 <td class="entry_range">
1187 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1188 </td>
1189
1190 <td class="entry_notes">
1191 Only effective if android.<wbr>control.<wbr>mode =
1192 AUTO
1193 </td>
1194
1195 <td class="entry_tags">
1196 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001197 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001198 </ul>
1199 </td>
1200
1201 </tr> <!-- end of entry -->
1202
1203
1204 <tr class="entry" id="controls_android.control.aeRegions">
1205 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1206 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001207 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001208 <span class="entry_type_container">x</span>
1209
1210 <span class="entry_type_array">
1211 5 x area_count
1212 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001213 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001214
1215
1216 </td> <!-- entry_type -->
1217
1218 <td class="entry_description">
1219 List of areas to use for
1220 metering
1221 </td>
1222
1223 <td class="entry_units">
1224 </td>
1225
1226 <td class="entry_range">
1227 </td>
1228
1229 <td class="entry_notes">
1230 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001231 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1232 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001233<br>
1234<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001235 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1236 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1237 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1238 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001239 should be nonnegative.<wbr>
1240<br>
1241<br> If all regions have 0 weight,<wbr> then no specific metering area
1242 needs to be used by the HAL.<wbr> If the metering region is
1243 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1244 should ignore the sections outside the region and output the
1245 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001246 </td>
1247
1248 <td class="entry_tags">
1249 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001250 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001251 </ul>
1252 </td>
1253
1254 </tr> <!-- end of entry -->
1255
1256
1257 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1258 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1259 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001260 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001261 <span class="entry_type_container">x</span>
1262
1263 <span class="entry_type_array">
1264 2
1265 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001266 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001267
1268
1269 </td> <!-- entry_type -->
1270
1271 <td class="entry_description">
1272 Range over which fps can be adjusted to
1273 maintain exposure
1274 </td>
1275
1276 <td class="entry_units">
1277 </td>
1278
1279 <td class="entry_range">
1280 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1281 </td>
1282
1283 <td class="entry_notes">
1284 Only constrains AE algorithm,<wbr> not manual control
1285 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1286 </td>
1287
1288 <td class="entry_tags">
1289 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001290 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001291 </ul>
1292 </td>
1293
1294 </tr> <!-- end of entry -->
1295
1296
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001297 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1298 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1299 <td class="entry_type">
1300 <span class="entry_type_name entry_type_name_enum">byte</span>
1301
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001302 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001303
1304 <ul class="entry_type_enum">
1305 <li>
1306 <span class="entry_type_enum_name">IDLE</span>
1307 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1308 </li>
1309 <li>
1310 <span class="entry_type_enum_name">START</span>
1311 <span class="entry_type_enum_notes">The precapture metering sequence
1312 must be started.<wbr> The exact effect of the precapture
1313 trigger depends on the current AE mode and
1314 state.<wbr></span>
1315 </li>
1316 </ul>
1317
1318 </td> <!-- entry_type -->
1319
1320 <td class="entry_description">
1321 Whether the HAL must trigger precapture
1322 metering.<wbr>
1323 </td>
1324
1325 <td class="entry_units">
1326 </td>
1327
1328 <td class="entry_range">
1329 </td>
1330
1331 <td class="entry_notes">
1332 This entry is normally set to IDLE,<wbr> or is not
1333 included at all in the request settings.<wbr> When included and
1334 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001335 precapture metering sequence.<wbr>
1336<br>
1337<br> The effect of AE precapture trigger depends on the current
1338 AE mode and state; see the camera HAL device v3 header for
1339 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001340 </td>
1341
1342 <td class="entry_tags">
1343 <ul class="entry_tags">
1344 <li><a href="#tag_BC">BC</a></li>
1345 </ul>
1346 </td>
1347
1348 </tr> <!-- end of entry -->
1349
1350
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001351 <tr class="entry" id="controls_android.control.afMode">
1352 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1353 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001354 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001355
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001356 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001357
1358 <ul class="entry_type_enum">
1359 <li>
1360 <span class="entry_type_enum_name">OFF</span>
1361 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001362 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001363 application</span>
1364 </li>
1365 <li>
1366 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001367 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1368
1369 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1370 is fixed focus In this mode,<wbr> the lens does not move unless
1371 the autofocus trigger action is called.<wbr> When that trigger
1372 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1373 the outcome of the scan (FOCUSED or
1374 NOT_<wbr>FOCUSED).<wbr>
1375
1376 Triggering cancel AF resets the lens position to default,<wbr>
1377 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001378 </li>
1379 <li>
1380 <span class="entry_type_enum_name">MACRO</span>
1381 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001382 autofocus trigger action is called.<wbr>
1383
1384 When that trigger is activated,<wbr> AF must transition to
1385 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1386 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1387 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001388 INACTIVE.<wbr></span>
1389 </li>
1390 <li>
1391 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1392 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1393 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001394 constantly-in-focus image stream.<wbr>
1395
1396 The focusing behavior should be suitable for good quality
1397 video recording; typically this means slower focus
1398 movement and no overshoots.<wbr> When the AF trigger is not
1399 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1400 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1401 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1402 the algorithm should immediately transition into
1403 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1404 lens position until a cancel AF trigger is received.<wbr>
1405
1406 Once cancel is received,<wbr> the algorithm should transition
1407 back to INACTIVE and resume passive scan.<wbr> Note that this
1408 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1409 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001410 canceled.<wbr></span>
1411 </li>
1412 <li>
1413 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1414 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1415 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001416 constantly-in-focus image stream.<wbr>
1417
1418 The focusing behavior should be suitable for still image
1419 capture; typically this means focusing as fast as
1420 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1421 algorithm should start in INACTIVE state,<wbr> and then
1422 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1423 appropriate as it attempts to maintain focus.<wbr> When the AF
1424 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001425 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001426 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1427 lens position until a cancel AF trigger is received.<wbr>
1428
1429 When the AF cancel trigger is activated,<wbr> the algorithm
1430 should transition back to INACTIVE and then act as if it
1431 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001432 </li>
1433 <li>
1434 <span class="entry_type_enum_name">EDOF</span>
1435 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1436 trigger is ignored,<wbr> AF state should always be
1437 INACTIVE.<wbr></span>
1438 </li>
1439 </ul>
1440
1441 </td> <!-- entry_type -->
1442
1443 <td class="entry_description">
1444 Whether AF is currently enabled,<wbr> and what
1445 mode it is set to
1446 </td>
1447
1448 <td class="entry_units">
1449 </td>
1450
1451 <td class="entry_range">
1452 </td>
1453
1454 <td class="entry_notes">
1455 </td>
1456
1457 <td class="entry_tags">
1458 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001459 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001460 </ul>
1461 </td>
1462
1463 </tr> <!-- end of entry -->
1464
1465
1466 <tr class="entry" id="controls_android.control.afRegions">
1467 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001469 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001470 <span class="entry_type_container">x</span>
1471
1472 <span class="entry_type_array">
1473 5 x area_count
1474 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001475 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001476
1477
1478 </td> <!-- entry_type -->
1479
1480 <td class="entry_description">
1481 List of areas to use for focus
1482 estimation
1483 </td>
1484
1485 <td class="entry_units">
1486 </td>
1487
1488 <td class="entry_range">
1489 </td>
1490
1491 <td class="entry_notes">
1492 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001493 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1494 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001495<br>
1496<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001497 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1498 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1499 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1500 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001501 should be nonnegative.<wbr>
1502<br>
1503<br> If all regions have 0 weight,<wbr> then no specific focus area
1504 needs to be used by the HAL.<wbr> If the focusing region is
1505 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1506 should ignore the sections outside the region and output the
1507 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001508 </td>
1509
1510 <td class="entry_tags">
1511 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001512 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001513 </ul>
1514 </td>
1515
1516 </tr> <!-- end of entry -->
1517
1518
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001519 <tr class="entry" id="controls_android.control.afTrigger">
1520 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1521 <td class="entry_type">
1522 <span class="entry_type_name entry_type_name_enum">byte</span>
1523
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001524 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001525
1526 <ul class="entry_type_enum">
1527 <li>
1528 <span class="entry_type_enum_name">IDLE</span>
1529 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1530 </li>
1531 <li>
1532 <span class="entry_type_enum_name">START</span>
1533 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1534 </li>
1535 <li>
1536 <span class="entry_type_enum_name">CANCEL</span>
1537 <span class="entry_type_enum_notes">Autofocus must return to initial
1538 state,<wbr> and cancel any active trigger.<wbr></span>
1539 </li>
1540 </ul>
1541
1542 </td> <!-- entry_type -->
1543
1544 <td class="entry_description">
1545 Whether the HAL must trigger autofocus.<wbr>
1546 </td>
1547
1548 <td class="entry_units">
1549 </td>
1550
1551 <td class="entry_range">
1552 </td>
1553
1554 <td class="entry_notes">
1555 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001556 included at all in the request settings.<wbr>
1557<br>
1558<br> When included and set to START,<wbr> the HAL must trigger the
1559 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1560 current AF mode and state; see the camera HAL device v3
1561 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1562 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001563 </td>
1564
1565 <td class="entry_tags">
1566 <ul class="entry_tags">
1567 <li><a href="#tag_BC">BC</a></li>
1568 </ul>
1569 </td>
1570
1571 </tr> <!-- end of entry -->
1572
1573
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001574 <tr class="entry" id="controls_android.control.awbLock">
1575 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1576 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001577 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001578
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001579 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001580
1581 <ul class="entry_type_enum">
1582 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001583 <span class="entry_type_enum_name">OFF</span>
1584 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1585 algorithm is free to update its parameters if in AUTO
1586 mode.<wbr></span>
1587 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001588 <li>
1589 <span class="entry_type_enum_name">ON</span>
1590 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1591 algorithm must not update the exposure and sensitivity
1592 parameters while the lock is active</span>
1593 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001594 </ul>
1595
1596 </td> <!-- entry_type -->
1597
1598 <td class="entry_description">
1599 Whether AWB is currently locked to its
1600 latest calculated values
1601 </td>
1602
1603 <td class="entry_units">
1604 </td>
1605
1606 <td class="entry_range">
1607 </td>
1608
1609 <td class="entry_notes">
1610 Note that AWB lock is only meaningful for AUTO
1611 mode; in other modes,<wbr> AWB is already fixed to a specific
1612 setting
1613 </td>
1614
1615 <td class="entry_tags">
1616 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001617 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001618 </ul>
1619 </td>
1620
1621 </tr> <!-- end of entry -->
1622
1623
1624 <tr class="entry" id="controls_android.control.awbMode">
1625 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1626 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001627 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001628
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001629 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001630
1631 <ul class="entry_type_enum">
1632 <li>
1633 <span class="entry_type_enum_name">OFF</span>
1634 </li>
1635 <li>
1636 <span class="entry_type_enum_name">AUTO</span>
1637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">INCANDESCENT</span>
1640 </li>
1641 <li>
1642 <span class="entry_type_enum_name">FLUORESCENT</span>
1643 </li>
1644 <li>
1645 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1646 </li>
1647 <li>
1648 <span class="entry_type_enum_name">DAYLIGHT</span>
1649 </li>
1650 <li>
1651 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1652 </li>
1653 <li>
1654 <span class="entry_type_enum_name">TWILIGHT</span>
1655 </li>
1656 <li>
1657 <span class="entry_type_enum_name">SHADE</span>
1658 </li>
1659 </ul>
1660
1661 </td> <!-- entry_type -->
1662
1663 <td class="entry_description">
1664 Whether AWB is currently setting the color
1665 transform fields,<wbr> and what its illumination target
1666 is
1667 </td>
1668
1669 <td class="entry_units">
1670 </td>
1671
1672 <td class="entry_range">
1673 </td>
1674
1675 <td class="entry_notes">
1676 [BC - AWB lock,<wbr>AWB modes]
1677 </td>
1678
1679 <td class="entry_tags">
1680 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001681 <li><a href="#tag_BC">BC</a></li>
1682 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001683 </ul>
1684 </td>
1685
1686 </tr> <!-- end of entry -->
1687
1688
1689 <tr class="entry" id="controls_android.control.awbRegions">
1690 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001692 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001693 <span class="entry_type_container">x</span>
1694
1695 <span class="entry_type_array">
1696 5 x area_count
1697 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001698 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001699
1700
1701 </td> <!-- entry_type -->
1702
1703 <td class="entry_description">
1704 List of areas to use for illuminant
1705 estimation
1706 </td>
1707
1708 <td class="entry_units">
1709 </td>
1710
1711 <td class="entry_range">
1712 </td>
1713
1714 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001715 Only used in AUTO mode.<wbr>
1716<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001717<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1718 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1719 specified coordinates.<wbr>
1720<br>
1721<br> The coordinate system is based on the active pixel array,<wbr>
1722 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1723 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1724 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1725 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001726 should be nonnegative.<wbr>
1727<br>
1728<br> If all regions have 0 weight,<wbr> then no specific metering area
1729 needs to be used by the HAL.<wbr> If the metering region is
1730 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1731 should ignore the sections outside the region and output the
1732 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001733 </td>
1734
1735 <td class="entry_tags">
1736 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001737 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001738 </ul>
1739 </td>
1740
1741 </tr> <!-- end of entry -->
1742
1743
1744 <tr class="entry" id="controls_android.control.captureIntent">
1745 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1746 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001747 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001748
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001749 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001750
1751 <ul class="entry_type_enum">
1752 <li>
1753 <span class="entry_type_enum_name">CUSTOM</span>
1754 <span class="entry_type_enum_notes">This request doesn't fall into the other
1755 categories.<wbr> Default to preview-like
1756 behavior.<wbr></span>
1757 </li>
1758 <li>
1759 <span class="entry_type_enum_name">PREVIEW</span>
1760 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1761 precapture trigger may be used to start off a metering
1762 w/<wbr>flash sequence</span>
1763 </li>
1764 <li>
1765 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1766 <span class="entry_type_enum_notes">This request is for a still capture-type
1767 usecase.<wbr></span>
1768 </li>
1769 <li>
1770 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1771 <span class="entry_type_enum_notes">This request is for a video recording
1772 usecase.<wbr></span>
1773 </li>
1774 <li>
1775 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1776 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1777 image while recording video) usecase</span>
1778 </li>
1779 <li>
1780 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1781 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1782 application will stream full-resolution images and
1783 reprocess one or several later for a final
1784 capture</span>
1785 </li>
1786 </ul>
1787
1788 </td> <!-- entry_type -->
1789
1790 <td class="entry_description">
1791 Information to 3A routines about the purpose
1792 of this capture,<wbr> to help decide optimal 3A
1793 strategy
1794 </td>
1795
1796 <td class="entry_units">
1797 </td>
1798
1799 <td class="entry_range">
1800 all must be supported
1801 </td>
1802
1803 <td class="entry_notes">
1804 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1805 </td>
1806
1807 <td class="entry_tags">
1808 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001809 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001810 </ul>
1811 </td>
1812
1813 </tr> <!-- end of entry -->
1814
1815
1816 <tr class="entry" id="controls_android.control.effectMode">
1817 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1818 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001819 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001820
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001821 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001822
1823 <ul class="entry_type_enum">
1824 <li>
1825 <span class="entry_type_enum_name">OFF</span>
1826 </li>
1827 <li>
1828 <span class="entry_type_enum_name">MONO</span>
1829 <span class="entry_type_enum_optional">optional</span>
1830 </li>
1831 <li>
1832 <span class="entry_type_enum_name">NEGATIVE</span>
1833 <span class="entry_type_enum_optional">optional</span>
1834 </li>
1835 <li>
1836 <span class="entry_type_enum_name">SOLARIZE</span>
1837 <span class="entry_type_enum_optional">optional</span>
1838 </li>
1839 <li>
1840 <span class="entry_type_enum_name">SEPIA</span>
1841 <span class="entry_type_enum_optional">optional</span>
1842 </li>
1843 <li>
1844 <span class="entry_type_enum_name">POSTERIZE</span>
1845 <span class="entry_type_enum_optional">optional</span>
1846 </li>
1847 <li>
1848 <span class="entry_type_enum_name">WHITEBOARD</span>
1849 <span class="entry_type_enum_optional">optional</span>
1850 </li>
1851 <li>
1852 <span class="entry_type_enum_name">BLACKBOARD</span>
1853 <span class="entry_type_enum_optional">optional</span>
1854 </li>
1855 <li>
1856 <span class="entry_type_enum_name">AQUA</span>
1857 <span class="entry_type_enum_optional">optional</span>
1858 </li>
1859 </ul>
1860
1861 </td> <!-- entry_type -->
1862
1863 <td class="entry_description">
1864 Whether any special color effect is in use.<wbr>
1865 Only used if android.<wbr>control.<wbr>mode != OFF
1866 </td>
1867
1868 <td class="entry_units">
1869 </td>
1870
1871 <td class="entry_range">
1872 android.<wbr>control.<wbr>available<wbr>Effects
1873 </td>
1874
1875 <td class="entry_notes">
1876 </td>
1877
1878 <td class="entry_tags">
1879 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001880 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001881 </ul>
1882 </td>
1883
1884 </tr> <!-- end of entry -->
1885
1886
1887 <tr class="entry" id="controls_android.control.mode">
1888 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1889 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001890 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001891
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001892 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001893
1894 <ul class="entry_type_enum">
1895 <li>
1896 <span class="entry_type_enum_name">OFF</span>
1897 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1898 routines are disabled,<wbr> no other settings in
1899 android.<wbr>control.<wbr>* have any effect</span>
1900 </li>
1901 <li>
1902 <span class="entry_type_enum_name">AUTO</span>
1903 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1904 Manual control of capture parameters is disabled.<wbr> All
1905 controls in android.<wbr>control.<wbr>* besides sceneMode take
1906 effect</span>
1907 </li>
1908 <li>
1909 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1910 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1911 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1912 controls; the HAL must ignore those settings while
1913 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1914 scene mode).<wbr> Other control entries are still active.<wbr>
1915 This setting can only be used if availableSceneModes !=
1916 UNSUPPORTED</span>
1917 </li>
1918 </ul>
1919
1920 </td> <!-- entry_type -->
1921
1922 <td class="entry_description">
1923 Overall mode of 3A control
1924 routines
1925 </td>
1926
1927 <td class="entry_units">
1928 </td>
1929
1930 <td class="entry_range">
1931 all must be supported
1932 </td>
1933
1934 <td class="entry_notes">
1935 </td>
1936
1937 <td class="entry_tags">
1938 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001939 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001940 </ul>
1941 </td>
1942
1943 </tr> <!-- end of entry -->
1944
1945
1946 <tr class="entry" id="controls_android.control.sceneMode">
1947 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1948 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001949 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001950
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001951 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001952
1953 <ul class="entry_type_enum">
1954 <li>
1955 <span class="entry_type_enum_name">UNSUPPORTED</span>
1956 <span class="entry_type_enum_value">0</span>
1957 </li>
1958 <li>
1959 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1960 <span class="entry_type_enum_notes">if face detection support exists Use face
1961 detection data to drive 3A routines.<wbr> If face detection
1962 statistics are disabled,<wbr> should still operate correctly
1963 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001964 framework).<wbr>
1965
1966 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1967 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1968 compatibility concerns with the old camera
1969 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001970 </li>
1971 <li>
1972 <span class="entry_type_enum_name">ACTION</span>
1973 <span class="entry_type_enum_optional">optional</span>
1974 </li>
1975 <li>
1976 <span class="entry_type_enum_name">PORTRAIT</span>
1977 <span class="entry_type_enum_optional">optional</span>
1978 </li>
1979 <li>
1980 <span class="entry_type_enum_name">LANDSCAPE</span>
1981 <span class="entry_type_enum_optional">optional</span>
1982 </li>
1983 <li>
1984 <span class="entry_type_enum_name">NIGHT</span>
1985 <span class="entry_type_enum_optional">optional</span>
1986 </li>
1987 <li>
1988 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1989 <span class="entry_type_enum_optional">optional</span>
1990 </li>
1991 <li>
1992 <span class="entry_type_enum_name">THEATRE</span>
1993 <span class="entry_type_enum_optional">optional</span>
1994 </li>
1995 <li>
1996 <span class="entry_type_enum_name">BEACH</span>
1997 <span class="entry_type_enum_optional">optional</span>
1998 </li>
1999 <li>
2000 <span class="entry_type_enum_name">SNOW</span>
2001 <span class="entry_type_enum_optional">optional</span>
2002 </li>
2003 <li>
2004 <span class="entry_type_enum_name">SUNSET</span>
2005 <span class="entry_type_enum_optional">optional</span>
2006 </li>
2007 <li>
2008 <span class="entry_type_enum_name">STEADYPHOTO</span>
2009 <span class="entry_type_enum_optional">optional</span>
2010 </li>
2011 <li>
2012 <span class="entry_type_enum_name">FIREWORKS</span>
2013 <span class="entry_type_enum_optional">optional</span>
2014 </li>
2015 <li>
2016 <span class="entry_type_enum_name">SPORTS</span>
2017 <span class="entry_type_enum_optional">optional</span>
2018 </li>
2019 <li>
2020 <span class="entry_type_enum_name">PARTY</span>
2021 <span class="entry_type_enum_optional">optional</span>
2022 </li>
2023 <li>
2024 <span class="entry_type_enum_name">CANDLELIGHT</span>
2025 <span class="entry_type_enum_optional">optional</span>
2026 </li>
2027 <li>
2028 <span class="entry_type_enum_name">BARCODE</span>
2029 <span class="entry_type_enum_optional">optional</span>
2030 </li>
2031 </ul>
2032
2033 </td> <!-- entry_type -->
2034
2035 <td class="entry_description">
2036 Which scene mode is active when
2037 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2038 </td>
2039
2040 <td class="entry_units">
2041 </td>
2042
2043 <td class="entry_range">
2044 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2045 </td>
2046
2047 <td class="entry_notes">
2048 </td>
2049
2050 <td class="entry_tags">
2051 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002052 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002053 </ul>
2054 </td>
2055
2056 </tr> <!-- end of entry -->
2057
2058
2059 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2060 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002062 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002063
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002064 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002065
2066 <ul class="entry_type_enum">
2067 <li>
2068 <span class="entry_type_enum_name">OFF</span>
2069 </li>
2070 <li>
2071 <span class="entry_type_enum_name">ON</span>
2072 </li>
2073 </ul>
2074
2075 </td> <!-- entry_type -->
2076
2077 <td class="entry_description">
2078 Whether video stabilization is
2079 active
2080 </td>
2081
2082 <td class="entry_units">
2083 </td>
2084
2085 <td class="entry_range">
2086 </td>
2087
2088 <td class="entry_notes">
2089 If enabled,<wbr> video stabilization can modify the
2090 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2091 stabilized
2092 </td>
2093
2094 <td class="entry_tags">
2095 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002096 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002097 </ul>
2098 </td>
2099
2100 </tr> <!-- end of entry -->
2101
2102
2103
2104 <!-- end of kind -->
2105 </tbody>
2106 <tr><td colspan="7" class="kind">static</td></tr>
2107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002108 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002109 <tr>
2110 <th class="th_name">Property Name</th>
2111 <th class="th_type">Type</th>
2112 <th class="th_description">Description</th>
2113 <th class="th_units">Units</th>
2114 <th class="th_range">Range</th>
2115 <th class="th_notes">Notes</th>
2116 <th class="th_tags">Tags</th>
2117 </tr>
2118 </thead>
2119
2120 <tbody>
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2132 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2133 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002134 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002135 <span class="entry_type_container">x</span>
2136
2137 <span class="entry_type_array">
2138 n
2139 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002140 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002141 <div class="entry_type_notes">list of enums</div>
2142
2143
2144 </td> <!-- entry_type -->
2145
2146 <td class="entry_description">
2147 Which set of antibanding modes are
2148 supported
2149 </td>
2150
2151 <td class="entry_units">
2152 </td>
2153
2154 <td class="entry_range">
2155 </td>
2156
2157 <td class="entry_notes">
2158 </td>
2159
2160 <td class="entry_tags">
2161 </td>
2162
2163 </tr> <!-- end of entry -->
2164
2165
2166 <tr class="entry" id="static_android.control.aeAvailableModes">
2167 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2168 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002169 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002170 <span class="entry_type_container">x</span>
2171
2172 <span class="entry_type_array">
2173 n
2174 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002175 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002176 <div class="entry_type_notes">list of enums</div>
2177
2178
2179 </td> <!-- entry_type -->
2180
2181 <td class="entry_description">
2182 Which subset of AE modes is
2183 supported
2184 </td>
2185
2186 <td class="entry_units">
2187 </td>
2188
2189 <td class="entry_range">
2190 OFF,<wbr> ON must be supported.<wbr>
2191 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2192 unit is available
2193 </td>
2194
2195 <td class="entry_notes">
2196 </td>
2197
2198 <td class="entry_tags">
2199 </td>
2200
2201 </tr> <!-- end of entry -->
2202
2203
2204 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2205 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2206 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002207 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002208 <span class="entry_type_container">x</span>
2209
2210 <span class="entry_type_array">
2211 2 x n
2212 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002213 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002214 <div class="entry_type_notes">list of pairs of frame rates</div>
2215
2216
2217 </td> <!-- entry_type -->
2218
2219 <td class="entry_description">
2220 List of frame rate ranges supported by the
2221 AE algorithm/<wbr>hardware
2222 </td>
2223
2224 <td class="entry_units">
2225 </td>
2226
2227 <td class="entry_range">
2228 </td>
2229
2230 <td class="entry_notes">
2231 </td>
2232
2233 <td class="entry_tags">
2234 </td>
2235
2236 </tr> <!-- end of entry -->
2237
2238
2239 <tr class="entry" id="static_android.control.aeCompensationRange">
2240 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002242 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002243 <span class="entry_type_container">x</span>
2244
2245 <span class="entry_type_array">
2246 2
2247 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002248 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002249
2250
2251 </td> <!-- entry_type -->
2252
2253 <td class="entry_description">
2254 Maximum and minimum exposure compensation
2255 setting,<wbr> in counts of
2256 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2257 </td>
2258
2259 <td class="entry_units">
2260 </td>
2261
2262 <td class="entry_range">
2263 At least (-2,<wbr>2)/<wbr>(exp compensation step
2264 size)
2265 </td>
2266
2267 <td class="entry_notes">
2268 </td>
2269
2270 <td class="entry_tags">
2271 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002272 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002273 </ul>
2274 </td>
2275
2276 </tr> <!-- end of entry -->
2277
2278
2279 <tr class="entry" id="static_android.control.aeCompensationStep">
2280 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2281 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002282 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002283
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002284 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002285
2286
2287 </td> <!-- entry_type -->
2288
2289 <td class="entry_description">
2290 Smallest step by which exposure compensation
2291 can be changed
2292 </td>
2293
2294 <td class="entry_units">
2295 </td>
2296
2297 <td class="entry_range">
2298 <= 1/<wbr>2
2299 </td>
2300
2301 <td class="entry_notes">
2302 </td>
2303
2304 <td class="entry_tags">
2305 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002306 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002307 </ul>
2308 </td>
2309
2310 </tr> <!-- end of entry -->
2311
2312
2313 <tr class="entry" id="static_android.control.afAvailableModes">
2314 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2315 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002316 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002317 <span class="entry_type_container">x</span>
2318
2319 <span class="entry_type_array">
2320 n
2321 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002322 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002323 <div class="entry_type_notes">List of enums</div>
2324
2325
2326 </td> <!-- entry_type -->
2327
2328 <td class="entry_description">
2329 List of AF modes that can be
2330 selected
2331 </td>
2332
2333 <td class="entry_units">
2334 </td>
2335
2336 <td class="entry_range">
2337 OFF must be included.<wbr> AUTO must be supported if
2338 lens allows for changing focus
2339 </td>
2340
2341 <td class="entry_notes">
2342 </td>
2343
2344 <td class="entry_tags">
2345 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002346 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002347 </ul>
2348 </td>
2349
2350 </tr> <!-- end of entry -->
2351
2352
2353 <tr class="entry" id="static_android.control.availableEffects">
2354 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2355 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002356 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002357 <span class="entry_type_container">x</span>
2358
2359 <span class="entry_type_array">
2360 n
2361 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002362 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002363 <div class="entry_type_notes">list of enums</div>
2364
2365
2366 </td> <!-- entry_type -->
2367
2368 <td class="entry_description">
2369 what subset of the full color effect enum
2370 list is supported
2371 </td>
2372
2373 <td class="entry_units">
2374 </td>
2375
2376 <td class="entry_range">
2377 OFF must be listed
2378 </td>
2379
2380 <td class="entry_notes">
2381 </td>
2382
2383 <td class="entry_tags">
2384 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002385 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002386 </ul>
2387 </td>
2388
2389 </tr> <!-- end of entry -->
2390
2391
2392 <tr class="entry" id="static_android.control.availableSceneModes">
2393 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2394 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002395 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002396 <span class="entry_type_container">x</span>
2397
2398 <span class="entry_type_array">
2399 n
2400 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002401 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002402 <div class="entry_type_notes">list of enums from android.<wbr>control.<wbr>scene<wbr>Mode,<wbr> plus UNSUPPORTED to indicate no scene modes are supported</div>
2403
2404
2405 </td> <!-- entry_type -->
2406
2407 <td class="entry_description">
2408 what subset of the scene mode enum list is
2409 supported.<wbr>
2410 </td>
2411
2412 <td class="entry_units">
2413 </td>
2414
2415 <td class="entry_range">
2416 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2417 detection is supported
2418 </td>
2419
2420 <td class="entry_notes">
2421 </td>
2422
2423 <td class="entry_tags">
2424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002425 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002426 </ul>
2427 </td>
2428
2429 </tr> <!-- end of entry -->
2430
2431
2432 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2433 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002435 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002436 <span class="entry_type_container">x</span>
2437
2438 <span class="entry_type_array">
2439 n
2440 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002441 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002442 <div class="entry_type_notes">List of enums.<wbr></div>
2443
2444
2445 </td> <!-- entry_type -->
2446
2447 <td class="entry_description">
2448 List of video stabilization modes that can
2449 be supported
2450 </td>
2451
2452 <td class="entry_units">
2453 </td>
2454
2455 <td class="entry_range">
2456 OFF must be included
2457 </td>
2458
2459 <td class="entry_notes">
2460 </td>
2461
2462 <td class="entry_tags">
2463 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002464 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002465 </ul>
2466 </td>
2467
2468 </tr> <!-- end of entry -->
2469
2470
2471 <tr class="entry" id="static_android.control.awbAvailableModes">
2472 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2473 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002474 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002475 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002476
Alex Raya4251d92013-04-30 16:43:44 -07002477 <span class="entry_type_array">
2478 n
2479 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002480 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002481 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002482
2483
2484 </td> <!-- entry_type -->
2485
2486 <td class="entry_description">
2487 </td>
2488
2489 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002490 </td>
2491
2492 <td class="entry_range">
2493 OFF,<wbr> AUTO must be included
2494 </td>
2495
2496 <td class="entry_notes">
2497 </td>
2498
2499 <td class="entry_tags">
2500 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002501 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002502 </ul>
2503 </td>
2504
2505 </tr> <!-- end of entry -->
2506
2507
2508 <tr class="entry" id="static_android.control.maxRegions">
2509 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2510 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002511 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002512
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002513 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002514
2515
2516 </td> <!-- entry_type -->
2517
2518 <td class="entry_description">
2519 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2520 regions can be listed for metering?
2521 </td>
2522
2523 <td class="entry_units">
2524 </td>
2525
2526 <td class="entry_range">
2527 >= 1
2528 </td>
2529
2530 <td class="entry_notes">
2531 </td>
2532
2533 <td class="entry_tags">
2534 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002535 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002536 </ul>
2537 </td>
2538
2539 </tr> <!-- end of entry -->
2540
2541
2542 <tr class="entry" id="static_android.control.sceneModeOverrides">
2543 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2544 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002545 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002546 <span class="entry_type_container">x</span>
2547
2548 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002549 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002550 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002551 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002552
2553
2554 </td> <!-- entry_type -->
2555
2556 <td class="entry_description">
2557 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2558 each available scene mode
2559 </td>
2560
2561 <td class="entry_units">
2562 </td>
2563
2564 <td class="entry_range">
2565 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2566 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002567 scene mode.<wbr>
2568
2569 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2570 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002571 </td>
2572
2573 <td class="entry_notes">
2574 When a scene mode is enabled,<wbr> the HAL is expected
2575 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002576 preferred settings for that scene mode.<wbr>
2577<br>
2578<br> To simplify communication with old camera API applications,<wbr>
2579 the service wants this override list in the static metadata.<wbr>
2580 The order of this list matches that of availableSceneModes,<wbr>
2581 with 3 entires for each scene mode.<wbr> The overrides listed
2582 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2583 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2584 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2585 AUTO.<wbr>
2586<br>
2587<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2588 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2589 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2590 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2591 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2592 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002593 </td>
2594
2595 <td class="entry_tags">
2596 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002597 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002598 </ul>
2599 </td>
2600
2601 </tr> <!-- end of entry -->
2602
2603
2604
2605 <!-- end of kind -->
2606 </tbody>
2607 <tr><td colspan="7" class="kind">dynamic</td></tr>
2608
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002609 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002610 <tr>
2611 <th class="th_name">Property Name</th>
2612 <th class="th_type">Type</th>
2613 <th class="th_description">Description</th>
2614 <th class="th_units">Units</th>
2615 <th class="th_range">Range</th>
2616 <th class="th_notes">Notes</th>
2617 <th class="th_tags">Tags</th>
2618 </tr>
2619 </thead>
2620
2621 <tbody>
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2633 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2634 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002635 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002636
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002637 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002638
2639
2640 </td> <!-- entry_type -->
2641
2642 <td class="entry_description">
2643 The ID sent with the latest
2644 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2645 </td>
2646
2647 <td class="entry_units">
2648 </td>
2649
2650 <td class="entry_range">
2651 </td>
2652
2653 <td class="entry_notes">
2654 Must be 0 if no
2655 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2656 by HAL.<wbr> Always updated even if AE algorithm ignores the
2657 trigger
2658 </td>
2659
2660 <td class="entry_tags">
2661 </td>
2662
2663 </tr> <!-- end of entry -->
2664
2665
2666 <tr class="entry" id="dynamic_android.control.aeRegions">
2667 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002669 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670 <span class="entry_type_container">x</span>
2671
2672 <span class="entry_type_array">
2673 5 x area_count
2674 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002675 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002676
2677
2678 </td> <!-- entry_type -->
2679
2680 <td class="entry_description">
2681 List of areas to use for
2682 metering
2683 </td>
2684
2685 <td class="entry_units">
2686 </td>
2687
2688 <td class="entry_range">
2689 </td>
2690
2691 <td class="entry_notes">
2692 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002693 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2694 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002695<br>
2696<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002697 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2698 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2699 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2700 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002701 should be nonnegative.<wbr>
2702<br>
2703<br> If all regions have 0 weight,<wbr> then no specific metering area
2704 needs to be used by the HAL.<wbr> If the metering region is
2705 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2706 should ignore the sections outside the region and output the
2707 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002708 </td>
2709
2710 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002711 <ul class="entry_tags">
2712 <li><a href="#tag_BC">BC</a></li>
2713 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002714 </td>
2715
2716 </tr> <!-- end of entry -->
2717
2718
2719 <tr class="entry" id="dynamic_android.control.aeState">
2720 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002722 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002723
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002724 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002725
2726 <ul class="entry_type_enum">
2727 <li>
2728 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002729 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2730 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002731 </li>
2732 <li>
2733 <span class="entry_type_enum_name">SEARCHING</span>
2734 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2735 for the current scene</span>
2736 </li>
2737 <li>
2738 <span class="entry_type_enum_name">CONVERGED</span>
2739 <span class="entry_type_enum_notes">AE has a good set of control values for the
2740 current scene</span>
2741 </li>
2742 <li>
2743 <span class="entry_type_enum_name">LOCKED</span>
2744 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2745 LOCKED)</span>
2746 </li>
2747 <li>
2748 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2749 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2750 needs to be fired for good quality still
2751 capture</span>
2752 </li>
2753 <li>
2754 <span class="entry_type_enum_name">PRECAPTURE</span>
2755 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2756 (through the
2757 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2758 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2759 completes,<wbr> AE will transition to CONVERGED or
2760 FLASH_<wbr>REQUIRED as appropriate</span>
2761 </li>
2762 </ul>
2763
2764 </td> <!-- entry_type -->
2765
2766 <td class="entry_description">
2767 Current state of AE algorithm
2768 </td>
2769
2770 <td class="entry_units">
2771 </td>
2772
2773 <td class="entry_range">
2774 </td>
2775
2776 <td class="entry_notes">
2777 Whenever the AE algorithm state changes,<wbr> a
2778 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2779 notification callback is registered.<wbr>
2780 </td>
2781
2782 <td class="entry_tags">
2783 </td>
2784
2785 </tr> <!-- end of entry -->
2786
2787
2788 <tr class="entry" id="dynamic_android.control.afMode">
2789 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2790 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002791 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002792
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002793 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002794
2795 <ul class="entry_type_enum">
2796 <li>
2797 <span class="entry_type_enum_name">OFF</span>
2798 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002799 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002800 application</span>
2801 </li>
2802 <li>
2803 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002804 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2805
2806 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2807 is fixed focus In this mode,<wbr> the lens does not move unless
2808 the autofocus trigger action is called.<wbr> When that trigger
2809 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2810 the outcome of the scan (FOCUSED or
2811 NOT_<wbr>FOCUSED).<wbr>
2812
2813 Triggering cancel AF resets the lens position to default,<wbr>
2814 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002815 </li>
2816 <li>
2817 <span class="entry_type_enum_name">MACRO</span>
2818 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002819 autofocus trigger action is called.<wbr>
2820
2821 When that trigger is activated,<wbr> AF must transition to
2822 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2823 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2824 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002825 INACTIVE.<wbr></span>
2826 </li>
2827 <li>
2828 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2829 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2830 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002831 constantly-in-focus image stream.<wbr>
2832
2833 The focusing behavior should be suitable for good quality
2834 video recording; typically this means slower focus
2835 movement and no overshoots.<wbr> When the AF trigger is not
2836 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2837 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2838 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2839 the algorithm should immediately transition into
2840 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2841 lens position until a cancel AF trigger is received.<wbr>
2842
2843 Once cancel is received,<wbr> the algorithm should transition
2844 back to INACTIVE and resume passive scan.<wbr> Note that this
2845 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2846 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002847 canceled.<wbr></span>
2848 </li>
2849 <li>
2850 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2851 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2852 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002853 constantly-in-focus image stream.<wbr>
2854
2855 The focusing behavior should be suitable for still image
2856 capture; typically this means focusing as fast as
2857 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2858 algorithm should start in INACTIVE state,<wbr> and then
2859 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2860 appropriate as it attempts to maintain focus.<wbr> When the AF
2861 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002862 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002863 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2864 lens position until a cancel AF trigger is received.<wbr>
2865
2866 When the AF cancel trigger is activated,<wbr> the algorithm
2867 should transition back to INACTIVE and then act as if it
2868 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002869 </li>
2870 <li>
2871 <span class="entry_type_enum_name">EDOF</span>
2872 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2873 trigger is ignored,<wbr> AF state should always be
2874 INACTIVE.<wbr></span>
2875 </li>
2876 </ul>
2877
2878 </td> <!-- entry_type -->
2879
2880 <td class="entry_description">
2881 Whether AF is currently enabled,<wbr> and what
2882 mode it is set to
2883 </td>
2884
2885 <td class="entry_units">
2886 </td>
2887
2888 <td class="entry_range">
2889 </td>
2890
2891 <td class="entry_notes">
2892 </td>
2893
2894 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002895 <ul class="entry_tags">
2896 <li><a href="#tag_BC">BC</a></li>
2897 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002898 </td>
2899
2900 </tr> <!-- end of entry -->
2901
2902
2903 <tr class="entry" id="dynamic_android.control.afRegions">
2904 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2905 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002906 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002907 <span class="entry_type_container">x</span>
2908
2909 <span class="entry_type_array">
2910 5 x area_count
2911 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002912 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002913
2914
2915 </td> <!-- entry_type -->
2916
2917 <td class="entry_description">
2918 List of areas to use for focus
2919 estimation
2920 </td>
2921
2922 <td class="entry_units">
2923 </td>
2924
2925 <td class="entry_range">
2926 </td>
2927
2928 <td class="entry_notes">
2929 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002930 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2931 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002932<br>
2933<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002934 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2935 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2936 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2937 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002938 should be nonnegative.<wbr>
2939<br>
2940<br> If all regions have 0 weight,<wbr> then no specific focus area
2941 needs to be used by the HAL.<wbr> If the focusing region is
2942 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2943 should ignore the sections outside the region and output the
2944 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002945 </td>
2946
2947 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002948 <ul class="entry_tags">
2949 <li><a href="#tag_BC">BC</a></li>
2950 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002951 </td>
2952
2953 </tr> <!-- end of entry -->
2954
2955
2956 <tr class="entry" id="dynamic_android.control.afState">
2957 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2958 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002959 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002960
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002961 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962
2963 <ul class="entry_type_enum">
2964 <li>
2965 <span class="entry_type_enum_name">INACTIVE</span>
2966 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
Alex Ray7aeb05e2013-03-27 16:26:41 -07002967 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2968 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002969 </li>
2970 <li>
2971 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002972 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF is
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002973 currently doing an AF scan initiated by a continuous
2974 autofocus mode</span>
2975 </li>
2976 <li>
2977 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002978 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF currently
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002979 believes it is in focus,<wbr> but may restart scanning at
2980 any time.<wbr></span>
2981 </li>
2982 <li>
2983 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002984 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported.<wbr> AF is doing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002985 an AF scan because it was triggered by AF
2986 trigger</span>
2987 </li>
2988 <li>
2989 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002990 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002991 believes it is focused correctly and is
2992 locked</span>
2993 </li>
2994 <li>
2995 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002996 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF has
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002997 failed to focus successfully and is
2998 locked</span>
2999 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07003000 <li>
3001 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
3002 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF finished a
3003 passive scan without finding focus,<wbr> and may restart
3004 scanning at any time.<wbr></span>
3005 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003006 </ul>
3007
3008 </td> <!-- entry_type -->
3009
3010 <td class="entry_description">
3011 Current state of AF algorithm
3012 </td>
3013
3014 <td class="entry_units">
3015 </td>
3016
3017 <td class="entry_range">
3018 </td>
3019
3020 <td class="entry_notes">
3021 Whenever the AF algorithm state changes,<wbr> a
3022 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3023 callback is registered.<wbr>
3024 </td>
3025
3026 <td class="entry_tags">
3027 </td>
3028
3029 </tr> <!-- end of entry -->
3030
3031
3032 <tr class="entry" id="dynamic_android.control.afTriggerId">
3033 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3034 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003035 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003036
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003037 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003038
3039
3040 </td> <!-- entry_type -->
3041
3042 <td class="entry_description">
3043 The ID sent with the latest
3044 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3045 </td>
3046
3047 <td class="entry_units">
3048 </td>
3049
3050 <td class="entry_range">
3051 </td>
3052
3053 <td class="entry_notes">
3054 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3055 received yet by HAL.<wbr> Always updated even if AF algorithm
3056 ignores the trigger
3057 </td>
3058
3059 <td class="entry_tags">
3060 </td>
3061
3062 </tr> <!-- end of entry -->
3063
3064
3065 <tr class="entry" id="dynamic_android.control.awbMode">
3066 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3067 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003068 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003069
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003070 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003071
3072 <ul class="entry_type_enum">
3073 <li>
3074 <span class="entry_type_enum_name">OFF</span>
3075 </li>
3076 <li>
3077 <span class="entry_type_enum_name">AUTO</span>
3078 </li>
3079 <li>
3080 <span class="entry_type_enum_name">INCANDESCENT</span>
3081 </li>
3082 <li>
3083 <span class="entry_type_enum_name">FLUORESCENT</span>
3084 </li>
3085 <li>
3086 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3087 </li>
3088 <li>
3089 <span class="entry_type_enum_name">DAYLIGHT</span>
3090 </li>
3091 <li>
3092 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3093 </li>
3094 <li>
3095 <span class="entry_type_enum_name">TWILIGHT</span>
3096 </li>
3097 <li>
3098 <span class="entry_type_enum_name">SHADE</span>
3099 </li>
3100 </ul>
3101
3102 </td> <!-- entry_type -->
3103
3104 <td class="entry_description">
3105 Whether AWB is currently setting the color
3106 transform fields,<wbr> and what its illumination target
3107 is
3108 </td>
3109
3110 <td class="entry_units">
3111 </td>
3112
3113 <td class="entry_range">
3114 </td>
3115
3116 <td class="entry_notes">
3117 [BC - AWB lock,<wbr>AWB modes]
3118 </td>
3119
3120 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003121 <ul class="entry_tags">
3122 <li><a href="#tag_BC">BC</a></li>
3123 <li><a href="#tag_AWB">AWB</a></li>
3124 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003125 </td>
3126
3127 </tr> <!-- end of entry -->
3128
3129
3130 <tr class="entry" id="dynamic_android.control.awbRegions">
3131 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3132 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003133 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003134 <span class="entry_type_container">x</span>
3135
3136 <span class="entry_type_array">
3137 5 x area_count
3138 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003139 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003140
3141
3142 </td> <!-- entry_type -->
3143
3144 <td class="entry_description">
3145 List of areas to use for illuminant
3146 estimation
3147 </td>
3148
3149 <td class="entry_units">
3150 </td>
3151
3152 <td class="entry_range">
3153 </td>
3154
3155 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003156 Only used in AUTO mode.<wbr>
3157<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07003158<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3159 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3160 specified coordinates.<wbr>
3161<br>
3162<br> The coordinate system is based on the active pixel array,<wbr>
3163 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3164 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3165 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3166 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003167 should be nonnegative.<wbr>
3168<br>
3169<br> If all regions have 0 weight,<wbr> then no specific metering area
3170 needs to be used by the HAL.<wbr> If the metering region is
3171 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3172 should ignore the sections outside the region and output the
3173 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003174 </td>
3175
3176 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003177 <ul class="entry_tags">
3178 <li><a href="#tag_BC">BC</a></li>
3179 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003180 </td>
3181
3182 </tr> <!-- end of entry -->
3183
3184
3185 <tr class="entry" id="dynamic_android.control.awbState">
3186 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3187 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003188 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003189
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003190 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003191
3192 <ul class="entry_type_enum">
3193 <li>
3194 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003195 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3196 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003197 </li>
3198 <li>
3199 <span class="entry_type_enum_name">SEARCHING</span>
3200 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3201 values for the current scene</span>
3202 </li>
3203 <li>
3204 <span class="entry_type_enum_name">CONVERGED</span>
3205 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3206 current scene</span>
3207 </li>
3208 <li>
3209 <span class="entry_type_enum_name">LOCKED</span>
3210 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3211 LOCKED)</span>
3212 </li>
3213 </ul>
3214
3215 </td> <!-- entry_type -->
3216
3217 <td class="entry_description">
3218 Current state of AWB algorithm
3219 </td>
3220
3221 <td class="entry_units">
3222 </td>
3223
3224 <td class="entry_range">
3225 </td>
3226
3227 <td class="entry_notes">
3228 Whenever the AWB algorithm state changes,<wbr> a
3229 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3230 notification callback is registered.<wbr>
3231 </td>
3232
3233 <td class="entry_tags">
3234 </td>
3235
3236 </tr> <!-- end of entry -->
3237
3238
3239 <tr class="entry" id="dynamic_android.control.mode">
3240 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003242 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003244 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003245
3246 <ul class="entry_type_enum">
3247 <li>
3248 <span class="entry_type_enum_name">OFF</span>
3249 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3250 routines are disabled,<wbr> no other settings in
3251 android.<wbr>control.<wbr>* have any effect</span>
3252 </li>
3253 <li>
3254 <span class="entry_type_enum_name">AUTO</span>
3255 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3256 Manual control of capture parameters is disabled.<wbr> All
3257 controls in android.<wbr>control.<wbr>* besides sceneMode take
3258 effect</span>
3259 </li>
3260 <li>
3261 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3262 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3263 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3264 controls; the HAL must ignore those settings while
3265 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3266 scene mode).<wbr> Other control entries are still active.<wbr>
3267 This setting can only be used if availableSceneModes !=
3268 UNSUPPORTED</span>
3269 </li>
3270 </ul>
3271
3272 </td> <!-- entry_type -->
3273
3274 <td class="entry_description">
3275 Overall mode of 3A control
3276 routines
3277 </td>
3278
3279 <td class="entry_units">
3280 </td>
3281
3282 <td class="entry_range">
3283 all must be supported
3284 </td>
3285
3286 <td class="entry_notes">
3287 </td>
3288
3289 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003290 <ul class="entry_tags">
3291 <li><a href="#tag_BC">BC</a></li>
3292 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003293 </td>
3294
3295 </tr> <!-- end of entry -->
3296
3297
3298
3299 <!-- end of kind -->
3300 </tbody>
3301
3302 <!-- end of section -->
3303 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3304
3305
3306 <tr><td colspan="7" class="kind">controls</td></tr>
3307
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003308 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003309 <tr>
3310 <th class="th_name">Property Name</th>
3311 <th class="th_type">Type</th>
3312 <th class="th_description">Description</th>
3313 <th class="th_units">Units</th>
3314 <th class="th_range">Range</th>
3315 <th class="th_notes">Notes</th>
3316 <th class="th_tags">Tags</th>
3317 </tr>
3318 </thead>
3319
3320 <tbody>
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331 <tr class="entry" id="controls_android.demosaic.mode">
3332 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3333 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003334 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003335
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003336 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003337
3338 <ul class="entry_type_enum">
3339 <li>
3340 <span class="entry_type_enum_name">FAST</span>
3341 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3342 Bayer RAW output</span>
3343 </li>
3344 <li>
3345 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3346 <span class="entry_type_enum_notes">High-quality may reduce output frame
3347 rate</span>
3348 </li>
3349 </ul>
3350
3351 </td> <!-- entry_type -->
3352
3353 <td class="entry_description">
3354 Controls the quality of the demosaicing
3355 processing
3356 </td>
3357
3358 <td class="entry_units">
3359 </td>
3360
3361 <td class="entry_range">
3362 </td>
3363
3364 <td class="entry_notes">
3365 </td>
3366
3367 <td class="entry_tags">
3368 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003369 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003370 </ul>
3371 </td>
3372
3373 </tr> <!-- end of entry -->
3374
3375
3376
3377 <!-- end of kind -->
3378 </tbody>
3379
3380 <!-- end of section -->
3381 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3382
3383
3384 <tr><td colspan="7" class="kind">controls</td></tr>
3385
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003386 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003387 <tr>
3388 <th class="th_name">Property Name</th>
3389 <th class="th_type">Type</th>
3390 <th class="th_description">Description</th>
3391 <th class="th_units">Units</th>
3392 <th class="th_range">Range</th>
3393 <th class="th_notes">Notes</th>
3394 <th class="th_tags">Tags</th>
3395 </tr>
3396 </thead>
3397
3398 <tbody>
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409 <tr class="entry" id="controls_android.edge.mode">
3410 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3411 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003412 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003413
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003414 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003415
3416 <ul class="entry_type_enum">
3417 <li>
3418 <span class="entry_type_enum_name">OFF</span>
3419 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3420 </li>
3421 <li>
3422 <span class="entry_type_enum_name">FAST</span>
3423 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3424 bayer output</span>
3425 </li>
3426 <li>
3427 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3428 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3429 quality</span>
3430 </li>
3431 </ul>
3432
3433 </td> <!-- entry_type -->
3434
3435 <td class="entry_description">
3436 Operation mode for edge
3437 enhancement
3438 </td>
3439
3440 <td class="entry_units">
3441 </td>
3442
3443 <td class="entry_range">
3444 </td>
3445
3446 <td class="entry_notes">
3447 </td>
3448
3449 <td class="entry_tags">
3450 </td>
3451
3452 </tr> <!-- end of entry -->
3453
3454
3455 <tr class="entry" id="controls_android.edge.strength">
3456 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003458 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003459
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003460 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003461
3462
3463 </td> <!-- entry_type -->
3464
3465 <td class="entry_description">
3466 Control the amount of edge enhancement
3467 applied to the images
3468 </td>
3469
3470 <td class="entry_units">
3471 1-10; 10 is maximum sharpening
3472 </td>
3473
3474 <td class="entry_range">
3475 </td>
3476
3477 <td class="entry_notes">
3478 </td>
3479
3480 <td class="entry_tags">
3481 </td>
3482
3483 </tr> <!-- end of entry -->
3484
3485
3486
3487 <!-- end of kind -->
3488 </tbody>
3489 <tr><td colspan="7" class="kind">dynamic</td></tr>
3490
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003491 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003492 <tr>
3493 <th class="th_name">Property Name</th>
3494 <th class="th_type">Type</th>
3495 <th class="th_description">Description</th>
3496 <th class="th_units">Units</th>
3497 <th class="th_range">Range</th>
3498 <th class="th_notes">Notes</th>
3499 <th class="th_tags">Tags</th>
3500 </tr>
3501 </thead>
3502
3503 <tbody>
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514 <tr class="entry" id="dynamic_android.edge.mode">
3515 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3516 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003517 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003518
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003519 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003520
3521 <ul class="entry_type_enum">
3522 <li>
3523 <span class="entry_type_enum_name">OFF</span>
3524 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3525 </li>
3526 <li>
3527 <span class="entry_type_enum_name">FAST</span>
3528 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3529 bayer output</span>
3530 </li>
3531 <li>
3532 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3533 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3534 quality</span>
3535 </li>
3536 </ul>
3537
3538 </td> <!-- entry_type -->
3539
3540 <td class="entry_description">
3541 Operation mode for edge
3542 enhancement
3543 </td>
3544
3545 <td class="entry_units">
3546 </td>
3547
3548 <td class="entry_range">
3549 </td>
3550
3551 <td class="entry_notes">
3552 </td>
3553
3554 <td class="entry_tags">
3555 </td>
3556
3557 </tr> <!-- end of entry -->
3558
3559
3560
3561 <!-- end of kind -->
3562 </tbody>
3563
3564 <!-- end of section -->
3565 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3566
3567
3568 <tr><td colspan="7" class="kind">controls</td></tr>
3569
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003570 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003571 <tr>
3572 <th class="th_name">Property Name</th>
3573 <th class="th_type">Type</th>
3574 <th class="th_description">Description</th>
3575 <th class="th_units">Units</th>
3576 <th class="th_range">Range</th>
3577 <th class="th_notes">Notes</th>
3578 <th class="th_tags">Tags</th>
3579 </tr>
3580 </thead>
3581
3582 <tbody>
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593 <tr class="entry" id="controls_android.flash.firingPower">
3594 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3595 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003596 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003597
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003598 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003599
3600
3601 </td> <!-- entry_type -->
3602
3603 <td class="entry_description">
3604 Power for flash firing/<wbr>torch
3605 </td>
3606
3607 <td class="entry_units">
3608 10 is max power; 0 is no flash.<wbr> Linear
3609 </td>
3610
3611 <td class="entry_range">
3612 0 - 10
3613 </td>
3614
3615 <td class="entry_notes">
3616 Power for snapshot may use a different scale than
3617 for torch mode.<wbr> Only one entry for torch mode will be
3618 used
3619 </td>
3620
3621 <td class="entry_tags">
3622 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003623 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003624 </ul>
3625 </td>
3626
3627 </tr> <!-- end of entry -->
3628
3629
3630 <tr class="entry" id="controls_android.flash.firingTime">
3631 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3632 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003633 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003634
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003635 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003636
3637
3638 </td> <!-- entry_type -->
3639
3640 <td class="entry_description">
3641 Firing time of flash relative to start of
3642 exposure
3643 </td>
3644
3645 <td class="entry_units">
3646 nanoseconds
3647 </td>
3648
3649 <td class="entry_range">
3650 0-(exposure time-flash duration)
3651 </td>
3652
3653 <td class="entry_notes">
3654 Clamped to (0,<wbr> exposure time - flash
3655 duration).<wbr>
3656 </td>
3657
3658 <td class="entry_tags">
3659 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003660 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003661 </ul>
3662 </td>
3663
3664 </tr> <!-- end of entry -->
3665
3666
3667 <tr class="entry" id="controls_android.flash.mode">
3668 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003670 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003671
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003672 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003673
3674 <ul class="entry_type_enum">
3675 <li>
3676 <span class="entry_type_enum_name">OFF</span>
3677 <span class="entry_type_enum_notes">Do not fire the flash for this
3678 capture</span>
3679 </li>
3680 <li>
3681 <span class="entry_type_enum_name">SINGLE</span>
3682 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3683 for this capture based on firingPower,<wbr>
3684 firingTime.<wbr></span>
3685 </li>
3686 <li>
3687 <span class="entry_type_enum_name">TORCH</span>
3688 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3689 continuously on,<wbr> power set by
3690 firingPower</span>
3691 </li>
3692 </ul>
3693
3694 </td> <!-- entry_type -->
3695
3696 <td class="entry_description">
3697 Select flash operation mode
3698 </td>
3699
3700 <td class="entry_units">
3701 </td>
3702
3703 <td class="entry_range">
3704 </td>
3705
3706 <td class="entry_notes">
3707 </td>
3708
3709 <td class="entry_tags">
3710 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003711 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003712 </ul>
3713 </td>
3714
3715 </tr> <!-- end of entry -->
3716
3717
3718
3719 <!-- end of kind -->
3720 </tbody>
3721 <tr><td colspan="7" class="kind">static</td></tr>
3722
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003723 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003724 <tr>
3725 <th class="th_name">Property Name</th>
3726 <th class="th_type">Type</th>
3727 <th class="th_description">Description</th>
3728 <th class="th_units">Units</th>
3729 <th class="th_range">Range</th>
3730 <th class="th_notes">Notes</th>
3731 <th class="th_tags">Tags</th>
3732 </tr>
3733 </thead>
3734
3735 <tbody>
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748 <tr class="entry" id="static_android.flash.info.available">
3749 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003751 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003752
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003753 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003754
3755
3756 </td> <!-- entry_type -->
3757
3758 <td class="entry_description">
3759 Whether this camera has a
3760 flash
3761 </td>
3762
3763 <td class="entry_units">
3764 boolean (0 = false,<wbr> otherwise true)
3765 </td>
3766
3767 <td class="entry_range">
3768 </td>
3769
3770 <td class="entry_notes">
3771 If no flash,<wbr> none of the flash controls do
3772 anything.<wbr> All other metadata should return 0
3773 </td>
3774
3775 <td class="entry_tags">
3776 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003777 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003778 </ul>
3779 </td>
3780
3781 </tr> <!-- end of entry -->
3782
3783
3784 <tr class="entry" id="static_android.flash.info.chargeDuration">
3785 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003787 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003788
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003789 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003790
3791
3792 </td> <!-- entry_type -->
3793
3794 <td class="entry_description">
3795 Time taken before flash can fire
3796 again
3797 </td>
3798
3799 <td class="entry_units">
3800 nanoseconds
3801 </td>
3802
3803 <td class="entry_range">
3804 0-1e9
3805 </td>
3806
3807 <td class="entry_notes">
3808 1 second too long/<wbr>too short for recharge? Should
3809 this be power-dependent?
3810 </td>
3811
3812 <td class="entry_tags">
3813 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003814 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003815 </ul>
3816 </td>
3817
3818 </tr> <!-- end of entry -->
3819
3820
3821
3822
3823
3824 <tr class="entry" id="static_android.flash.colorTemperature">
3825 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3826 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003827 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003828
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003829 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003830
3831
3832 </td> <!-- entry_type -->
3833
3834 <td class="entry_description">
3835 The x,<wbr>y whitepoint of the
3836 flash
3837 </td>
3838
3839 <td class="entry_units">
3840 pair of floats
3841 </td>
3842
3843 <td class="entry_range">
3844 0-1 for both
3845 </td>
3846
3847 <td class="entry_notes">
3848 </td>
3849
3850 <td class="entry_tags">
3851 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003852 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003853 </ul>
3854 </td>
3855
3856 </tr> <!-- end of entry -->
3857
3858
3859 <tr class="entry" id="static_android.flash.maxEnergy">
3860 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3861 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003862 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003863
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003864 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003865
3866
3867 </td> <!-- entry_type -->
3868
3869 <td class="entry_description">
3870 Max energy output of the flash for a full
3871 power single flash
3872 </td>
3873
3874 <td class="entry_units">
3875 lumen-seconds
3876 </td>
3877
3878 <td class="entry_range">
3879 >= 0
3880 </td>
3881
3882 <td class="entry_notes">
3883 </td>
3884
3885 <td class="entry_tags">
3886 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003887 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003888 </ul>
3889 </td>
3890
3891 </tr> <!-- end of entry -->
3892
3893
3894
3895 <!-- end of kind -->
3896 </tbody>
3897 <tr><td colspan="7" class="kind">dynamic</td></tr>
3898
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003899 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003900 <tr>
3901 <th class="th_name">Property Name</th>
3902 <th class="th_type">Type</th>
3903 <th class="th_description">Description</th>
3904 <th class="th_units">Units</th>
3905 <th class="th_range">Range</th>
3906 <th class="th_notes">Notes</th>
3907 <th class="th_tags">Tags</th>
3908 </tr>
3909 </thead>
3910
3911 <tbody>
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922 <tr class="entry" id="dynamic_android.flash.firingPower">
3923 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3924 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003925 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003926
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003927 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003928
3929
3930 </td> <!-- entry_type -->
3931
3932 <td class="entry_description">
3933 Power for flash firing/<wbr>torch
3934 </td>
3935
3936 <td class="entry_units">
3937 10 is max power; 0 is no flash.<wbr> Linear
3938 </td>
3939
3940 <td class="entry_range">
3941 0 - 10
3942 </td>
3943
3944 <td class="entry_notes">
3945 Power for snapshot may use a different scale than
3946 for torch mode.<wbr> Only one entry for torch mode will be
3947 used
3948 </td>
3949
3950 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003951 <ul class="entry_tags">
3952 <li><a href="#tag_V1">V1</a></li>
3953 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003954 </td>
3955
3956 </tr> <!-- end of entry -->
3957
3958
3959 <tr class="entry" id="dynamic_android.flash.firingTime">
3960 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003962 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003963
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003964 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003965
3966
3967 </td> <!-- entry_type -->
3968
3969 <td class="entry_description">
3970 Firing time of flash relative to start of
3971 exposure
3972 </td>
3973
3974 <td class="entry_units">
3975 nanoseconds
3976 </td>
3977
3978 <td class="entry_range">
3979 0-(exposure time-flash duration)
3980 </td>
3981
3982 <td class="entry_notes">
3983 Clamped to (0,<wbr> exposure time - flash
3984 duration).<wbr>
3985 </td>
3986
3987 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003988 <ul class="entry_tags">
3989 <li><a href="#tag_V1">V1</a></li>
3990 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003991 </td>
3992
3993 </tr> <!-- end of entry -->
3994
3995
3996 <tr class="entry" id="dynamic_android.flash.mode">
3997 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003999 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004002
4003 <ul class="entry_type_enum">
4004 <li>
4005 <span class="entry_type_enum_name">OFF</span>
4006 <span class="entry_type_enum_notes">Do not fire the flash for this
4007 capture</span>
4008 </li>
4009 <li>
4010 <span class="entry_type_enum_name">SINGLE</span>
4011 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
4012 for this capture based on firingPower,<wbr>
4013 firingTime.<wbr></span>
4014 </li>
4015 <li>
4016 <span class="entry_type_enum_name">TORCH</span>
4017 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
4018 continuously on,<wbr> power set by
4019 firingPower</span>
4020 </li>
4021 </ul>
4022
4023 </td> <!-- entry_type -->
4024
4025 <td class="entry_description">
4026 Select flash operation mode
4027 </td>
4028
4029 <td class="entry_units">
4030 </td>
4031
4032 <td class="entry_range">
4033 </td>
4034
4035 <td class="entry_notes">
4036 </td>
4037
4038 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004039 <ul class="entry_tags">
4040 <li><a href="#tag_BC">BC</a></li>
4041 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004042 </td>
4043
4044 </tr> <!-- end of entry -->
4045
4046
4047 <tr class="entry" id="dynamic_android.flash.state">
4048 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4049 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004050 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004051
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004052 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004053
4054 <ul class="entry_type_enum">
4055 <li>
4056 <span class="entry_type_enum_name">UNAVAILABLE</span>
4057 <span class="entry_type_enum_notes">No flash on camera</span>
4058 </li>
4059 <li>
4060 <span class="entry_type_enum_name">CHARGING</span>
4061 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4062 charging and cannot be fired</span>
4063 </li>
4064 <li>
4065 <span class="entry_type_enum_name">READY</span>
4066 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4067 ready to fire</span>
4068 </li>
4069 <li>
4070 <span class="entry_type_enum_name">FIRED</span>
4071 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4072 for this capture</span>
4073 </li>
4074 </ul>
4075
4076 </td> <!-- entry_type -->
4077
4078 <td class="entry_description">
4079 Current state of the flash
4080 unit
4081 </td>
4082
4083 <td class="entry_units">
4084 </td>
4085
4086 <td class="entry_range">
4087 </td>
4088
4089 <td class="entry_notes">
4090 </td>
4091
4092 <td class="entry_tags">
4093 </td>
4094
4095 </tr> <!-- end of entry -->
4096
4097
4098
4099 <!-- end of kind -->
4100 </tbody>
4101
4102 <!-- end of section -->
4103 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4104
4105
4106 <tr><td colspan="7" class="kind">controls</td></tr>
4107
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004108 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004109 <tr>
4110 <th class="th_name">Property Name</th>
4111 <th class="th_type">Type</th>
4112 <th class="th_description">Description</th>
4113 <th class="th_units">Units</th>
4114 <th class="th_range">Range</th>
4115 <th class="th_notes">Notes</th>
4116 <th class="th_tags">Tags</th>
4117 </tr>
4118 </thead>
4119
4120 <tbody>
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131 <tr class="entry" id="controls_android.geometric.mode">
4132 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4133 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004134 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004135
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004136 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004137
4138 <ul class="entry_type_enum">
4139 <li>
4140 <span class="entry_type_enum_name">OFF</span>
4141 <span class="entry_type_enum_notes">No geometric correction is
4142 applied</span>
4143 </li>
4144 <li>
4145 <span class="entry_type_enum_name">FAST</span>
4146 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4147 bayer output</span>
4148 </li>
4149 <li>
4150 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4151 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4152 quality</span>
4153 </li>
4154 </ul>
4155
4156 </td> <!-- entry_type -->
4157
4158 <td class="entry_description">
4159 Operating mode of geometric
4160 correction
4161 </td>
4162
4163 <td class="entry_units">
4164 </td>
4165
4166 <td class="entry_range">
4167 </td>
4168
4169 <td class="entry_notes">
4170 </td>
4171
4172 <td class="entry_tags">
4173 </td>
4174
4175 </tr> <!-- end of entry -->
4176
4177
4178 <tr class="entry" id="controls_android.geometric.strength">
4179 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004181 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004182
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004183 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004184
4185
4186 </td> <!-- entry_type -->
4187
4188 <td class="entry_description">
4189 Control the amount of shading correction
4190 applied to the images
4191 </td>
4192
4193 <td class="entry_units">
4194 unitless: 1-10; 10 is full shading
4195 compensation
4196 </td>
4197
4198 <td class="entry_range">
4199 </td>
4200
4201 <td class="entry_notes">
4202 </td>
4203
4204 <td class="entry_tags">
4205 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004206 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004207 </ul>
4208 </td>
4209
4210 </tr> <!-- end of entry -->
4211
4212
4213
4214 <!-- end of kind -->
4215 </tbody>
4216
4217 <!-- end of section -->
4218 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4219
4220
4221 <tr><td colspan="7" class="kind">controls</td></tr>
4222
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004223 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004224 <tr>
4225 <th class="th_name">Property Name</th>
4226 <th class="th_type">Type</th>
4227 <th class="th_description">Description</th>
4228 <th class="th_units">Units</th>
4229 <th class="th_range">Range</th>
4230 <th class="th_notes">Notes</th>
4231 <th class="th_tags">Tags</th>
4232 </tr>
4233 </thead>
4234
4235 <tbody>
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246 <tr class="entry" id="controls_android.hotPixel.mode">
4247 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4248 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004249 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004250
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004251 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004252
4253 <ul class="entry_type_enum">
4254 <li>
4255 <span class="entry_type_enum_name">OFF</span>
4256 <span class="entry_type_enum_notes">No hot pixel correction can be
4257 applied</span>
4258 </li>
4259 <li>
4260 <span class="entry_type_enum_name">FAST</span>
4261 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4262 Bayer output</span>
4263 </li>
4264 <li>
4265 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4266 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4267 quality</span>
4268 </li>
4269 </ul>
4270
4271 </td> <!-- entry_type -->
4272
4273 <td class="entry_description">
4274 Set operational mode for hot pixel
4275 correction
4276 </td>
4277
4278 <td class="entry_units">
4279 </td>
4280
4281 <td class="entry_range">
4282 </td>
4283
4284 <td class="entry_notes">
4285 </td>
4286
4287 <td class="entry_tags">
4288 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004289 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004290 </ul>
4291 </td>
4292
4293 </tr> <!-- end of entry -->
4294
4295
4296
4297 <!-- end of kind -->
4298 </tbody>
4299 <tr><td colspan="7" class="kind">static</td></tr>
4300
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004301 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004302 <tr>
4303 <th class="th_name">Property Name</th>
4304 <th class="th_type">Type</th>
4305 <th class="th_description">Description</th>
4306 <th class="th_units">Units</th>
4307 <th class="th_range">Range</th>
4308 <th class="th_notes">Notes</th>
4309 <th class="th_tags">Tags</th>
4310 </tr>
4311 </thead>
4312
4313 <tbody>
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326 <tr class="entry" id="static_android.hotPixel.info.map">
4327 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4328 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004329 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004330 <span class="entry_type_container">x</span>
4331
4332 <span class="entry_type_array">
4333 2 x n
4334 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004335 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004336 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4337
4338
4339 </td> <!-- entry_type -->
4340
4341 <td class="entry_description">
4342 Location of hot/<wbr>defective pixels on
4343 sensor
4344 </td>
4345
4346 <td class="entry_units">
4347 </td>
4348
4349 <td class="entry_range">
4350 </td>
4351
4352 <td class="entry_notes">
4353 </td>
4354
4355 <td class="entry_tags">
4356 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004357 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004358 </ul>
4359 </td>
4360
4361 </tr> <!-- end of entry -->
4362
4363
4364
4365
4366
4367
4368 <!-- end of kind -->
4369 </tbody>
4370 <tr><td colspan="7" class="kind">dynamic</td></tr>
4371
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004372 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004373 <tr>
4374 <th class="th_name">Property Name</th>
4375 <th class="th_type">Type</th>
4376 <th class="th_description">Description</th>
4377 <th class="th_units">Units</th>
4378 <th class="th_range">Range</th>
4379 <th class="th_notes">Notes</th>
4380 <th class="th_tags">Tags</th>
4381 </tr>
4382 </thead>
4383
4384 <tbody>
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395 <tr class="entry" id="dynamic_android.hotPixel.mode">
4396 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4397 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004398 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004399
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004400 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004401
4402 <ul class="entry_type_enum">
4403 <li>
4404 <span class="entry_type_enum_name">OFF</span>
4405 <span class="entry_type_enum_notes">No hot pixel correction can be
4406 applied</span>
4407 </li>
4408 <li>
4409 <span class="entry_type_enum_name">FAST</span>
4410 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4411 Bayer output</span>
4412 </li>
4413 <li>
4414 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4415 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4416 quality</span>
4417 </li>
4418 </ul>
4419
4420 </td> <!-- entry_type -->
4421
4422 <td class="entry_description">
4423 Set operational mode for hot pixel
4424 correction
4425 </td>
4426
4427 <td class="entry_units">
4428 </td>
4429
4430 <td class="entry_range">
4431 </td>
4432
4433 <td class="entry_notes">
4434 </td>
4435
4436 <td class="entry_tags">
4437 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004438 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004439 </ul>
4440 </td>
4441
4442 </tr> <!-- end of entry -->
4443
4444
4445
4446 <!-- end of kind -->
4447 </tbody>
4448
4449 <!-- end of section -->
4450 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4451
4452
4453 <tr><td colspan="7" class="kind">controls</td></tr>
4454
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004455 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004456 <tr>
4457 <th class="th_name">Property Name</th>
4458 <th class="th_type">Type</th>
4459 <th class="th_description">Description</th>
4460 <th class="th_units">Units</th>
4461 <th class="th_range">Range</th>
4462 <th class="th_notes">Notes</th>
4463 <th class="th_tags">Tags</th>
4464 </tr>
4465 </thead>
4466
4467 <tbody>
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4479 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4480 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004481 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004482 <span class="entry_type_container">x</span>
4483
4484 <span class="entry_type_array">
4485 3
4486 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004487 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004488 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4489
4490
4491 </td> <!-- entry_type -->
4492
4493 <td class="entry_description">
4494 GPS coordinates to include in output JPEG
4495 EXIF
4496 </td>
4497
4498 <td class="entry_units">
4499 </td>
4500
4501 <td class="entry_range">
4502 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4503 </td>
4504
4505 <td class="entry_notes">
4506 </td>
4507
4508 <td class="entry_tags">
4509 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004510 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004511 </ul>
4512 </td>
4513
4514 </tr> <!-- end of entry -->
4515
4516
4517 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4518 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004520 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004521
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004522 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004523
4524
4525 </td> <!-- entry_type -->
4526
4527 <td class="entry_description">
4528 32 characters describing GPS algorithm to
4529 include in EXIF
4530 </td>
4531
4532 <td class="entry_units">
4533 UTF-8 null-terminated string
4534 </td>
4535
4536 <td class="entry_range">
4537 </td>
4538
4539 <td class="entry_notes">
4540 </td>
4541
4542 <td class="entry_tags">
4543 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004544 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004545 </ul>
4546 </td>
4547
4548 </tr> <!-- end of entry -->
4549
4550
4551 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4552 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4553 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004554 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004555
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004556 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004557
4558
4559 </td> <!-- entry_type -->
4560
4561 <td class="entry_description">
4562 Time GPS fix was made to include in
4563 EXIF
4564 </td>
4565
4566 <td class="entry_units">
4567 UTC in seconds since January 1,<wbr> 1970
4568 </td>
4569
4570 <td class="entry_range">
4571 </td>
4572
4573 <td class="entry_notes">
4574 </td>
4575
4576 <td class="entry_tags">
4577 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004578 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004579 </ul>
4580 </td>
4581
4582 </tr> <!-- end of entry -->
4583
4584
4585 <tr class="entry" id="controls_android.jpeg.orientation">
4586 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4587 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004588 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004589
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004590 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004591
4592
4593 </td> <!-- entry_type -->
4594
4595 <td class="entry_description">
4596 Orientation of JPEG image to
4597 write
4598 </td>
4599
4600 <td class="entry_units">
4601 Degrees in multiples of 90
4602 </td>
4603
4604 <td class="entry_range">
4605 0,<wbr> 90,<wbr> 180,<wbr> 270
4606 </td>
4607
4608 <td class="entry_notes">
4609 </td>
4610
4611 <td class="entry_tags">
4612 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004613 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004614 </ul>
4615 </td>
4616
4617 </tr> <!-- end of entry -->
4618
4619
4620 <tr class="entry" id="controls_android.jpeg.quality">
4621 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4622 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004623 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004624
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004625 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004626
4627
4628 </td> <!-- entry_type -->
4629
4630 <td class="entry_description">
4631 Compression quality of the final JPEG
4632 image
4633 </td>
4634
4635 <td class="entry_units">
4636 </td>
4637
4638 <td class="entry_range">
4639 1-100; larger is higher quality
4640 </td>
4641
4642 <td class="entry_notes">
4643 85-95 is typical usage range
4644 </td>
4645
4646 <td class="entry_tags">
4647 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004648 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004649 </ul>
4650 </td>
4651
4652 </tr> <!-- end of entry -->
4653
4654
4655 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4656 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4657 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004658 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004659
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004660 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004661
4662
4663 </td> <!-- entry_type -->
4664
4665 <td class="entry_description">
4666 Compression quality of JPEG
4667 thumbnail
4668 </td>
4669
4670 <td class="entry_units">
4671 </td>
4672
4673 <td class="entry_range">
4674 1-100; larger is higher quality
4675 </td>
4676
4677 <td class="entry_notes">
4678 </td>
4679
4680 <td class="entry_tags">
4681 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004682 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004683 </ul>
4684 </td>
4685
4686 </tr> <!-- end of entry -->
4687
4688
4689 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4690 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004692 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004693 <span class="entry_type_container">x</span>
4694
4695 <span class="entry_type_array">
4696 2
4697 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004698 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004699
4700
4701 </td> <!-- entry_type -->
4702
4703 <td class="entry_description">
4704 Resolution of embedded JPEG
4705 thumbnail
4706 </td>
4707
4708 <td class="entry_units">
4709 </td>
4710
4711 <td class="entry_range">
4712 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4713 </td>
4714
4715 <td class="entry_notes">
4716 </td>
4717
4718 <td class="entry_tags">
4719 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004720 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004721 </ul>
4722 </td>
4723
4724 </tr> <!-- end of entry -->
4725
4726
4727
4728 <!-- end of kind -->
4729 </tbody>
4730 <tr><td colspan="7" class="kind">static</td></tr>
4731
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004732 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004733 <tr>
4734 <th class="th_name">Property Name</th>
4735 <th class="th_type">Type</th>
4736 <th class="th_description">Description</th>
4737 <th class="th_units">Units</th>
4738 <th class="th_range">Range</th>
4739 <th class="th_notes">Notes</th>
4740 <th class="th_tags">Tags</th>
4741 </tr>
4742 </thead>
4743
4744 <tbody>
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4756 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004758 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004759 <span class="entry_type_container">x</span>
4760
4761 <span class="entry_type_array">
4762 2 x n
4763 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004764 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765 <div class="entry_type_notes">list of resolution pairs</div>
4766
4767
4768 </td> <!-- entry_type -->
4769
4770 <td class="entry_description">
4771 Supported resolutions for the JPEG
4772 thumbnail
4773 </td>
4774
4775 <td class="entry_units">
4776 </td>
4777
4778 <td class="entry_range">
4779 Must include at least one valid resolution,<wbr> plus
4780 (0,<wbr>0) for no thumbnail generation
4781 </td>
4782
4783 <td class="entry_notes">
4784 </td>
4785
4786 <td class="entry_tags">
4787 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004788 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004789 </ul>
4790 </td>
4791
4792 </tr> <!-- end of entry -->
4793
4794
4795 <tr class="entry" id="static_android.jpeg.maxSize">
4796 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4797 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004798 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004799
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004800 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004801
4802
4803 </td> <!-- entry_type -->
4804
4805 <td class="entry_description">
4806 Maximum size in bytes for the compressed
4807 JPEG buffer
4808 </td>
4809
4810 <td class="entry_units">
4811 </td>
4812
4813 <td class="entry_range">
4814 Must be large enough to fit any JPEG produced by
4815 the camera
4816 </td>
4817
4818 <td class="entry_notes">
4819 This is used for sizing the gralloc buffers for
4820 JPEG
4821 </td>
4822
4823 <td class="entry_tags">
4824 </td>
4825
4826 </tr> <!-- end of entry -->
4827
4828
4829
4830 <!-- end of kind -->
4831 </tbody>
4832 <tr><td colspan="7" class="kind">dynamic</td></tr>
4833
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004834 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004835 <tr>
4836 <th class="th_name">Property Name</th>
4837 <th class="th_type">Type</th>
4838 <th class="th_description">Description</th>
4839 <th class="th_units">Units</th>
4840 <th class="th_range">Range</th>
4841 <th class="th_notes">Notes</th>
4842 <th class="th_tags">Tags</th>
4843 </tr>
4844 </thead>
4845
4846 <tbody>
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4858 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4859 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004860 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004861 <span class="entry_type_container">x</span>
4862
4863 <span class="entry_type_array">
4864 3
4865 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004866 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004867 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4868
4869
4870 </td> <!-- entry_type -->
4871
4872 <td class="entry_description">
4873 GPS coordinates to include in output JPEG
4874 EXIF
4875 </td>
4876
4877 <td class="entry_units">
4878 </td>
4879
4880 <td class="entry_range">
4881 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4882 </td>
4883
4884 <td class="entry_notes">
4885 </td>
4886
4887 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004888 <ul class="entry_tags">
4889 <li><a href="#tag_BC">BC</a></li>
4890 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004891 </td>
4892
4893 </tr> <!-- end of entry -->
4894
4895
4896 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4897 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004899 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004900
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004901 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004902
4903
4904 </td> <!-- entry_type -->
4905
4906 <td class="entry_description">
4907 32 characters describing GPS algorithm to
4908 include in EXIF
4909 </td>
4910
4911 <td class="entry_units">
4912 UTF-8 null-terminated string
4913 </td>
4914
4915 <td class="entry_range">
4916 </td>
4917
4918 <td class="entry_notes">
4919 </td>
4920
4921 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004922 <ul class="entry_tags">
4923 <li><a href="#tag_BC">BC</a></li>
4924 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004925 </td>
4926
4927 </tr> <!-- end of entry -->
4928
4929
4930 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4931 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4932 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004933 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004935 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004936
4937
4938 </td> <!-- entry_type -->
4939
4940 <td class="entry_description">
4941 Time GPS fix was made to include in
4942 EXIF
4943 </td>
4944
4945 <td class="entry_units">
4946 UTC in seconds since January 1,<wbr> 1970
4947 </td>
4948
4949 <td class="entry_range">
4950 </td>
4951
4952 <td class="entry_notes">
4953 </td>
4954
4955 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004956 <ul class="entry_tags">
4957 <li><a href="#tag_BC">BC</a></li>
4958 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004959 </td>
4960
4961 </tr> <!-- end of entry -->
4962
4963
4964 <tr class="entry" id="dynamic_android.jpeg.orientation">
4965 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4966 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004967 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004968
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004969 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004970
4971
4972 </td> <!-- entry_type -->
4973
4974 <td class="entry_description">
4975 Orientation of JPEG image to
4976 write
4977 </td>
4978
4979 <td class="entry_units">
4980 Degrees in multiples of 90
4981 </td>
4982
4983 <td class="entry_range">
4984 0,<wbr> 90,<wbr> 180,<wbr> 270
4985 </td>
4986
4987 <td class="entry_notes">
4988 </td>
4989
4990 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004991 <ul class="entry_tags">
4992 <li><a href="#tag_BC">BC</a></li>
4993 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004994 </td>
4995
4996 </tr> <!-- end of entry -->
4997
4998
4999 <tr class="entry" id="dynamic_android.jpeg.quality">
5000 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
5001 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005002 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005003
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005004 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005005
5006
5007 </td> <!-- entry_type -->
5008
5009 <td class="entry_description">
5010 Compression quality of the final JPEG
5011 image
5012 </td>
5013
5014 <td class="entry_units">
5015 </td>
5016
5017 <td class="entry_range">
5018 1-100; larger is higher quality
5019 </td>
5020
5021 <td class="entry_notes">
5022 85-95 is typical usage range
5023 </td>
5024
5025 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005026 <ul class="entry_tags">
5027 <li><a href="#tag_BC">BC</a></li>
5028 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005029 </td>
5030
5031 </tr> <!-- end of entry -->
5032
5033
5034 <tr class="entry" id="dynamic_android.jpeg.size">
5035 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005037 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005038
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005039 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005040
5041
5042 </td> <!-- entry_type -->
5043
5044 <td class="entry_description">
5045 The size of the compressed JPEG image,<wbr> in
5046 bytes
5047 </td>
5048
5049 <td class="entry_units">
5050 </td>
5051
5052 <td class="entry_range">
5053 >= 0
5054 </td>
5055
5056 <td class="entry_notes">
5057 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005058 this must be 0.<wbr>
5059<br>
5060<br> Otherwise,<wbr> this describes the real size of the compressed
5061 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5062 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5063 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5064 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5065 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005066 </td>
5067
5068 <td class="entry_tags">
5069 </td>
5070
5071 </tr> <!-- end of entry -->
5072
5073
5074 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5075 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5076 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005077 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005078
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005079 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080
5081
5082 </td> <!-- entry_type -->
5083
5084 <td class="entry_description">
5085 Compression quality of JPEG
5086 thumbnail
5087 </td>
5088
5089 <td class="entry_units">
5090 </td>
5091
5092 <td class="entry_range">
5093 1-100; larger is higher quality
5094 </td>
5095
5096 <td class="entry_notes">
5097 </td>
5098
5099 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005100 <ul class="entry_tags">
5101 <li><a href="#tag_BC">BC</a></li>
5102 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005103 </td>
5104
5105 </tr> <!-- end of entry -->
5106
5107
5108 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5109 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5110 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005111 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005112 <span class="entry_type_container">x</span>
5113
5114 <span class="entry_type_array">
5115 2
5116 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005117 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005118
5119
5120 </td> <!-- entry_type -->
5121
5122 <td class="entry_description">
5123 Resolution of embedded JPEG
5124 thumbnail
5125 </td>
5126
5127 <td class="entry_units">
5128 </td>
5129
5130 <td class="entry_range">
5131 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5132 </td>
5133
5134 <td class="entry_notes">
5135 </td>
5136
5137 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005138 <ul class="entry_tags">
5139 <li><a href="#tag_BC">BC</a></li>
5140 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005141 </td>
5142
5143 </tr> <!-- end of entry -->
5144
5145
5146
5147 <!-- end of kind -->
5148 </tbody>
5149
5150 <!-- end of section -->
5151 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5152
5153
5154 <tr><td colspan="7" class="kind">controls</td></tr>
5155
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005156 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005157 <tr>
5158 <th class="th_name">Property Name</th>
5159 <th class="th_type">Type</th>
5160 <th class="th_description">Description</th>
5161 <th class="th_units">Units</th>
5162 <th class="th_range">Range</th>
5163 <th class="th_notes">Notes</th>
5164 <th class="th_tags">Tags</th>
5165 </tr>
5166 </thead>
5167
5168 <tbody>
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179 <tr class="entry" id="controls_android.lens.aperture">
5180 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5181 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005182 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005183
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005184 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005185
5186
5187 </td> <!-- entry_type -->
5188
5189 <td class="entry_description">
5190 Size of the lens aperture
5191 </td>
5192
5193 <td class="entry_units">
5194 f-number (f/<wbr>NNN)
5195 </td>
5196
5197 <td class="entry_range">
5198 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5199 </td>
5200
5201 <td class="entry_notes">
5202 Will not be supported on most devices.<wbr> Can only
5203 pick from supported list
5204 </td>
5205
5206 <td class="entry_tags">
5207 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005208 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005209 </ul>
5210 </td>
5211
5212 </tr> <!-- end of entry -->
5213
5214
5215 <tr class="entry" id="controls_android.lens.filterDensity">
5216 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5217 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005218 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005219
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005220 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005221
5222
5223 </td> <!-- entry_type -->
5224
5225 <td class="entry_description">
5226 State of lens neutral density
5227 filter(s)
5228 </td>
5229
5230 <td class="entry_units">
5231 number of stops of filtering
5232 </td>
5233
5234 <td class="entry_range">
5235 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5236 </td>
5237
5238 <td class="entry_notes">
5239 Will not be supported on most devices.<wbr> Can only
5240 pick from supported list
5241 </td>
5242
5243 <td class="entry_tags">
5244 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005245 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005246 </ul>
5247 </td>
5248
5249 </tr> <!-- end of entry -->
5250
5251
5252 <tr class="entry" id="controls_android.lens.focalLength">
5253 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5254 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005255 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005256
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005257 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005258
5259
5260 </td> <!-- entry_type -->
5261
5262 <td class="entry_description">
5263 Lens optical zoom setting
5264 </td>
5265
5266 <td class="entry_units">
5267 focal length in mm
5268 </td>
5269
5270 <td class="entry_range">
5271 > 0
5272 </td>
5273
5274 <td class="entry_notes">
5275 Will not be supported on most devices.<wbr>
5276 </td>
5277
5278 <td class="entry_tags">
5279 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005280 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005281 </ul>
5282 </td>
5283
5284 </tr> <!-- end of entry -->
5285
5286
5287 <tr class="entry" id="controls_android.lens.focusDistance">
5288 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5289 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005290 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005291
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005292 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005293
5294
5295 </td> <!-- entry_type -->
5296
5297 <td class="entry_description">
5298 Distance to plane of sharpest focus,<wbr>
5299 measured from frontmost surface of the lens
5300 </td>
5301
5302 <td class="entry_units">
5303 diopters (1/<wbr>m)
5304 </td>
5305
5306 <td class="entry_range">
5307 >= 0
5308 </td>
5309
5310 <td class="entry_notes">
5311 0 = infinity focus.<wbr> Used value should be clamped
5312 to (0,<wbr>minimum focus distance)
5313 </td>
5314
5315 <td class="entry_tags">
5316 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005317 <li><a href="#tag_BC">BC</a></li>
5318 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005319 </ul>
5320 </td>
5321
5322 </tr> <!-- end of entry -->
5323
5324
5325 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5326 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5327 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005328 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005329
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005330 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005331
5332 <ul class="entry_type_enum">
5333 <li>
5334 <span class="entry_type_enum_name">OFF</span>
5335 </li>
5336 <li>
5337 <span class="entry_type_enum_name">ON</span>
5338 <span class="entry_type_enum_optional">optional</span>
5339 </li>
5340 </ul>
5341
5342 </td> <!-- entry_type -->
5343
5344 <td class="entry_description">
5345 Whether optical image stabilization is
5346 enabled.<wbr>
5347 </td>
5348
5349 <td class="entry_units">
5350 </td>
5351
5352 <td class="entry_range">
5353 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5354 </td>
5355
5356 <td class="entry_notes">
5357 Will not be supported on most devices.<wbr>
5358 </td>
5359
5360 <td class="entry_tags">
5361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005362 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005363 </ul>
5364 </td>
5365
5366 </tr> <!-- end of entry -->
5367
5368
5369
5370 <!-- end of kind -->
5371 </tbody>
5372 <tr><td colspan="7" class="kind">static</td></tr>
5373
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005374 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005375 <tr>
5376 <th class="th_name">Property Name</th>
5377 <th class="th_type">Type</th>
5378 <th class="th_description">Description</th>
5379 <th class="th_units">Units</th>
5380 <th class="th_range">Range</th>
5381 <th class="th_notes">Notes</th>
5382 <th class="th_tags">Tags</th>
5383 </tr>
5384 </thead>
5385
5386 <tbody>
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399 <tr class="entry" id="static_android.lens.info.availableApertures">
5400 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5401 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005402 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005403 <span class="entry_type_container">x</span>
5404
5405 <span class="entry_type_array">
5406 n
5407 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005408 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005409
5410
5411 </td> <!-- entry_type -->
5412
5413 <td class="entry_description">
5414 List of supported aperture
5415 values
5416 </td>
5417
5418 <td class="entry_units">
5419 </td>
5420
5421 <td class="entry_range">
5422 one entry required,<wbr> > 0
5423 </td>
5424
5425 <td class="entry_notes">
5426 If variable aperture not available,<wbr> only setting
5427 should be for the fixed aperture
5428 </td>
5429
5430 <td class="entry_tags">
5431 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005432 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005433 </ul>
5434 </td>
5435
5436 </tr> <!-- end of entry -->
5437
5438
5439 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5440 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5441 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005442 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005443 <span class="entry_type_container">x</span>
5444
5445 <span class="entry_type_array">
5446 n
5447 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005448 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005449
5450
5451 </td> <!-- entry_type -->
5452
5453 <td class="entry_description">
5454 List of supported ND filter
5455 values
5456 </td>
5457
5458 <td class="entry_units">
5459 </td>
5460
5461 <td class="entry_range">
5462 one entry required,<wbr> >= 0
5463 </td>
5464
5465 <td class="entry_notes">
5466 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5467 lists the available exposure index values for dimming
5468 (2 would mean the filter is set to reduce incoming
5469 light by two stops)
5470 </td>
5471
5472 <td class="entry_tags">
5473 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005474 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005475 </ul>
5476 </td>
5477
5478 </tr> <!-- end of entry -->
5479
5480
5481 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5482 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5483 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005484 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005485 <span class="entry_type_container">x</span>
5486
5487 <span class="entry_type_array">
5488 n
5489 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005490 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005491 <div class="entry_type_notes">the list of available focal lengths</div>
5492
5493
5494 </td> <!-- entry_type -->
5495
5496 <td class="entry_description">
5497 If fitted with optical zoom,<wbr> what focal
5498 lengths are available.<wbr> If not,<wbr> the static focal
5499 length
5500 </td>
5501
5502 <td class="entry_units">
5503 </td>
5504
5505 <td class="entry_range">
5506 > 0
5507 </td>
5508
5509 <td class="entry_notes">
5510 If optical zoom not supported,<wbr> only one value
5511 should be reported
5512 </td>
5513
5514 <td class="entry_tags">
5515 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005516 <li><a href="#tag_BC">BC</a></li>
5517 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005518 </ul>
5519 </td>
5520
5521 </tr> <!-- end of entry -->
5522
5523
5524 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5525 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5526 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005527 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005528 <span class="entry_type_container">x</span>
5529
5530 <span class="entry_type_array">
5531 n
5532 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005533 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005534 <div class="entry_type_notes">list of enums</div>
5535
5536
5537 </td> <!-- entry_type -->
5538
5539 <td class="entry_description">
5540 List of supported optical image
5541 stabilization modes
5542 </td>
5543
5544 <td class="entry_units">
5545 </td>
5546
5547 <td class="entry_range">
5548 </td>
5549
5550 <td class="entry_notes">
5551 </td>
5552
5553 <td class="entry_tags">
5554 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005555 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005556 </ul>
5557 </td>
5558
5559 </tr> <!-- end of entry -->
5560
5561
5562 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5563 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005565 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005566 <span class="entry_type_container">x</span>
5567
5568 <span class="entry_type_array">
5569 2 x 3 x n x m
5570 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005571 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005572 <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>
5573
5574
5575 </td> <!-- entry_type -->
5576
5577 <td class="entry_description">
5578 A low-resolution map for correction of
5579 geometric distortions and chromatic aberrations,<wbr> per
5580 color channel
5581 </td>
5582
5583 <td class="entry_units">
5584 </td>
5585
5586 <td class="entry_range">
5587 N,<wbr> M >= 2
5588 </td>
5589
5590 <td class="entry_notes">
5591 [DNG wants a function instead].<wbr> What's easiest
5592 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5593 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5594 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5595 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5596 </td>
5597
5598 <td class="entry_tags">
5599 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005600 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005601 </ul>
5602 </td>
5603
5604 </tr> <!-- end of entry -->
5605
5606
5607 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5608 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5609 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005610 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005611 <span class="entry_type_container">x</span>
5612
5613 <span class="entry_type_array">
5614 2
5615 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005616 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005617 <div class="entry_type_notes">width and height of geometric correction map</div>
5618
5619
5620 </td> <!-- entry_type -->
5621
5622 <td class="entry_description">
5623 Dimensions of geometric correction
5624 map
5625 </td>
5626
5627 <td class="entry_units">
5628 </td>
5629
5630 <td class="entry_range">
5631 Both values >= 2
5632 </td>
5633
5634 <td class="entry_notes">
5635 </td>
5636
5637 <td class="entry_tags">
5638 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005639 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005640 </ul>
5641 </td>
5642
5643 </tr> <!-- end of entry -->
5644
5645
5646 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5647 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5648 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005649 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005651 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005652
5653
5654 </td> <!-- entry_type -->
5655
5656 <td class="entry_description">
5657 Hyperfocal distance for this lens; set to
5658 0 if fixed focus
5659 </td>
5660
5661 <td class="entry_units">
5662 diopters
5663 </td>
5664
5665 <td class="entry_range">
5666 >= 0
5667 </td>
5668
5669 <td class="entry_notes">
5670 The hyperfocal distance is used for the old
5671 API's 'fixed' setting
5672 </td>
5673
5674 <td class="entry_tags">
5675 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005676 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005677 </ul>
5678 </td>
5679
5680 </tr> <!-- end of entry -->
5681
5682
5683 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5684 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5685 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005686 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005687
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005688 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005689
5690
5691 </td> <!-- entry_type -->
5692
5693 <td class="entry_description">
5694 Shortest distance from frontmost surface
5695 of the lens that can be focused correctly
5696 </td>
5697
5698 <td class="entry_units">
5699 diopters
5700 </td>
5701
5702 <td class="entry_range">
5703 >= 0
5704 </td>
5705
5706 <td class="entry_notes">
5707 If the lens is fixed-focus,<wbr> this should be
5708 0
5709 </td>
5710
5711 <td class="entry_tags">
5712 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005713 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005714 </ul>
5715 </td>
5716
5717 </tr> <!-- end of entry -->
5718
5719
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005720 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5721 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5722 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005723 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005724 <span class="entry_type_container">x</span>
5725
5726 <span class="entry_type_array">
5727 2
5728 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005729 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005730 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr> (N,<wbr> M)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005731
5732
5733 </td> <!-- entry_type -->
5734
5735 <td class="entry_description">
5736 Dimensions of lens shading
5737 map
5738 </td>
5739
5740 <td class="entry_units">
5741 </td>
5742
5743 <td class="entry_range">
5744 Both values >= 1
5745 </td>
5746
5747 <td class="entry_notes">
5748 </td>
5749
5750 <td class="entry_tags">
5751 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005752 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005753 </ul>
5754 </td>
5755
5756 </tr> <!-- end of entry -->
5757
5758
5759
5760
5761
5762 <tr class="entry" id="static_android.lens.facing">
5763 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5764 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005765 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005766
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005767 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005768
5769 <ul class="entry_type_enum">
5770 <li>
5771 <span class="entry_type_enum_name">FRONT</span>
5772 </li>
5773 <li>
5774 <span class="entry_type_enum_name">BACK</span>
5775 </li>
5776 </ul>
5777
5778 </td> <!-- entry_type -->
5779
5780 <td class="entry_description">
5781 Direction the camera faces relative to
5782 device screen
5783 </td>
5784
5785 <td class="entry_units">
5786 </td>
5787
5788 <td class="entry_range">
5789 </td>
5790
5791 <td class="entry_notes">
5792 </td>
5793
5794 <td class="entry_tags">
5795 </td>
5796
5797 </tr> <!-- end of entry -->
5798
5799
5800 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5801 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5802 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005803 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005804 <span class="entry_type_container">x</span>
5805
5806 <span class="entry_type_array">
5807 2
5808 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005809 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005810 <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>
5811
5812
5813 </td> <!-- entry_type -->
5814
5815 <td class="entry_description">
5816 Relative angle of camera optical axis to the
5817 perpendicular axis from the display
5818 </td>
5819
5820 <td class="entry_units">
5821 </td>
5822
5823 <td class="entry_range">
5824 [0-90) for first angle,<wbr> [0-360) for second
5825 </td>
5826
5827 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005828 Examples:
5829<br>
5830<br> (0,<wbr>0) means that the camera optical axis
5831 is perpendicular to the display surface;
5832<br>
5833<br> (45,<wbr>0) means that the camera points 45 degrees up when
5834 device is held upright;
5835<br>
5836<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5837 the device is held upright.<wbr>
5838<br>
5839<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005840 direction
5841 </td>
5842
5843 <td class="entry_tags">
5844 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005845 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005846 </ul>
5847 </td>
5848
5849 </tr> <!-- end of entry -->
5850
5851
5852 <tr class="entry" id="static_android.lens.position">
5853 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005855 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856 <span class="entry_type_container">x</span>
5857
5858 <span class="entry_type_array">
5859 3, location in mm, in the sensor coordinate
5860 system
5861 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005862 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005863
5864
5865 </td> <!-- entry_type -->
5866
5867 <td class="entry_description">
5868 Coordinates of camera optical axis on
5869 device
5870 </td>
5871
5872 <td class="entry_units">
5873 </td>
5874
5875 <td class="entry_range">
5876 </td>
5877
5878 <td class="entry_notes">
5879 </td>
5880
5881 <td class="entry_tags">
5882 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005883 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005884 </ul>
5885 </td>
5886
5887 </tr> <!-- end of entry -->
5888
5889
5890
5891 <!-- end of kind -->
5892 </tbody>
5893 <tr><td colspan="7" class="kind">dynamic</td></tr>
5894
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005895 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005896 <tr>
5897 <th class="th_name">Property Name</th>
5898 <th class="th_type">Type</th>
5899 <th class="th_description">Description</th>
5900 <th class="th_units">Units</th>
5901 <th class="th_range">Range</th>
5902 <th class="th_notes">Notes</th>
5903 <th class="th_tags">Tags</th>
5904 </tr>
5905 </thead>
5906
5907 <tbody>
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918 <tr class="entry" id="dynamic_android.lens.aperture">
5919 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5920 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005921 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005922
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005923 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005924
5925
5926 </td> <!-- entry_type -->
5927
5928 <td class="entry_description">
5929 Size of the lens aperture
5930 </td>
5931
5932 <td class="entry_units">
5933 f-number (f/<wbr>NNN)
5934 </td>
5935
5936 <td class="entry_range">
5937 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5938 </td>
5939
5940 <td class="entry_notes">
5941 Will not be supported on most devices.<wbr> Can only
5942 pick from supported list
5943 </td>
5944
5945 <td class="entry_tags">
5946 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005947 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005948 </ul>
5949 </td>
5950
5951 </tr> <!-- end of entry -->
5952
5953
5954 <tr class="entry" id="dynamic_android.lens.filterDensity">
5955 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5956 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005957 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005958
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005959 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005960
5961
5962 </td> <!-- entry_type -->
5963
5964 <td class="entry_description">
5965 State of lens neutral density
5966 filter(s)
5967 </td>
5968
5969 <td class="entry_units">
5970 number of stops of filtering
5971 </td>
5972
5973 <td class="entry_range">
5974 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5975 </td>
5976
5977 <td class="entry_notes">
5978 Will not be supported on most devices.<wbr> Can only
5979 pick from supported list
5980 </td>
5981
5982 <td class="entry_tags">
5983 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005984 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005985 </ul>
5986 </td>
5987
5988 </tr> <!-- end of entry -->
5989
5990
5991 <tr class="entry" id="dynamic_android.lens.focalLength">
5992 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5993 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005994 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005995
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005996 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005997
5998
5999 </td> <!-- entry_type -->
6000
6001 <td class="entry_description">
6002 Lens optical zoom setting
6003 </td>
6004
6005 <td class="entry_units">
6006 focal length in mm
6007 </td>
6008
6009 <td class="entry_range">
6010 > 0
6011 </td>
6012
6013 <td class="entry_notes">
6014 Will not be supported on most devices.<wbr>
6015 </td>
6016
6017 <td class="entry_tags">
6018 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006019 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006020 </ul>
6021 </td>
6022
6023 </tr> <!-- end of entry -->
6024
6025
6026 <tr class="entry" id="dynamic_android.lens.focusDistance">
6027 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006029 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006030
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006031 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006032
6033
6034 </td> <!-- entry_type -->
6035
6036 <td class="entry_description">
6037 Distance to plane of sharpest focus,<wbr>
6038 measured from frontmost surface of the lens
6039 </td>
6040
6041 <td class="entry_units">
6042 diopters (1/<wbr>m)
6043 </td>
6044
6045 <td class="entry_range">
6046 >= 0
6047 </td>
6048
6049 <td class="entry_notes">
6050 Should be zero for fixed-focus cameras
6051 </td>
6052
6053 <td class="entry_tags">
6054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006055 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006056 </ul>
6057 </td>
6058
6059 </tr> <!-- end of entry -->
6060
6061
6062 <tr class="entry" id="dynamic_android.lens.focusRange">
6063 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6064 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006065 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07006066 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006067
Zhijun He50451ad2013-09-26 10:27:47 -07006068 <span class="entry_type_array">
6069 2
6070 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006071 <span class="entry_type_visibility"> [public]</span>
Zhijun He50451ad2013-09-26 10:27:47 -07006072 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006073
6074
6075 </td> <!-- entry_type -->
6076
6077 <td class="entry_description">
6078 The range of scene distances that are in
6079 sharp focus (depth of field)
6080 </td>
6081
6082 <td class="entry_units">
6083 pair of focus distances in diopters: (near,<wbr>
6084 far)
6085 </td>
6086
6087 <td class="entry_range">
6088 >=0
6089 </td>
6090
6091 <td class="entry_notes">
6092 If variable focus not supported,<wbr> can still report
6093 fixed depth of field range
6094 </td>
6095
6096 <td class="entry_tags">
6097 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006098 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006099 </ul>
6100 </td>
6101
6102 </tr> <!-- end of entry -->
6103
6104
6105 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6106 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6107 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006108 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006109
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006110 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006111
6112 <ul class="entry_type_enum">
6113 <li>
6114 <span class="entry_type_enum_name">OFF</span>
6115 </li>
6116 <li>
6117 <span class="entry_type_enum_name">ON</span>
6118 <span class="entry_type_enum_optional">optional</span>
6119 </li>
6120 </ul>
6121
6122 </td> <!-- entry_type -->
6123
6124 <td class="entry_description">
6125 Whether optical image stabilization is
6126 enabled.<wbr>
6127 </td>
6128
6129 <td class="entry_units">
6130 </td>
6131
6132 <td class="entry_range">
6133 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6134 </td>
6135
6136 <td class="entry_notes">
6137 Will not be supported on most devices.<wbr>
6138 </td>
6139
6140 <td class="entry_tags">
6141 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006142 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143 </ul>
6144 </td>
6145
6146 </tr> <!-- end of entry -->
6147
6148
6149 <tr class="entry" id="dynamic_android.lens.state">
6150 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6151 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006152 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006154 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006155
6156 <ul class="entry_type_enum">
6157 <li>
6158 <span class="entry_type_enum_name">STATIONARY</span>
6159 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07006160 <li>
6161 <span class="entry_type_enum_name">MOVING</span>
6162 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006163 </ul>
6164
6165 </td> <!-- entry_type -->
6166
6167 <td class="entry_description">
6168 Current lens status
6169 </td>
6170
6171 <td class="entry_units">
6172 </td>
6173
6174 <td class="entry_range">
6175 </td>
6176
6177 <td class="entry_notes">
6178 </td>
6179
6180 <td class="entry_tags">
6181 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006182 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006183 </ul>
6184 </td>
6185
6186 </tr> <!-- end of entry -->
6187
6188
6189
6190 <!-- end of kind -->
6191 </tbody>
6192
6193 <!-- end of section -->
6194 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6195
6196
6197 <tr><td colspan="7" class="kind">controls</td></tr>
6198
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006199 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006200 <tr>
6201 <th class="th_name">Property Name</th>
6202 <th class="th_type">Type</th>
6203 <th class="th_description">Description</th>
6204 <th class="th_units">Units</th>
6205 <th class="th_range">Range</th>
6206 <th class="th_notes">Notes</th>
6207 <th class="th_tags">Tags</th>
6208 </tr>
6209 </thead>
6210
6211 <tbody>
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222 <tr class="entry" id="controls_android.noiseReduction.mode">
6223 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6224 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006225 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006227 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006228
6229 <ul class="entry_type_enum">
6230 <li>
6231 <span class="entry_type_enum_name">OFF</span>
6232 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6233 </li>
6234 <li>
6235 <span class="entry_type_enum_name">FAST</span>
6236 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6237 bayer output</span>
6238 </li>
6239 <li>
6240 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6241 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6242 quality</span>
6243 </li>
6244 </ul>
6245
6246 </td> <!-- entry_type -->
6247
6248 <td class="entry_description">
6249 Mode of operation for the noise reduction
6250 algorithm
6251 </td>
6252
6253 <td class="entry_units">
6254 </td>
6255
6256 <td class="entry_range">
6257 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6258 </td>
6259
6260 <td class="entry_notes">
6261 </td>
6262
6263 <td class="entry_tags">
6264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006265 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006266 </ul>
6267 </td>
6268
6269 </tr> <!-- end of entry -->
6270
6271
6272 <tr class="entry" id="controls_android.noiseReduction.strength">
6273 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006275 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006277 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006278
6279
6280 </td> <!-- entry_type -->
6281
6282 <td class="entry_description">
6283 Control the amount of noise reduction
6284 applied to the images
6285 </td>
6286
6287 <td class="entry_units">
6288 1-10; 10 is max noise reduction
6289 </td>
6290
6291 <td class="entry_range">
6292 1 - 10
6293 </td>
6294
6295 <td class="entry_notes">
6296 </td>
6297
6298 <td class="entry_tags">
6299 </td>
6300
6301 </tr> <!-- end of entry -->
6302
6303
6304
6305 <!-- end of kind -->
6306 </tbody>
6307 <tr><td colspan="7" class="kind">dynamic</td></tr>
6308
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006309 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006310 <tr>
6311 <th class="th_name">Property Name</th>
6312 <th class="th_type">Type</th>
6313 <th class="th_description">Description</th>
6314 <th class="th_units">Units</th>
6315 <th class="th_range">Range</th>
6316 <th class="th_notes">Notes</th>
6317 <th class="th_tags">Tags</th>
6318 </tr>
6319 </thead>
6320
6321 <tbody>
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6333 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6334 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006335 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006336
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006337 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006338
6339 <ul class="entry_type_enum">
6340 <li>
6341 <span class="entry_type_enum_name">OFF</span>
6342 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6343 </li>
6344 <li>
6345 <span class="entry_type_enum_name">FAST</span>
6346 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6347 bayer output</span>
6348 </li>
6349 <li>
6350 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6351 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6352 quality</span>
6353 </li>
6354 </ul>
6355
6356 </td> <!-- entry_type -->
6357
6358 <td class="entry_description">
6359 Mode of operation for the noise reduction
6360 algorithm
6361 </td>
6362
6363 <td class="entry_units">
6364 </td>
6365
6366 <td class="entry_range">
6367 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6368 </td>
6369
6370 <td class="entry_notes">
6371 </td>
6372
6373 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006374 <ul class="entry_tags">
6375 <li><a href="#tag_V1">V1</a></li>
6376 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006377 </td>
6378
6379 </tr> <!-- end of entry -->
6380
6381
6382
6383 <!-- end of kind -->
6384 </tbody>
6385
6386 <!-- end of section -->
6387 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6388
6389
6390 <tr><td colspan="7" class="kind">static</td></tr>
6391
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006392 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006393 <tr>
6394 <th class="th_name">Property Name</th>
6395 <th class="th_type">Type</th>
6396 <th class="th_description">Description</th>
6397 <th class="th_units">Units</th>
6398 <th class="th_range">Range</th>
6399 <th class="th_notes">Notes</th>
6400 <th class="th_tags">Tags</th>
6401 </tr>
6402 </thead>
6403
6404 <tbody>
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6416 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006418 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006419
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006420 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006421
6422
6423 </td> <!-- entry_type -->
6424
6425 <td class="entry_description">
6426 If set to 1,<wbr> the camera service does not
6427 scale 'normalized' coordinates with respect to the crop
6428 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6429 and output (face rectangles).<wbr>
6430 </td>
6431
6432 <td class="entry_units">
6433 </td>
6434
6435 <td class="entry_range">
6436 </td>
6437
6438 <td class="entry_notes">
6439 Normalized coordinates refer to those in the
6440 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006441 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6442<br>
6443<br> HAL implementations should instead always use and emit
6444 sensor array-relative coordinates for all region data.<wbr> Does
6445 not need to be listed in static metadata.<wbr> Support will be
6446 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006447 </td>
6448
6449 <td class="entry_tags">
6450 </td>
6451
6452 </tr> <!-- end of entry -->
6453
6454
6455 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6456 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006458 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006459
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006460 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006461
6462
6463 </td> <!-- entry_type -->
6464
6465 <td class="entry_description">
6466 If set to 1,<wbr> then the camera service always
6467 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6468 trigger.<wbr>
6469 </td>
6470
6471 <td class="entry_units">
6472 </td>
6473
6474 <td class="entry_range">
6475 </td>
6476
6477 <td class="entry_notes">
6478 HAL implementations should implement AF trigger
6479 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6480 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6481 not need to be listed in static metadata.<wbr> Support will be
6482 removed in future versions of camera service
6483 </td>
6484
6485 <td class="entry_tags">
6486 </td>
6487
6488 </tr> <!-- end of entry -->
6489
6490
6491 <tr class="entry" id="static_android.quirks.useZslFormat">
6492 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6493 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006494 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006495
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006496 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006497
6498
6499 </td> <!-- entry_type -->
6500
6501 <td class="entry_description">
6502 If set to 1,<wbr> the camera service uses
6503 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6504 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6505 shutter lag stream
6506 </td>
6507
6508 <td class="entry_units">
6509 </td>
6510
6511 <td class="entry_range">
6512 </td>
6513
6514 <td class="entry_notes">
6515 HAL implementations should use gralloc usage flags
6516 to determine that a stream will be used for
6517 zero-shutter-lag,<wbr> instead of relying on an explicit
6518 format setting.<wbr> Does not need to be listed in static
6519 metadata.<wbr> Support will be removed in future versions of
6520 camera service.<wbr>
6521 </td>
6522
6523 <td class="entry_tags">
6524 </td>
6525
6526 </tr> <!-- end of entry -->
6527
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006528
6529 <tr class="entry" id="static_android.quirks.usePartialResult">
6530 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Partial<wbr>Result</td>
6531 <td class="entry_type">
6532 <span class="entry_type_name">byte</span>
6533
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08006534 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006535
6536
6537 </td> <!-- entry_type -->
6538
6539 <td class="entry_description">
6540 If set to 1,<wbr> the HAL will always split result
6541 metadata for a single capture into multiple buffers,<wbr>
6542 returned using multiple process_<wbr>capture_<wbr>result calls.<wbr>
6543
6544 </td>
6545
6546 <td class="entry_units">
6547 </td>
6548
6549 <td class="entry_range">
6550 </td>
6551
6552 <td class="entry_notes">
6553 Does not need to be listed in static
6554 metadata.<wbr> Support for partial results will be reworked in
6555 future versions of camera service.<wbr> This quirk will stop
6556 working at that point; DO NOT USE without careful
6557 consideration of future support.<wbr>
6558
6559 </td>
6560
6561 <td class="entry_tags">
6562 </td>
6563
6564 </tr> <!-- end of entry -->
6565
6566
6567
6568 <!-- end of kind -->
6569 </tbody>
6570 <tr><td colspan="7" class="kind">dynamic</td></tr>
6571
6572 <thead class="entries_header">
6573 <tr>
6574 <th class="th_name">Property Name</th>
6575 <th class="th_type">Type</th>
6576 <th class="th_description">Description</th>
6577 <th class="th_units">Units</th>
6578 <th class="th_range">Range</th>
6579 <th class="th_notes">Notes</th>
6580 <th class="th_tags">Tags</th>
6581 </tr>
6582 </thead>
6583
6584 <tbody>
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595 <tr class="entry" id="dynamic_android.quirks.partialResult">
6596 <td class="entry_name">android.<wbr>quirks.<wbr>partial<wbr>Result</td>
6597 <td class="entry_type">
6598 <span class="entry_type_name entry_type_name_enum">byte</span>
6599
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08006600 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006601
6602 <ul class="entry_type_enum">
6603 <li>
6604 <span class="entry_type_enum_name">FINAL</span>
6605 <span class="entry_type_enum_notes">The last or only metadata result buffer
6606 for this capture.<wbr></span>
6607 </li>
6608 <li>
6609 <span class="entry_type_enum_name">PARTIAL</span>
6610 <span class="entry_type_enum_notes">A partial buffer of result metadata for this
6611 capture.<wbr> More result buffers for this capture will be sent
6612 by the HAL,<wbr> the last of which will be marked
6613 FINAL.<wbr></span>
6614 </li>
6615 </ul>
6616
6617 </td> <!-- entry_type -->
6618
6619 <td class="entry_description">
6620 Whether a result given to the framework is the
6621 final one for the capture,<wbr> or only a partial that contains a
6622 subset of the full set of dynamic metadata
6623 values.<wbr>
6624 </td>
6625
6626 <td class="entry_units">
6627 </td>
6628
6629 <td class="entry_range">
6630 Optional.<wbr> Default value is FINAL.<wbr>
6631 </td>
6632
6633 <td class="entry_notes">
6634 The entries in the result metadata buffers for a
6635 single capture may not overlap,<wbr> except for this entry.<wbr> The
6636 FINAL buffers must retain FIFO ordering relative to the
6637 requests that generate them,<wbr> so the FINAL buffer for frame 3 must
6638 always be sent to the framework after the FINAL buffer for frame 2,<wbr> and
6639 before the FINAL buffer for frame 4.<wbr> PARTIAL buffers may be returned
6640 in any order relative to other frames,<wbr> but all PARTIAL buffers for a given
6641 capture must arrive before the FINAL buffer for that capture.<wbr> This entry may
6642 only be used by the HAL if quirks.<wbr>usePartialResult is set to 1.<wbr>
6643
6644 </td>
6645
6646 <td class="entry_tags">
6647 </td>
6648
6649 </tr> <!-- end of entry -->
6650
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006651
6652
6653 <!-- end of kind -->
6654 </tbody>
6655
6656 <!-- end of section -->
6657 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6658
6659
6660 <tr><td colspan="7" class="kind">controls</td></tr>
6661
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006662 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006663 <tr>
6664 <th class="th_name">Property Name</th>
6665 <th class="th_type">Type</th>
6666 <th class="th_description">Description</th>
6667 <th class="th_units">Units</th>
6668 <th class="th_range">Range</th>
6669 <th class="th_notes">Notes</th>
6670 <th class="th_tags">Tags</th>
6671 </tr>
6672 </thead>
6673
6674 <tbody>
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685 <tr class="entry" id="controls_android.request.frameCount">
6686 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6687 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006688 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006689
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006690 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006691
6692
6693 </td> <!-- entry_type -->
6694
6695 <td class="entry_description">
6696 A frame counter set by the framework.<wbr> Must
Igor Murashkin28548d22013-09-10 15:26:20 -07006697 be maintained unchanged in output frame.<wbr> This value monotonically
6698 increases with every new result (that is,<wbr> each new result has a unique
6699 frameCount value).<wbr>
6700
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006701 </td>
6702
6703 <td class="entry_units">
6704 incrementing integer
6705 </td>
6706
6707 <td class="entry_range">
6708 Any int
6709 </td>
6710
6711 <td class="entry_notes">
6712 </td>
6713
6714 <td class="entry_tags">
6715 </td>
6716
6717 </tr> <!-- end of entry -->
6718
6719
6720 <tr class="entry" id="controls_android.request.id">
6721 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6722 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006723 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006725 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006726
6727
6728 </td> <!-- entry_type -->
6729
6730 <td class="entry_description">
6731 An application-specified ID for the current
6732 request.<wbr> Must be maintained unchanged in output
6733 frame
6734 </td>
6735
6736 <td class="entry_units">
6737 arbitrary integer assigned by application
6738 </td>
6739
6740 <td class="entry_range">
6741 Any int
6742 </td>
6743
6744 <td class="entry_notes">
6745 </td>
6746
6747 <td class="entry_tags">
6748 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006749 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006750 </ul>
6751 </td>
6752
6753 </tr> <!-- end of entry -->
6754
6755
6756 <tr class="entry" id="controls_android.request.inputStreams">
6757 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6758 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006759 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006760 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006761
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006762 <span class="entry_type_array">
6763 n
6764 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006765 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006766
6767
6768 </td> <!-- entry_type -->
6769
6770 <td class="entry_description">
6771 List which camera reprocess stream is used
6772 for the source of reprocessing data.<wbr>
6773 </td>
6774
6775 <td class="entry_units">
6776 List of camera reprocess stream IDs
6777 </td>
6778
6779 <td class="entry_range">
6780 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006781 reprocess stream ID.<wbr>
6782
6783 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6784 reprocess streams may be included in a single request; they
6785 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006786 </td>
6787
6788 <td class="entry_notes">
6789 Only meaningful when android.<wbr>request.<wbr>type ==
6790 REPROCESS.<wbr> Ignored otherwise
6791 </td>
6792
6793 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006794 <ul class="entry_tags">
6795 <li><a href="#tag_HAL2">HAL2</a></li>
6796 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006797 </td>
6798
6799 </tr> <!-- end of entry -->
6800
6801
6802 <tr class="entry" id="controls_android.request.metadataMode">
6803 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6804 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006805 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006806
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006807 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006808
6809 <ul class="entry_type_enum">
6810 <li>
6811 <span class="entry_type_enum_name">NONE</span>
6812 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6813 for application-bound buffer data.<wbr> If no
6814 application-bound streams exist,<wbr> no frame should be
6815 placed in the output frame queue.<wbr> If such streams
6816 exist,<wbr> a frame should be placed on the output queue
6817 with null metadata but with the necessary output buffer
6818 information.<wbr> Timestamp information should still be
6819 included with any output stream buffers</span>
6820 </li>
6821 <li>
6822 <span class="entry_type_enum_name">FULL</span>
6823 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6824 only be produced if they are separately
6825 enabled</span>
6826 </li>
6827 </ul>
6828
6829 </td> <!-- entry_type -->
6830
6831 <td class="entry_description">
6832 How much metadata to produce on
6833 output
6834 </td>
6835
6836 <td class="entry_units">
6837 </td>
6838
6839 <td class="entry_range">
6840 </td>
6841
6842 <td class="entry_notes">
6843 </td>
6844
6845 <td class="entry_tags">
6846 </td>
6847
6848 </tr> <!-- end of entry -->
6849
6850
6851 <tr class="entry" id="controls_android.request.outputStreams">
6852 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6853 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006854 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006855 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006856
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006857 <span class="entry_type_array">
6858 n
6859 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006860 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006861
6862
6863 </td> <!-- entry_type -->
6864
6865 <td class="entry_description">
6866 Lists which camera output streams image data
6867 from this capture must be sent to
6868 </td>
6869
6870 <td class="entry_units">
6871 List of camera stream IDs
6872 </td>
6873
6874 <td class="entry_range">
6875 List must only include streams that have been
6876 created
6877 </td>
6878
6879 <td class="entry_notes">
6880 If no output streams are listed,<wbr> then the image
6881 data should simply be discarded.<wbr> The image data must
6882 still be captured for metadata and statistics production,<wbr>
6883 and the lens and flash must operate as requested.<wbr>
6884 </td>
6885
6886 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006887 <ul class="entry_tags">
6888 <li><a href="#tag_HAL2">HAL2</a></li>
6889 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006890 </td>
6891
6892 </tr> <!-- end of entry -->
6893
6894
6895 <tr class="entry" id="controls_android.request.type">
6896 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6897 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006898 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006899
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006900 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006901
6902 <ul class="entry_type_enum">
6903 <li>
6904 <span class="entry_type_enum_name">CAPTURE</span>
6905 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6906 and process it according to the
6907 settings</span>
6908 </li>
6909 <li>
6910 <span class="entry_type_enum_name">REPROCESS</span>
6911 <span class="entry_type_enum_notes">Process previously captured data; the
6912 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6913 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6914 needed for reprocessing with [RP]</span>
6915 </li>
6916 </ul>
6917
6918 </td> <!-- entry_type -->
6919
6920 <td class="entry_description">
6921 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006922 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006923 </td>
6924
6925 <td class="entry_units">
6926 </td>
6927
6928 <td class="entry_range">
6929 </td>
6930
6931 <td class="entry_notes">
6932 </td>
6933
6934 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006935 <ul class="entry_tags">
6936 <li><a href="#tag_HAL2">HAL2</a></li>
6937 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006938 </td>
6939
6940 </tr> <!-- end of entry -->
6941
6942
6943
6944 <!-- end of kind -->
6945 </tbody>
6946 <tr><td colspan="7" class="kind">static</td></tr>
6947
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006948 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006949 <tr>
6950 <th class="th_name">Property Name</th>
6951 <th class="th_type">Type</th>
6952 <th class="th_description">Description</th>
6953 <th class="th_units">Units</th>
6954 <th class="th_range">Range</th>
6955 <th class="th_notes">Notes</th>
6956 <th class="th_tags">Tags</th>
6957 </tr>
6958 </thead>
6959
6960 <tbody>
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6972 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6973 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006974 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006975 <span class="entry_type_container">x</span>
6976
6977 <span class="entry_type_array">
6978 3
6979 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006980 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006981
6982
6983 </td> <!-- entry_type -->
6984
6985 <td class="entry_description">
6986 How many output streams can be allocated at
6987 the same time for each type of stream
6988 </td>
6989
6990 <td class="entry_units">
6991 The number of raw sensor streams; the number of
6992 processed,<wbr> uncompressed streams; and the number of
6993 JPEG-compressed streams
6994 </td>
6995
6996 <td class="entry_range">
6997 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6998 for processed,<wbr> uncompressed streams
6999 </td>
7000
7001 <td class="entry_notes">
7002 Video snapshot with preview callbacks requires 3
7003 processed streams (preview,<wbr> record,<wbr> app callbacks) and
7004 one JPEG stream (snapshot)
7005 </td>
7006
7007 <td class="entry_tags">
7008 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007009 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007010 </ul>
7011 </td>
7012
7013 </tr> <!-- end of entry -->
7014
7015
7016 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
7017 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
7018 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007019 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007020 <span class="entry_type_container">x</span>
7021
7022 <span class="entry_type_array">
7023 1
7024 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007025 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007026
7027
7028 </td> <!-- entry_type -->
7029
7030 <td class="entry_description">
7031 How many reprocessing streams of any type
7032 can be allocated at the same time
7033 </td>
7034
7035 <td class="entry_units">
7036 </td>
7037
7038 <td class="entry_range">
7039 >= 1
7040 </td>
7041
7042 <td class="entry_notes">
7043 </td>
7044
7045 <td class="entry_tags">
7046 </td>
7047
7048 </tr> <!-- end of entry -->
7049
7050
7051
7052 <!-- end of kind -->
7053 </tbody>
7054 <tr><td colspan="7" class="kind">dynamic</td></tr>
7055
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007056 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007057 <tr>
7058 <th class="th_name">Property Name</th>
7059 <th class="th_type">Type</th>
7060 <th class="th_description">Description</th>
7061 <th class="th_units">Units</th>
7062 <th class="th_range">Range</th>
7063 <th class="th_notes">Notes</th>
7064 <th class="th_tags">Tags</th>
7065 </tr>
7066 </thead>
7067
7068 <tbody>
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079 <tr class="entry" id="dynamic_android.request.frameCount">
7080 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
7081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007082 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007083
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007084 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007085
7086
7087 </td> <!-- entry_type -->
7088
7089 <td class="entry_description">
Igor Murashkin28548d22013-09-10 15:26:20 -07007090 A frame counter set by the framework.<wbr> This value monotonically
7091 increases with every new result (that is,<wbr> each new result has a unique
7092 frameCount value).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007093 </td>
7094
7095 <td class="entry_units">
7096 count of frames
7097 </td>
7098
7099 <td class="entry_range">
7100 > 0
7101 </td>
7102
7103 <td class="entry_notes">
7104 Reset on release()
7105 </td>
7106
7107 <td class="entry_tags">
7108 </td>
7109
7110 </tr> <!-- end of entry -->
7111
7112
7113 <tr class="entry" id="dynamic_android.request.id">
7114 <td class="entry_name">android.<wbr>request.<wbr>id</td>
7115 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007116 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007117
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007118 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007119
7120
7121 </td> <!-- entry_type -->
7122
7123 <td class="entry_description">
7124 An application-specified ID for the current
7125 request.<wbr> Must be maintained unchanged in output
7126 frame
7127 </td>
7128
7129 <td class="entry_units">
7130 arbitrary integer assigned by application
7131 </td>
7132
7133 <td class="entry_range">
7134 Any int
7135 </td>
7136
7137 <td class="entry_notes">
7138 </td>
7139
7140 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007141 <ul class="entry_tags">
7142 <li><a href="#tag_V1">V1</a></li>
7143 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007144 </td>
7145
7146 </tr> <!-- end of entry -->
7147
7148
7149 <tr class="entry" id="dynamic_android.request.metadataMode">
7150 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7151 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007152 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007154 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007155
7156 <ul class="entry_type_enum">
7157 <li>
7158 <span class="entry_type_enum_name">NONE</span>
7159 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7160 for application-bound buffer data.<wbr> If no
7161 application-bound streams exist,<wbr> no frame should be
7162 placed in the output frame queue.<wbr> If such streams
7163 exist,<wbr> a frame should be placed on the output queue
7164 with null metadata but with the necessary output buffer
7165 information.<wbr> Timestamp information should still be
7166 included with any output stream buffers</span>
7167 </li>
7168 <li>
7169 <span class="entry_type_enum_name">FULL</span>
7170 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7171 only be produced if they are separately
7172 enabled</span>
7173 </li>
7174 </ul>
7175
7176 </td> <!-- entry_type -->
7177
7178 <td class="entry_description">
7179 How much metadata to produce on
7180 output
7181 </td>
7182
7183 <td class="entry_units">
7184 </td>
7185
7186 <td class="entry_range">
7187 </td>
7188
7189 <td class="entry_notes">
7190 </td>
7191
7192 <td class="entry_tags">
7193 </td>
7194
7195 </tr> <!-- end of entry -->
7196
7197
7198 <tr class="entry" id="dynamic_android.request.outputStreams">
7199 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7200 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07007201 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007202 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007203
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007204 <span class="entry_type_array">
7205 n
7206 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007207 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007208
7209
7210 </td> <!-- entry_type -->
7211
7212 <td class="entry_description">
7213 Lists which camera output streams image data
7214 from this capture must be sent to
7215 </td>
7216
7217 <td class="entry_units">
7218 List of camera stream IDs
7219 </td>
7220
7221 <td class="entry_range">
7222 List must only include streams that have been
7223 created
7224 </td>
7225
7226 <td class="entry_notes">
7227 If no output streams are listed,<wbr> then the image
7228 data should simply be discarded.<wbr> The image data must
7229 still be captured for metadata and statistics production,<wbr>
7230 and the lens and flash must operate as requested.<wbr>
7231 </td>
7232
7233 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007234 <ul class="entry_tags">
7235 <li><a href="#tag_HAL2">HAL2</a></li>
7236 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007237 </td>
7238
7239 </tr> <!-- end of entry -->
7240
7241
7242
7243 <!-- end of kind -->
7244 </tbody>
7245
7246 <!-- end of section -->
7247 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7248
7249
7250 <tr><td colspan="7" class="kind">controls</td></tr>
7251
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007252 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007253 <tr>
7254 <th class="th_name">Property Name</th>
7255 <th class="th_type">Type</th>
7256 <th class="th_description">Description</th>
7257 <th class="th_units">Units</th>
7258 <th class="th_range">Range</th>
7259 <th class="th_notes">Notes</th>
7260 <th class="th_tags">Tags</th>
7261 </tr>
7262 </thead>
7263
7264 <tbody>
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275 <tr class="entry" id="controls_android.scaler.cropRegion">
7276 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7277 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007278 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007279 <span class="entry_type_container">x</span>
7280
7281 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007282 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007283 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007284 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007285
7286
7287 </td> <!-- entry_type -->
7288
7289 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007290 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7291<br>
7292<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7293 (width,<wbr> height).<wbr> The region of the sensor that is used for
7294 output.<wbr> Each stream must use this rectangle to produce its
7295 output,<wbr> cropping to a smaller region if necessary to
7296 maintain the stream's aspect ratio.<wbr>
7297<br>
7298<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007299 </td>
7300
7301 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007302 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7303 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007304 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007305 </td>
7306
7307 <td class="entry_range">
7308 </td>
7309
7310 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007311
7312 Any additional per-stream cropping must be done to
7313 maximize the final pixel area of the stream.<wbr>
7314<br>
7315<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7316 ratio,<wbr> then 4:3 streams should use the exact crop
7317 region.<wbr> 16:9 streams should further crop vertically
7318 (letterbox).<wbr>
7319<br>
7320<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7321 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7322 streams should match exactly.<wbr> These additional crops must
7323 be centered within the crop region.<wbr>
7324<br>
7325<br> The output streams must maintain square pixels at all
7326 times,<wbr> no matter what the relative aspect ratios of the
7327 crop region and the stream are.<wbr> Negative values for
7328 corner are allowed for raw output if full pixel array is
7329 larger than active pixel array.<wbr> Width and height may be
7330 rounded to nearest larger supportable width,<wbr> especially
7331 for raw output,<wbr> where only a few fixed scales may be
7332 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007333 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007334 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007335 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007336 respectively.<wbr>
7337
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007338 </td>
7339
7340 <td class="entry_tags">
7341 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007342 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007343 </ul>
7344 </td>
7345
7346 </tr> <!-- end of entry -->
7347
7348
7349
7350 <!-- end of kind -->
7351 </tbody>
7352 <tr><td colspan="7" class="kind">static</td></tr>
7353
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007354 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007355 <tr>
7356 <th class="th_name">Property Name</th>
7357 <th class="th_type">Type</th>
7358 <th class="th_description">Description</th>
7359 <th class="th_units">Units</th>
7360 <th class="th_range">Range</th>
7361 <th class="th_notes">Notes</th>
7362 <th class="th_tags">Tags</th>
7363 </tr>
7364 </thead>
7365
7366 <tbody>
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377 <tr class="entry" id="static_android.scaler.availableFormats">
7378 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7379 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007380 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007381 <span class="entry_type_container">x</span>
7382
7383 <span class="entry_type_array">
7384 n
7385 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007386 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007387 <div class="entry_type_notes">values from HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>* in /<wbr>system/<wbr>core/<wbr>include/<wbr>system/<wbr>graphics.<wbr>h</div>
7388
7389 <ul class="entry_type_enum">
7390 <li>
7391 <span class="entry_type_enum_name">RAW_SENSOR</span>
7392 <span class="entry_type_enum_value">0x20</span>
7393 </li>
7394 <li>
7395 <span class="entry_type_enum_name">YV12</span>
7396 <span class="entry_type_enum_value">0x32315659</span>
7397 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7398 </li>
7399 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007400 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007401 <span class="entry_type_enum_value">0x11</span>
7402 <span class="entry_type_enum_notes">NV21</span>
7403 </li>
7404 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007405 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7406 <span class="entry_type_enum_value">0x22</span>
7407 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7408 </li>
7409 <li>
7410 <span class="entry_type_enum_name">YCbCr_420_888</span>
7411 <span class="entry_type_enum_value">0x23</span>
7412 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7413 </li>
7414 <li>
7415 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007416 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007417 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007418 </li>
7419 </ul>
7420
7421 </td> <!-- entry_type -->
7422
7423 <td class="entry_description">
7424 List of app-visible formats
7425 </td>
7426
7427 <td class="entry_units">
7428 </td>
7429
7430 <td class="entry_range">
7431 </td>
7432
7433 <td class="entry_notes">
7434 </td>
7435
7436 <td class="entry_tags">
7437 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007438 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007439 </ul>
7440 </td>
7441
7442 </tr> <!-- end of entry -->
7443
7444
7445 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7446 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7447 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007448 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007449 <span class="entry_type_container">x</span>
7450
7451 <span class="entry_type_array">
7452 n
7453 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007454 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007455
7456
7457 </td> <!-- entry_type -->
7458
7459 <td class="entry_description">
7460 The minimum frame duration that is supported
7461 for each resolution in availableJpegSizes.<wbr> Should
7462 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007463 stream is active and captured in a burst,<wbr> with all
7464 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007465 </td>
7466
7467 <td class="entry_units">
7468 </td>
7469
7470 <td class="entry_range">
7471 </td>
7472
7473 <td class="entry_notes">
7474 When multiple streams are configured,<wbr> the minimum
7475 frame duration will be >= max(individual stream min
7476 durations)
7477 </td>
7478
7479 <td class="entry_tags">
7480 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007481 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007482 </ul>
7483 </td>
7484
7485 </tr> <!-- end of entry -->
7486
7487
7488 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7489 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7490 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007491 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007492 <span class="entry_type_container">x</span>
7493
7494 <span class="entry_type_array">
7495 n x 2
7496 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007497 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007498
7499
7500 </td> <!-- entry_type -->
7501
7502 <td class="entry_description">
7503 The resolutions available for output from
7504 the JPEG block.<wbr> Listed as width x height
7505 </td>
7506
7507 <td class="entry_units">
7508 </td>
7509
7510 <td class="entry_range">
7511 Must include: - sensor maximum resolution Should
7512 include: - half/<wbr>quarter max resolution
7513 </td>
7514
7515 <td class="entry_notes">
7516 </td>
7517
7518 <td class="entry_tags">
7519 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007520 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007521 </ul>
7522 </td>
7523
7524 </tr> <!-- end of entry -->
7525
7526
7527 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7528 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7529 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007530 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007531
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007532 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007533
7534
7535 </td> <!-- entry_type -->
7536
7537 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007538 The maximum ratio between active area width
7539 and crop region width,<wbr> or between active area height and
7540 crop region height,<wbr> if the crop region height is larger
7541 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007542 </td>
7543
7544 <td class="entry_units">
7545 </td>
7546
7547 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007548 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007549 </td>
7550
7551 <td class="entry_notes">
7552 </td>
7553
7554 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007555 <ul class="entry_tags">
7556 <li><a href="#tag_BC">BC</a></li>
7557 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007558 </td>
7559
7560 </tr> <!-- end of entry -->
7561
7562
7563 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7564 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7565 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007566 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007567 <span class="entry_type_container">x</span>
7568
7569 <span class="entry_type_array">
7570 n
7571 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007572 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007573
7574
7575 </td> <!-- entry_type -->
7576
7577 <td class="entry_description">
7578 The minimum frame duration that is supported
7579 for each resolution in availableProcessedSizes.<wbr> Should
7580 correspond to the frame duration when only that processed
7581 stream is active,<wbr> with all processing set to
7582 FAST
7583 </td>
7584
7585 <td class="entry_units">
7586 </td>
7587
7588 <td class="entry_range">
7589 </td>
7590
7591 <td class="entry_notes">
7592 When multiple streams are configured,<wbr> the minimum
7593 frame duration will be >= max(individual stream min
7594 durations)
7595 </td>
7596
7597 <td class="entry_tags">
7598 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007599 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007600 </ul>
7601 </td>
7602
7603 </tr> <!-- end of entry -->
7604
7605
7606 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7607 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7608 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007609 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007610 <span class="entry_type_container">x</span>
7611
7612 <span class="entry_type_array">
7613 n x 2
7614 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007615 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007616
7617
7618 </td> <!-- entry_type -->
7619
7620 <td class="entry_description">
7621 The resolutions available for use with
7622 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7623 platform opaque YUV/<wbr>RGB streams to the GPU or video
7624 encoders.<wbr> Listed as width,<wbr> height
7625 </td>
7626
7627 <td class="entry_units">
7628 </td>
7629
7630 <td class="entry_range">
7631 Must include: - sensor maximum resolution -
7632 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7633 resolutions
7634 </td>
7635
7636 <td class="entry_notes">
Zhijun He15cc3112013-09-17 12:38:34 -07007637 The actual supported resolution list may be limited by
7638 consumer end points for different use cases.<wbr> For example,<wbr> for
7639 recording use case,<wbr> the largest supported resolution may be
7640 limited by max supported size from encoder,<wbr> for preview use
7641 case,<wbr> the largest supported resolution may be limited by max
7642 resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr>
7643
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007644 </td>
7645
7646 <td class="entry_tags">
7647 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007648 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007649 </ul>
7650 </td>
7651
7652 </tr> <!-- end of entry -->
7653
7654
7655 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7656 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7657 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007658 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007659 <span class="entry_type_container">x</span>
7660
7661 <span class="entry_type_array">
7662 n
7663 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007664 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007665
7666
7667 </td> <!-- entry_type -->
7668
7669 <td class="entry_description">
7670 The minimum frame duration that is supported
7671 for each raw resolution in availableRawSizes.<wbr> Should
7672 correspond to the frame duration when only the raw stream
7673 is active.<wbr>
7674 </td>
7675
7676 <td class="entry_units">
7677 </td>
7678
7679 <td class="entry_range">
7680 </td>
7681
7682 <td class="entry_notes">
7683 When multiple streams are configured,<wbr> the minimum
7684 frame duration will be >= max(individual stream min
7685 durations)
7686 </td>
7687
7688 <td class="entry_tags">
7689 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007690 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007691 </ul>
7692 </td>
7693
7694 </tr> <!-- end of entry -->
7695
7696
7697 <tr class="entry" id="static_android.scaler.availableRawSizes">
7698 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7699 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007700 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007701 <span class="entry_type_container">x</span>
7702
7703 <span class="entry_type_array">
7704 n x 2
7705 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007706 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007707
7708
7709 </td> <!-- entry_type -->
7710
7711 <td class="entry_description">
7712 The resolutions available for use with raw
7713 sensor output streams,<wbr> listed as width,<wbr>
7714 height
7715 </td>
7716
7717 <td class="entry_units">
7718 </td>
7719
7720 <td class="entry_range">
7721 Must include: - sensor maximum resolution
7722 </td>
7723
7724 <td class="entry_notes">
7725 </td>
7726
7727 <td class="entry_tags">
7728 </td>
7729
7730 </tr> <!-- end of entry -->
7731
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007732
7733
7734 <!-- end of kind -->
7735 </tbody>
7736 <tr><td colspan="7" class="kind">dynamic</td></tr>
7737
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007738 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007739 <tr>
7740 <th class="th_name">Property Name</th>
7741 <th class="th_type">Type</th>
7742 <th class="th_description">Description</th>
7743 <th class="th_units">Units</th>
7744 <th class="th_range">Range</th>
7745 <th class="th_notes">Notes</th>
7746 <th class="th_tags">Tags</th>
7747 </tr>
7748 </thead>
7749
7750 <tbody>
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7762 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7763 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007764 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007765 <span class="entry_type_container">x</span>
7766
7767 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007768 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007769 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007770 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007771
7772
7773 </td> <!-- entry_type -->
7774
7775 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007776 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7777<br>
7778<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7779 (width,<wbr> height).<wbr> The region of the sensor that is used for
7780 output.<wbr> Each stream must use this rectangle to produce its
7781 output,<wbr> cropping to a smaller region if necessary to
7782 maintain the stream's aspect ratio.<wbr>
7783<br>
7784<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007785 </td>
7786
7787 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007788 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7789 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007790 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007791 </td>
7792
7793 <td class="entry_range">
7794 </td>
7795
7796 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007797
7798 Any additional per-stream cropping must be done to
7799 maximize the final pixel area of the stream.<wbr>
7800<br>
7801<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7802 ratio,<wbr> then 4:3 streams should use the exact crop
7803 region.<wbr> 16:9 streams should further crop vertically
7804 (letterbox).<wbr>
7805<br>
7806<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7807 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7808 streams should match exactly.<wbr> These additional crops must
7809 be centered within the crop region.<wbr>
7810<br>
7811<br> The output streams must maintain square pixels at all
7812 times,<wbr> no matter what the relative aspect ratios of the
7813 crop region and the stream are.<wbr> Negative values for
7814 corner are allowed for raw output if full pixel array is
7815 larger than active pixel array.<wbr> Width and height may be
7816 rounded to nearest larger supportable width,<wbr> especially
7817 for raw output,<wbr> where only a few fixed scales may be
7818 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007819 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007820 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007821 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007822 respectively.<wbr>
7823
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007824 </td>
7825
7826 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007827 <ul class="entry_tags">
7828 <li><a href="#tag_BC">BC</a></li>
7829 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007830 </td>
7831
7832 </tr> <!-- end of entry -->
7833
7834
7835
7836 <!-- end of kind -->
7837 </tbody>
7838
7839 <!-- end of section -->
7840 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7841
7842
7843 <tr><td colspan="7" class="kind">controls</td></tr>
7844
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007845 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007846 <tr>
7847 <th class="th_name">Property Name</th>
7848 <th class="th_type">Type</th>
7849 <th class="th_description">Description</th>
7850 <th class="th_units">Units</th>
7851 <th class="th_range">Range</th>
7852 <th class="th_notes">Notes</th>
7853 <th class="th_tags">Tags</th>
7854 </tr>
7855 </thead>
7856
7857 <tbody>
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868 <tr class="entry" id="controls_android.sensor.exposureTime">
7869 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7870 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007871 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007872
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007873 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007874
7875
7876 </td> <!-- entry_type -->
7877
7878 <td class="entry_description">
7879 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007880 light.<wbr>
7881<br>
7882<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7883 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7884
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007885 </td>
7886
7887 <td class="entry_units">
7888 nanoseconds
7889 </td>
7890
7891 <td class="entry_range">
7892 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7893 </td>
7894
7895 <td class="entry_notes">
7896 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7897 </td>
7898
7899 <td class="entry_tags">
7900 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007901 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007902 </ul>
7903 </td>
7904
7905 </tr> <!-- end of entry -->
7906
7907
7908 <tr class="entry" id="controls_android.sensor.frameDuration">
7909 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7910 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007911 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007913 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007914
7915
7916 </td> <!-- entry_type -->
7917
7918 <td class="entry_description">
7919 Duration from start of frame exposure to
7920 start of next frame exposure
7921 </td>
7922
7923 <td class="entry_units">
7924 nanoseconds
7925 </td>
7926
7927 <td class="entry_range">
7928 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7929 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7930 </td>
7931
7932 <td class="entry_notes">
7933 Exposure time has priority,<wbr> so duration is set to
7934 max(duration,<wbr> exposure time + overhead)
7935 </td>
7936
7937 <td class="entry_tags">
7938 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007939 <li><a href="#tag_V1">V1</a></li>
7940 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007941 </ul>
7942 </td>
7943
7944 </tr> <!-- end of entry -->
7945
7946
7947 <tr class="entry" id="controls_android.sensor.sensitivity">
7948 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007950 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007951
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007952 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007953
7954
7955 </td> <!-- entry_type -->
7956
7957 <td class="entry_description">
7958 Gain applied to image data.<wbr> Must be
7959 implemented through analog gain only if set to values
7960 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007961<br>
7962<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7963 gain to the nearest possible value (rather than gain more).<wbr>
7964
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007965 </td>
7966
7967 <td class="entry_units">
7968 ISO arithmetic units
7969 </td>
7970
7971 <td class="entry_range">
7972 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7973 </td>
7974
7975 <td class="entry_notes">
7976 ISO 12232:2006 REI method
7977 </td>
7978
7979 <td class="entry_tags">
7980 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007981 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007982 </ul>
7983 </td>
7984
7985 </tr> <!-- end of entry -->
7986
7987
7988
7989 <!-- end of kind -->
7990 </tbody>
7991 <tr><td colspan="7" class="kind">static</td></tr>
7992
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007993 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007994 <tr>
7995 <th class="th_name">Property Name</th>
7996 <th class="th_type">Type</th>
7997 <th class="th_description">Description</th>
7998 <th class="th_units">Units</th>
7999 <th class="th_range">Range</th>
8000 <th class="th_notes">Notes</th>
8001 <th class="th_tags">Tags</th>
8002 </tr>
8003 </thead>
8004
8005 <tbody>
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018 <tr class="entry" id="static_android.sensor.info.activeArraySize">
8019 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
8020 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008021 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008022 <span class="entry_type_container">x</span>
8023
8024 <span class="entry_type_array">
8025 4
8026 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008027 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008028 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
8029
8030
8031 </td> <!-- entry_type -->
8032
8033 <td class="entry_description">
8034 Area of raw data which corresponds to only
8035 active pixels; smaller or equal to
8036 pixelArraySize.<wbr>
8037 </td>
8038
8039 <td class="entry_units">
8040 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
8041 pixel array is (0,<wbr>0)
8042 </td>
8043
8044 <td class="entry_range">
8045 </td>
8046
8047 <td class="entry_notes">
8048 </td>
8049
8050 <td class="entry_tags">
8051 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008052 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008053 </ul>
8054 </td>
8055
8056 </tr> <!-- end of entry -->
8057
8058
Zhijun He69fc0ea2013-07-17 09:42:58 -07008059 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
8060 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008062 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008063 <span class="entry_type_container">x</span>
8064
8065 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008066 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008067 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008068 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07008069 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008070
8071
8072 </td> <!-- entry_type -->
8073
8074 <td class="entry_description">
8075 Range of valid sensitivities
8076 </td>
8077
8078 <td class="entry_units">
8079 </td>
8080
8081 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008082 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008083 </td>
8084
8085 <td class="entry_notes">
8086 </td>
8087
8088 <td class="entry_tags">
8089 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008090 <li><a href="#tag_BC">BC</a></li>
8091 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008092 </ul>
8093 </td>
8094
8095 </tr> <!-- end of entry -->
8096
8097
8098 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
8099 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
8100 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008101 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008103 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008104
8105 <ul class="entry_type_enum">
8106 <li>
8107 <span class="entry_type_enum_name">RGGB</span>
8108 </li>
8109 <li>
8110 <span class="entry_type_enum_name">GRBG</span>
8111 </li>
8112 <li>
8113 <span class="entry_type_enum_name">GBRG</span>
8114 </li>
8115 <li>
8116 <span class="entry_type_enum_name">BGGR</span>
8117 </li>
8118 <li>
8119 <span class="entry_type_enum_name">RGB</span>
8120 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
8121 values for each pixel,<wbr> instead of just 1 16-bit value
8122 per pixel.<wbr></span>
8123 </li>
8124 </ul>
8125
8126 </td> <!-- entry_type -->
8127
8128 <td class="entry_description">
8129 Arrangement of color filters on sensor;
8130 represents the colors in the top-left 2x2 section of
8131 the sensor,<wbr> in reading order
8132 </td>
8133
8134 <td class="entry_units">
8135 </td>
8136
8137 <td class="entry_range">
8138 </td>
8139
8140 <td class="entry_notes">
8141 </td>
8142
8143 <td class="entry_tags">
8144 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008145 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008146 </ul>
8147 </td>
8148
8149 </tr> <!-- end of entry -->
8150
8151
8152 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
8153 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
8154 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008155 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008156 <span class="entry_type_container">x</span>
8157
8158 <span class="entry_type_array">
8159 2
8160 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008161 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008162 <div class="entry_type_notes">nanoseconds</div>
8163
8164
8165 </td> <!-- entry_type -->
8166
8167 <td class="entry_description">
8168 Range of valid exposure
8169 times
8170 </td>
8171
8172 <td class="entry_units">
8173 </td>
8174
8175 <td class="entry_range">
8176 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8177 sec)
8178 </td>
8179
8180 <td class="entry_notes">
8181 </td>
8182
8183 <td class="entry_tags">
8184 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008185 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008186 </ul>
8187 </td>
8188
8189 </tr> <!-- end of entry -->
8190
8191
8192 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8193 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8194 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008195 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008196
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008197 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008198
8199
8200 </td> <!-- entry_type -->
8201
8202 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008203 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008204 rate)
8205 </td>
8206
8207 <td class="entry_units">
8208 nanoseconds
8209 </td>
8210
8211 <td class="entry_range">
8212 >= 30e9
8213 </td>
8214
8215 <td class="entry_notes">
8216 Minimum duration is a function of resolution,<wbr>
8217 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008218 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8219 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8220 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008221 </td>
8222
8223 <td class="entry_tags">
8224 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008225 <li><a href="#tag_BC">BC</a></li>
8226 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008227 </ul>
8228 </td>
8229
8230 </tr> <!-- end of entry -->
8231
8232
8233 <tr class="entry" id="static_android.sensor.info.physicalSize">
8234 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008236 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008237 <span class="entry_type_container">x</span>
8238
8239 <span class="entry_type_array">
8240 2
8241 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008242 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008243 <div class="entry_type_notes">width x height in millimeters</div>
8244
8245
8246 </td> <!-- entry_type -->
8247
8248 <td class="entry_description">
8249 The physical dimensions of the full pixel
8250 array
8251 </td>
8252
8253 <td class="entry_units">
8254 </td>
8255
8256 <td class="entry_range">
8257 </td>
8258
8259 <td class="entry_notes">
8260 Needed for FOV calculation for old API
8261 </td>
8262
8263 <td class="entry_tags">
8264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008265 <li><a href="#tag_V1">V1</a></li>
8266 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008267 </ul>
8268 </td>
8269
8270 </tr> <!-- end of entry -->
8271
8272
8273 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8274 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8275 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008276 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008277 <span class="entry_type_container">x</span>
8278
8279 <span class="entry_type_array">
8280 2
8281 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008282 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008283
8284
8285 </td> <!-- entry_type -->
8286
8287 <td class="entry_description">
8288 Dimensions of full pixel array,<wbr> possibly
8289 including black calibration pixels
8290 </td>
8291
8292 <td class="entry_units">
8293 </td>
8294
8295 <td class="entry_range">
8296 </td>
8297
8298 <td class="entry_notes">
8299 Maximum output resolution for raw format must
8300 match this in
8301 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8302 </td>
8303
8304 <td class="entry_tags">
8305 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008306 <li><a href="#tag_DNG">DNG</a></li>
8307 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008308 </ul>
8309 </td>
8310
8311 </tr> <!-- end of entry -->
8312
8313
8314 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8315 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8316 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008317 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008318
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008319 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008320
8321
8322 </td> <!-- entry_type -->
8323
8324 <td class="entry_description">
8325 Maximum raw value output by
8326 sensor
8327 </td>
8328
8329 <td class="entry_units">
8330 </td>
8331
8332 <td class="entry_range">
8333 > 1024 (10-bit output)
8334 </td>
8335
8336 <td class="entry_notes">
8337 Defines sensor bit depth (10-14 bits is
8338 expected)
8339 </td>
8340
8341 <td class="entry_tags">
8342 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008343 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008344 </ul>
8345 </td>
8346
8347 </tr> <!-- end of entry -->
8348
8349
8350
8351
8352
8353 <tr class="entry" id="static_android.sensor.baseGainFactor">
8354 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8355 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008356 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008357
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008358 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008359
8360
8361 </td> <!-- entry_type -->
8362
8363 <td class="entry_description">
8364 Gain factor from electrons to raw units when
8365 ISO=100
8366 </td>
8367
8368 <td class="entry_units">
8369 </td>
8370
8371 <td class="entry_range">
8372 </td>
8373
8374 <td class="entry_notes">
8375 </td>
8376
8377 <td class="entry_tags">
8378 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008379 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -07008380 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008381 </ul>
8382 </td>
8383
8384 </tr> <!-- end of entry -->
8385
8386
8387 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8388 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8389 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008390 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008391 <span class="entry_type_container">x</span>
8392
8393 <span class="entry_type_array">
8394 4
8395 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008396 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008397 <div class="entry_type_notes">2x2 raw count block</div>
8398
8399
8400 </td> <!-- entry_type -->
8401
8402 <td class="entry_description">
8403 A fixed black level offset for each of the
8404 Bayer mosaic channels
8405 </td>
8406
8407 <td class="entry_units">
8408 </td>
8409
8410 <td class="entry_range">
8411 >= 0 each
8412 </td>
8413
8414 <td class="entry_notes">
8415 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8416 tags
8417 </td>
8418
8419 <td class="entry_tags">
8420 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008421 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008422 </ul>
8423 </td>
8424
8425 </tr> <!-- end of entry -->
8426
8427
8428 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8429 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8430 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008431 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008432 <span class="entry_type_container">x</span>
8433
8434 <span class="entry_type_array">
8435 9
8436 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008437 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008438 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8439
8440
8441 </td> <!-- entry_type -->
8442
8443 <td class="entry_description">
8444 Per-device calibration on top of color space
8445 transform 1
8446 </td>
8447
8448 <td class="entry_units">
8449 </td>
8450
8451 <td class="entry_range">
8452 </td>
8453
8454 <td class="entry_notes">
8455 </td>
8456
8457 <td class="entry_tags">
8458 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008459 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008460 </ul>
8461 </td>
8462
8463 </tr> <!-- end of entry -->
8464
8465
8466 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8467 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008469 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008470 <span class="entry_type_container">x</span>
8471
8472 <span class="entry_type_array">
8473 9
8474 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008475 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008476 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8477
8478
8479 </td> <!-- entry_type -->
8480
8481 <td class="entry_description">
8482 Per-device calibration on top of color space
8483 transform 2
8484 </td>
8485
8486 <td class="entry_units">
8487 </td>
8488
8489 <td class="entry_range">
8490 </td>
8491
8492 <td class="entry_notes">
8493 </td>
8494
8495 <td class="entry_tags">
8496 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008497 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008498 </ul>
8499 </td>
8500
8501 </tr> <!-- end of entry -->
8502
8503
8504 <tr class="entry" id="static_android.sensor.colorTransform1">
8505 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8506 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008507 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008508 <span class="entry_type_container">x</span>
8509
8510 <span class="entry_type_array">
8511 9
8512 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008513 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008514 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8515
8516
8517 </td> <!-- entry_type -->
8518
8519 <td class="entry_description">
8520 Linear mapping from XYZ (D50) color space to
8521 reference linear sensor color,<wbr> for first reference
8522 illuminant
8523 </td>
8524
8525 <td class="entry_units">
8526 </td>
8527
8528 <td class="entry_range">
8529 </td>
8530
8531 <td class="entry_notes">
8532 Use as follows XYZ = inv(transform) * clip( (raw -
8533 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8534 At least in the simple case
8535 </td>
8536
8537 <td class="entry_tags">
8538 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008539 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008540 </ul>
8541 </td>
8542
8543 </tr> <!-- end of entry -->
8544
8545
8546 <tr class="entry" id="static_android.sensor.colorTransform2">
8547 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8548 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008549 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008550 <span class="entry_type_container">x</span>
8551
8552 <span class="entry_type_array">
8553 9
8554 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008555 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008556 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8557
8558
8559 </td> <!-- entry_type -->
8560
8561 <td class="entry_description">
8562 Linear mapping from XYZ (D50) color space to
8563 reference linear sensor color,<wbr> for second reference
8564 illuminant
8565 </td>
8566
8567 <td class="entry_units">
8568 </td>
8569
8570 <td class="entry_range">
8571 </td>
8572
8573 <td class="entry_notes">
8574 </td>
8575
8576 <td class="entry_tags">
8577 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008578 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008579 </ul>
8580 </td>
8581
8582 </tr> <!-- end of entry -->
8583
8584
8585 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8586 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8587 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008588 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008589 <span class="entry_type_container">x</span>
8590
8591 <span class="entry_type_array">
8592 9
8593 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008594 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008595 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8596
8597
8598 </td> <!-- entry_type -->
8599
8600 <td class="entry_description">
8601 Used by DNG for better WB
8602 adaptation
8603 </td>
8604
8605 <td class="entry_units">
8606 </td>
8607
8608 <td class="entry_range">
8609 </td>
8610
8611 <td class="entry_notes">
8612 </td>
8613
8614 <td class="entry_tags">
8615 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008616 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008617 </ul>
8618 </td>
8619
8620 </tr> <!-- end of entry -->
8621
8622
8623 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8624 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008626 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008627 <span class="entry_type_container">x</span>
8628
8629 <span class="entry_type_array">
8630 9
8631 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008632 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008633 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8634
8635
8636 </td> <!-- entry_type -->
8637
8638 <td class="entry_description">
8639 Used by DNG for better WB
8640 adaptation
8641 </td>
8642
8643 <td class="entry_units">
8644 </td>
8645
8646 <td class="entry_range">
8647 </td>
8648
8649 <td class="entry_notes">
8650 </td>
8651
8652 <td class="entry_tags">
8653 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008654 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008655 </ul>
8656 </td>
8657
8658 </tr> <!-- end of entry -->
8659
8660
8661 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8662 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8663 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008664 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008665
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008666 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008667
8668
8669 </td> <!-- entry_type -->
8670
8671 <td class="entry_description">
8672 Maximum sensitivity that is implemented
8673 purely through analog gain
8674 </td>
8675
8676 <td class="entry_units">
8677 </td>
8678
8679 <td class="entry_range">
8680 </td>
8681
8682 <td class="entry_notes">
8683 For android.<wbr>sensor.<wbr>sensitivity values less than or
8684 equal to this,<wbr> all applied gain must be analog.<wbr> For
8685 values above this,<wbr> it can be a mix of analog and
8686 digital
8687 </td>
8688
8689 <td class="entry_tags">
8690 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008691 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -07008692 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008693 </ul>
8694 </td>
8695
8696 </tr> <!-- end of entry -->
8697
8698
8699 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8700 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8701 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008702 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008703 <span class="entry_type_container">x</span>
8704
8705 <span class="entry_type_array">
8706 2
8707 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008708 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008709 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8710
8711
8712 </td> <!-- entry_type -->
8713
8714 <td class="entry_description">
8715 Estimation of sensor noise
8716 characteristics
8717 </td>
8718
8719 <td class="entry_units">
8720 var(raw pixel value) = electrons * (baseGainFactor
8721 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8722 B
8723 </td>
8724
8725 <td class="entry_range">
8726 </td>
8727
8728 <td class="entry_notes">
8729 A represents sensor read noise before analog
8730 amplification; B represents noise from A/<wbr>D conversion and
8731 other circuits after amplification.<wbr> Both noise sources
8732 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8733 across the sensor
8734 </td>
8735
8736 <td class="entry_tags">
8737 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008738 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008739 </ul>
8740 </td>
8741
8742 </tr> <!-- end of entry -->
8743
8744
8745 <tr class="entry" id="static_android.sensor.orientation">
8746 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8747 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008748 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008749
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008750 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008751
8752
8753 </td> <!-- entry_type -->
8754
8755 <td class="entry_description">
8756 Clockwise angle through which the output
8757 image needs to be rotated to be upright on the device
8758 screen in its native orientation.<wbr> Also defines the
8759 direction of rolling shutter readout,<wbr> which is from top
8760 to bottom in the sensor's coordinate system
8761 </td>
8762
8763 <td class="entry_units">
8764 degrees clockwise rotation,<wbr> only multiples of
8765 90
8766 </td>
8767
8768 <td class="entry_range">
8769 0,<wbr>90,<wbr>180,<wbr>270
8770 </td>
8771
8772 <td class="entry_notes">
8773 </td>
8774
8775 <td class="entry_tags">
8776 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008777 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008778 </ul>
8779 </td>
8780
8781 </tr> <!-- end of entry -->
8782
8783
8784 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8785 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008787 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008788
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008789 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008790
8791 <ul class="entry_type_enum">
8792 <li>
8793 <span class="entry_type_enum_name">DAYLIGHT</span>
8794 <span class="entry_type_enum_value">1</span>
8795 </li>
8796 <li>
8797 <span class="entry_type_enum_name">FLUORESCENT</span>
8798 <span class="entry_type_enum_value">2</span>
8799 </li>
8800 <li>
8801 <span class="entry_type_enum_name">TUNGSTEN</span>
8802 <span class="entry_type_enum_value">3</span>
8803 <span class="entry_type_enum_notes">Incandescent light</span>
8804 </li>
8805 <li>
8806 <span class="entry_type_enum_name">FLASH</span>
8807 <span class="entry_type_enum_value">4</span>
8808 </li>
8809 <li>
8810 <span class="entry_type_enum_name">FINE_WEATHER</span>
8811 <span class="entry_type_enum_value">9</span>
8812 </li>
8813 <li>
8814 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8815 <span class="entry_type_enum_value">10</span>
8816 </li>
8817 <li>
8818 <span class="entry_type_enum_name">SHADE</span>
8819 <span class="entry_type_enum_value">11</span>
8820 </li>
8821 <li>
8822 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8823 <span class="entry_type_enum_value">12</span>
8824 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8825 </li>
8826 <li>
8827 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8828 <span class="entry_type_enum_value">13</span>
8829 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8830 </li>
8831 <li>
8832 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8833 <span class="entry_type_enum_value">14</span>
8834 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8835 </li>
8836 <li>
8837 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8838 <span class="entry_type_enum_value">15</span>
8839 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8840 </li>
8841 <li>
8842 <span class="entry_type_enum_name">STANDARD_A</span>
8843 <span class="entry_type_enum_value">17</span>
8844 </li>
8845 <li>
8846 <span class="entry_type_enum_name">STANDARD_B</span>
8847 <span class="entry_type_enum_value">18</span>
8848 </li>
8849 <li>
8850 <span class="entry_type_enum_name">STANDARD_C</span>
8851 <span class="entry_type_enum_value">19</span>
8852 </li>
8853 <li>
8854 <span class="entry_type_enum_name">D55</span>
8855 <span class="entry_type_enum_value">20</span>
8856 </li>
8857 <li>
8858 <span class="entry_type_enum_name">D65</span>
8859 <span class="entry_type_enum_value">21</span>
8860 </li>
8861 <li>
8862 <span class="entry_type_enum_name">D75</span>
8863 <span class="entry_type_enum_value">22</span>
8864 </li>
8865 <li>
8866 <span class="entry_type_enum_name">D50</span>
8867 <span class="entry_type_enum_value">23</span>
8868 </li>
8869 <li>
8870 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8871 <span class="entry_type_enum_value">24</span>
8872 </li>
8873 </ul>
8874
8875 </td> <!-- entry_type -->
8876
8877 <td class="entry_description">
8878 Light source used to define transform
8879 1
8880 </td>
8881
8882 <td class="entry_units">
8883 </td>
8884
8885 <td class="entry_range">
8886 </td>
8887
8888 <td class="entry_notes">
8889 [EXIF LightSource tag] Must all these be
8890 supported? Need CCT for each!
8891 </td>
8892
8893 <td class="entry_tags">
8894 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008895 <li><a href="#tag_DNG">DNG</a></li>
8896 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008897 </ul>
8898 </td>
8899
8900 </tr> <!-- end of entry -->
8901
8902
8903 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8904 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8905 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008906 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008907
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008908 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008909
8910
8911 </td> <!-- entry_type -->
8912
8913 <td class="entry_description">
8914 Light source used to define transform
8915 2
8916 </td>
8917
8918 <td class="entry_units">
8919 Same as illuminant 1
8920 </td>
8921
8922 <td class="entry_range">
8923 </td>
8924
8925 <td class="entry_notes">
8926 </td>
8927
8928 <td class="entry_tags">
8929 </td>
8930
8931 </tr> <!-- end of entry -->
8932
8933
8934
8935 <!-- end of kind -->
8936 </tbody>
8937 <tr><td colspan="7" class="kind">dynamic</td></tr>
8938
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008939 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008940 <tr>
8941 <th class="th_name">Property Name</th>
8942 <th class="th_type">Type</th>
8943 <th class="th_description">Description</th>
8944 <th class="th_units">Units</th>
8945 <th class="th_range">Range</th>
8946 <th class="th_notes">Notes</th>
8947 <th class="th_tags">Tags</th>
8948 </tr>
8949 </thead>
8950
8951 <tbody>
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8963 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8964 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008965 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008966
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008967 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008968
8969
8970 </td> <!-- entry_type -->
8971
8972 <td class="entry_description">
8973 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008974 light.<wbr>
8975<br>
8976<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8977 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8978
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008979 </td>
8980
8981 <td class="entry_units">
8982 nanoseconds
8983 </td>
8984
8985 <td class="entry_range">
8986 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8987 </td>
8988
8989 <td class="entry_notes">
8990 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8991 </td>
8992
8993 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008994 <ul class="entry_tags">
8995 <li><a href="#tag_V1">V1</a></li>
8996 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008997 </td>
8998
8999 </tr> <!-- end of entry -->
9000
9001
9002 <tr class="entry" id="dynamic_android.sensor.frameDuration">
9003 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
9004 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009005 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009006
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009007 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009008
9009
9010 </td> <!-- entry_type -->
9011
9012 <td class="entry_description">
9013 Duration from start of frame exposure to
9014 start of next frame exposure
9015 </td>
9016
9017 <td class="entry_units">
9018 nanoseconds
9019 </td>
9020
9021 <td class="entry_range">
9022 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
9023 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
9024 </td>
9025
9026 <td class="entry_notes">
9027 Exposure time has priority,<wbr> so duration is set to
9028 max(duration,<wbr> exposure time + overhead)
9029 </td>
9030
9031 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009032 <ul class="entry_tags">
9033 <li><a href="#tag_V1">V1</a></li>
9034 <li><a href="#tag_BC">BC</a></li>
9035 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009036 </td>
9037
9038 </tr> <!-- end of entry -->
9039
9040
9041 <tr class="entry" id="dynamic_android.sensor.sensitivity">
9042 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
9043 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009044 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009045
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009046 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009047
9048
9049 </td> <!-- entry_type -->
9050
9051 <td class="entry_description">
9052 Gain applied to image data.<wbr> Must be
9053 implemented through analog gain only if set to values
9054 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009055<br>
9056<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
9057 gain to the nearest possible value (rather than gain more).<wbr>
9058
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009059 </td>
9060
9061 <td class="entry_units">
9062 ISO arithmetic units
9063 </td>
9064
9065 <td class="entry_range">
9066 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
9067 </td>
9068
9069 <td class="entry_notes">
9070 ISO 12232:2006 REI method
9071 </td>
9072
9073 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009074 <ul class="entry_tags">
9075 <li><a href="#tag_V1">V1</a></li>
9076 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009077 </td>
9078
9079 </tr> <!-- end of entry -->
9080
9081
9082 <tr class="entry" id="dynamic_android.sensor.timestamp">
9083 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
9084 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009085 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009086
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009087 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009088
9089
9090 </td> <!-- entry_type -->
9091
9092 <td class="entry_description">
9093 Time at start of exposure of first
9094 row
9095 </td>
9096
9097 <td class="entry_units">
9098 nanoseconds
9099 </td>
9100
9101 <td class="entry_range">
9102 > 0
9103 </td>
9104
9105 <td class="entry_notes">
9106 Monotonic,<wbr> should be synced to other timestamps in
9107 system
9108 </td>
9109
9110 <td class="entry_tags">
9111 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009112 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009113 </ul>
9114 </td>
9115
9116 </tr> <!-- end of entry -->
9117
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009118
9119 <tr class="entry" id="dynamic_android.sensor.temperature">
9120 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
9121 <td class="entry_type">
9122 <span class="entry_type_name">float</span>
9123
9124 <span class="entry_type_visibility"> [public]</span>
9125
9126
9127 </td> <!-- entry_type -->
9128
9129 <td class="entry_description">
9130 The temperature of the sensor,<wbr> sampled at the time
9131 exposure began for this frame.<wbr>
9132<br>
9133<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
9134 somewhere close to it.<wbr>
9135
9136 </td>
9137
9138 <td class="entry_units">
9139 celsius
9140 </td>
9141
9142 <td class="entry_range">
9143 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9144 </td>
9145
9146 <td class="entry_notes">
9147 </td>
9148
9149 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -07009150 <ul class="entry_tags">
9151 <li><a href="#tag_FULL">FULL</a></li>
9152 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009153 </td>
9154
9155 </tr> <!-- end of entry -->
9156
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009157
9158
9159 <!-- end of kind -->
9160 </tbody>
9161
9162 <!-- end of section -->
9163 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9164
9165
9166 <tr><td colspan="7" class="kind">controls</td></tr>
9167
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>
9175 <th class="th_notes">Notes</th>
9176 <th class="th_tags">Tags</th>
9177 </tr>
9178 </thead>
9179
9180 <tbody>
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191 <tr class="entry" id="controls_android.shading.mode">
9192 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9193 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009194 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009195
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009196 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009197
9198 <ul class="entry_type_enum">
9199 <li>
9200 <span class="entry_type_enum_name">OFF</span>
9201 <span class="entry_type_enum_notes">No shading correction is applied</span>
9202 </li>
9203 <li>
9204 <span class="entry_type_enum_name">FAST</span>
9205 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9206 bayer output</span>
9207 </li>
9208 <li>
9209 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9210 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9211 quality</span>
9212 </li>
9213 </ul>
9214
9215 </td> <!-- entry_type -->
9216
9217 <td class="entry_description">
9218 Quality of lens shading correction applied
9219 to the image data
9220 </td>
9221
9222 <td class="entry_units">
9223 </td>
9224
9225 <td class="entry_range">
9226 </td>
9227
9228 <td class="entry_notes">
9229 </td>
9230
9231 <td class="entry_tags">
9232 </td>
9233
9234 </tr> <!-- end of entry -->
9235
9236
9237 <tr class="entry" id="controls_android.shading.strength">
9238 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9239 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009240 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009241
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009242 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009243
9244
9245 </td> <!-- entry_type -->
9246
9247 <td class="entry_description">
9248 Control the amount of shading correction
9249 applied to the images
9250 </td>
9251
9252 <td class="entry_units">
9253 unitless: 1-10; 10 is full shading
9254 compensation
9255 </td>
9256
9257 <td class="entry_range">
9258 </td>
9259
9260 <td class="entry_notes">
9261 </td>
9262
9263 <td class="entry_tags">
9264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009265 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009266 </ul>
9267 </td>
9268
9269 </tr> <!-- end of entry -->
9270
9271
9272
9273 <!-- end of kind -->
9274 </tbody>
9275 <tr><td colspan="7" class="kind">dynamic</td></tr>
9276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009277 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009278 <tr>
9279 <th class="th_name">Property Name</th>
9280 <th class="th_type">Type</th>
9281 <th class="th_description">Description</th>
9282 <th class="th_units">Units</th>
9283 <th class="th_range">Range</th>
9284 <th class="th_notes">Notes</th>
9285 <th class="th_tags">Tags</th>
9286 </tr>
9287 </thead>
9288
9289 <tbody>
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300 <tr class="entry" id="dynamic_android.shading.mode">
9301 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9302 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009303 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009304
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009305 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009306
9307 <ul class="entry_type_enum">
9308 <li>
9309 <span class="entry_type_enum_name">OFF</span>
9310 <span class="entry_type_enum_notes">No shading correction is applied</span>
9311 </li>
9312 <li>
9313 <span class="entry_type_enum_name">FAST</span>
9314 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9315 bayer output</span>
9316 </li>
9317 <li>
9318 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9319 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9320 quality</span>
9321 </li>
9322 </ul>
9323
9324 </td> <!-- entry_type -->
9325
9326 <td class="entry_description">
9327 Quality of lens shading correction applied
9328 to the image data
9329 </td>
9330
9331 <td class="entry_units">
9332 </td>
9333
9334 <td class="entry_range">
9335 </td>
9336
9337 <td class="entry_notes">
9338 </td>
9339
9340 <td class="entry_tags">
9341 </td>
9342
9343 </tr> <!-- end of entry -->
9344
9345
9346
9347 <!-- end of kind -->
9348 </tbody>
9349
9350 <!-- end of section -->
9351 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9352
9353
9354 <tr><td colspan="7" class="kind">controls</td></tr>
9355
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009356 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009357 <tr>
9358 <th class="th_name">Property Name</th>
9359 <th class="th_type">Type</th>
9360 <th class="th_description">Description</th>
9361 <th class="th_units">Units</th>
9362 <th class="th_range">Range</th>
9363 <th class="th_notes">Notes</th>
9364 <th class="th_tags">Tags</th>
9365 </tr>
9366 </thead>
9367
9368 <tbody>
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9380 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9381 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009382 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009383
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009384 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009385
9386 <ul class="entry_type_enum">
9387 <li>
9388 <span class="entry_type_enum_name">OFF</span>
9389 </li>
9390 <li>
9391 <span class="entry_type_enum_name">SIMPLE</span>
9392 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9393 only</span>
9394 </li>
9395 <li>
9396 <span class="entry_type_enum_name">FULL</span>
9397 <span class="entry_type_enum_notes">Optional Return all face
9398 metadata</span>
9399 </li>
9400 </ul>
9401
9402 </td> <!-- entry_type -->
9403
9404 <td class="entry_description">
9405 State of the face detector
9406 unit
9407 </td>
9408
9409 <td class="entry_units">
9410 </td>
9411
9412 <td class="entry_range">
9413
Zhijun He69fc0ea2013-07-17 09:42:58 -07009414 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009415 </td>
9416
9417 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009418 Whether face detection is enabled,<wbr> and whether it
9419 should output just the basic fields or the full set of
9420 fields.<wbr> Value must be one of the
9421 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009422 </td>
9423
9424 <td class="entry_tags">
9425 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009426 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009427 </ul>
9428 </td>
9429
9430 </tr> <!-- end of entry -->
9431
9432
9433 <tr class="entry" id="controls_android.statistics.histogramMode">
9434 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9435 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009436 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009437
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009438 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009439
9440 <ul class="entry_type_enum">
9441 <li>
9442 <span class="entry_type_enum_name">OFF</span>
9443 </li>
9444 <li>
9445 <span class="entry_type_enum_name">ON</span>
9446 </li>
9447 </ul>
9448
9449 </td> <!-- entry_type -->
9450
9451 <td class="entry_description">
9452 Operating mode for histogram
9453 generation
9454 </td>
9455
9456 <td class="entry_units">
9457 </td>
9458
9459 <td class="entry_range">
9460 </td>
9461
9462 <td class="entry_notes">
9463 </td>
9464
9465 <td class="entry_tags">
9466 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009467 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009468 </ul>
9469 </td>
9470
9471 </tr> <!-- end of entry -->
9472
9473
9474 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9475 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9476 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009477 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009478
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009479 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009480
9481 <ul class="entry_type_enum">
9482 <li>
9483 <span class="entry_type_enum_name">OFF</span>
9484 </li>
9485 <li>
9486 <span class="entry_type_enum_name">ON</span>
9487 </li>
9488 </ul>
9489
9490 </td> <!-- entry_type -->
9491
9492 <td class="entry_description">
9493 Operating mode for sharpness map
9494 generation
9495 </td>
9496
9497 <td class="entry_units">
9498 </td>
9499
9500 <td class="entry_range">
9501 </td>
9502
9503 <td class="entry_notes">
9504 </td>
9505
9506 <td class="entry_tags">
9507 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009508 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009509 </ul>
9510 </td>
9511
9512 </tr> <!-- end of entry -->
9513
Zhijun He69fc0ea2013-07-17 09:42:58 -07009514
9515 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9516 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9517 <td class="entry_type">
9518 <span class="entry_type_name entry_type_name_enum">byte</span>
9519
9520 <span class="entry_type_visibility"> [public]</span>
9521
9522 <ul class="entry_type_enum">
9523 <li>
9524 <span class="entry_type_enum_name">OFF</span>
9525 </li>
9526 <li>
9527 <span class="entry_type_enum_name">ON</span>
9528 </li>
9529 </ul>
9530
9531 </td> <!-- entry_type -->
9532
9533 <td class="entry_description">
9534 Whether the HAL needs to output the lens
9535 shading map in output result metadata
9536 </td>
9537
9538 <td class="entry_units">
9539 </td>
9540
9541 <td class="entry_range">
9542 </td>
9543
9544 <td class="entry_notes">
9545 When set to ON,<wbr>
9546 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9547 the output result metdata.<wbr>
9548 </td>
9549
9550 <td class="entry_tags">
9551 </td>
9552
9553 </tr> <!-- end of entry -->
9554
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555
9556
9557 <!-- end of kind -->
9558 </tbody>
9559 <tr><td colspan="7" class="kind">static</td></tr>
9560
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009561 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009562 <tr>
9563 <th class="th_name">Property Name</th>
9564 <th class="th_type">Type</th>
9565 <th class="th_description">Description</th>
9566 <th class="th_units">Units</th>
9567 <th class="th_range">Range</th>
9568 <th class="th_notes">Notes</th>
9569 <th class="th_tags">Tags</th>
9570 </tr>
9571 </thead>
9572
9573 <tbody>
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9587 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009589 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009590 <span class="entry_type_container">x</span>
9591
9592 <span class="entry_type_array">
9593 n
9594 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009595 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009596 <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 -08009597
9598
9599 </td> <!-- entry_type -->
9600
9601 <td class="entry_description">
9602 Which face detection modes are available,<wbr>
9603 if any
9604 </td>
9605
9606 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009607 List of enum:
9608 OFF
9609 SIMPLE
9610 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009611 </td>
9612
9613 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009614 </td>
9615
9616 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009617 OFF means face detection is disabled,<wbr> it must
9618 be included in the list.<wbr>
9619<br>
9620<br> SIMPLE means the device supports the
9621 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9622 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9623<br>
9624<br> FULL means the device additionally supports the
9625 android.<wbr>statistics.<wbr>face<wbr>Ids and
9626 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9627
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009628 </td>
9629
9630 <td class="entry_tags">
9631 </td>
9632
9633 </tr> <!-- end of entry -->
9634
9635
9636 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9637 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9638 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009639 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009640
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009641 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009642
9643
9644 </td> <!-- entry_type -->
9645
9646 <td class="entry_description">
9647 Number of histogram buckets
9648 supported
9649 </td>
9650
9651 <td class="entry_units">
9652 </td>
9653
9654 <td class="entry_range">
9655 >= 64
9656 </td>
9657
9658 <td class="entry_notes">
9659 </td>
9660
9661 <td class="entry_tags">
9662 </td>
9663
9664 </tr> <!-- end of entry -->
9665
9666
9667 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9668 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009670 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009671
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009672 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009673
9674
9675 </td> <!-- entry_type -->
9676
9677 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009678 Maximum number of simultaneously detectable
9679 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009680 </td>
9681
9682 <td class="entry_units">
9683 </td>
9684
9685 <td class="entry_range">
9686 >= 4 if availableFaceDetectionModes lists
9687 modes besides OFF,<wbr> otherwise 0
9688 </td>
9689
9690 <td class="entry_notes">
9691 </td>
9692
9693 <td class="entry_tags">
9694 </td>
9695
9696 </tr> <!-- end of entry -->
9697
9698
9699 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9700 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9701 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009702 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009703
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009704 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009705
9706
9707 </td> <!-- entry_type -->
9708
9709 <td class="entry_description">
9710 Maximum value possible for a histogram
9711 bucket
9712 </td>
9713
9714 <td class="entry_units">
9715 </td>
9716
9717 <td class="entry_range">
9718 </td>
9719
9720 <td class="entry_notes">
9721 </td>
9722
9723 <td class="entry_tags">
9724 </td>
9725
9726 </tr> <!-- end of entry -->
9727
9728
9729 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9730 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9731 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009732 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009733
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009734 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009735
9736
9737 </td> <!-- entry_type -->
9738
9739 <td class="entry_description">
9740 Maximum value possible for a sharpness map
9741 region.<wbr>
9742 </td>
9743
9744 <td class="entry_units">
9745 </td>
9746
9747 <td class="entry_range">
9748 </td>
9749
9750 <td class="entry_notes">
9751 </td>
9752
9753 <td class="entry_tags">
9754 </td>
9755
9756 </tr> <!-- end of entry -->
9757
9758
9759 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9760 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9761 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009762 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009763 <span class="entry_type_container">x</span>
9764
9765 <span class="entry_type_array">
9766 2
9767 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009768 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009769 <div class="entry_type_notes">width x height</div>
9770
9771
9772 </td> <!-- entry_type -->
9773
9774 <td class="entry_description">
9775 Dimensions of the sharpness
9776 map
9777 </td>
9778
9779 <td class="entry_units">
9780 </td>
9781
9782 <td class="entry_range">
9783 Must be at least 32 x 32
9784 </td>
9785
9786 <td class="entry_notes">
9787 </td>
9788
9789 <td class="entry_tags">
9790 </td>
9791
9792 </tr> <!-- end of entry -->
9793
9794
9795
9796
9797
9798
9799 <!-- end of kind -->
9800 </tbody>
9801 <tr><td colspan="7" class="kind">dynamic</td></tr>
9802
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009803 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009804 <tr>
9805 <th class="th_name">Property Name</th>
9806 <th class="th_type">Type</th>
9807 <th class="th_description">Description</th>
9808 <th class="th_units">Units</th>
9809 <th class="th_range">Range</th>
9810 <th class="th_notes">Notes</th>
9811 <th class="th_tags">Tags</th>
9812 </tr>
9813 </thead>
9814
9815 <tbody>
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9827 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9828 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009829 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009830
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009831 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009832
9833 <ul class="entry_type_enum">
9834 <li>
9835 <span class="entry_type_enum_name">OFF</span>
9836 </li>
9837 <li>
9838 <span class="entry_type_enum_name">SIMPLE</span>
9839 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9840 only</span>
9841 </li>
9842 <li>
9843 <span class="entry_type_enum_name">FULL</span>
9844 <span class="entry_type_enum_notes">Optional Return all face
9845 metadata</span>
9846 </li>
9847 </ul>
9848
9849 </td> <!-- entry_type -->
9850
9851 <td class="entry_description">
9852 State of the face detector
9853 unit
9854 </td>
9855
9856 <td class="entry_units">
9857 </td>
9858
9859 <td class="entry_range">
9860
Zhijun He69fc0ea2013-07-17 09:42:58 -07009861 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009862 </td>
9863
9864 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009865 Whether face detection is enabled,<wbr> and whether it
9866 should output just the basic fields or the full set of
9867 fields.<wbr> Value must be one of the
9868 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009869 </td>
9870
9871 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009872 <ul class="entry_tags">
9873 <li><a href="#tag_BC">BC</a></li>
9874 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009875 </td>
9876
9877 </tr> <!-- end of entry -->
9878
9879
9880 <tr class="entry" id="dynamic_android.statistics.faceIds">
9881 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009883 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009884 <span class="entry_type_container">x</span>
9885
9886 <span class="entry_type_array">
9887 n
9888 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009889 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890
9891
9892 </td> <!-- entry_type -->
9893
9894 <td class="entry_description">
9895 List of unique IDs for detected
9896 faces
9897 </td>
9898
9899 <td class="entry_units">
9900 </td>
9901
9902 <td class="entry_range">
9903 </td>
9904
9905 <td class="entry_notes">
9906 Only available if faceDetectMode == FULL
9907 </td>
9908
9909 <td class="entry_tags">
9910 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009911 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009912 </ul>
9913 </td>
9914
9915 </tr> <!-- end of entry -->
9916
9917
9918 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9919 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9920 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009921 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009922 <span class="entry_type_container">x</span>
9923
9924 <span class="entry_type_array">
9925 n x 6
9926 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009927 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009928 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9929
9930
9931 </td> <!-- entry_type -->
9932
9933 <td class="entry_description">
9934 List of landmarks for detected
9935 faces
9936 </td>
9937
9938 <td class="entry_units">
9939 </td>
9940
9941 <td class="entry_range">
9942 </td>
9943
9944 <td class="entry_notes">
9945 Only available if faceDetectMode == FULL
9946 </td>
9947
9948 <td class="entry_tags">
9949 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009950 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009951 </ul>
9952 </td>
9953
9954 </tr> <!-- end of entry -->
9955
9956
9957 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9958 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009960 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009961 <span class="entry_type_container">x</span>
9962
9963 <span class="entry_type_array">
9964 n x 4
9965 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009966 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009967 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9968
9969
9970 </td> <!-- entry_type -->
9971
9972 <td class="entry_description">
9973 List of the bounding rectangles for detected
9974 faces
9975 </td>
9976
9977 <td class="entry_units">
9978 </td>
9979
9980 <td class="entry_range">
9981 </td>
9982
9983 <td class="entry_notes">
9984 Only available if faceDetectMode != OFF
9985 </td>
9986
9987 <td class="entry_tags">
9988 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009989 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009990 </ul>
9991 </td>
9992
9993 </tr> <!-- end of entry -->
9994
9995
9996 <tr class="entry" id="dynamic_android.statistics.faceScores">
9997 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009999 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010000 <span class="entry_type_container">x</span>
10001
10002 <span class="entry_type_array">
10003 n
10004 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010005 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010006
10007
10008 </td> <!-- entry_type -->
10009
10010 <td class="entry_description">
10011 List of the face confidence scores for
10012 detected faces
10013 </td>
10014
10015 <td class="entry_units">
10016 </td>
10017
10018 <td class="entry_range">
Zhijun He59ccb1e2013-10-02 14:06:15 -070010019 1-100
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010020 </td>
10021
10022 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010023 Only available if faceDetectMode != OFF.<wbr> The value should be
10024 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010025 </td>
10026
10027 <td class="entry_tags">
10028 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010029 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010030 </ul>
10031 </td>
10032
10033 </tr> <!-- end of entry -->
10034
10035
10036 <tr class="entry" id="dynamic_android.statistics.histogram">
10037 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
10038 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010039 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010040 <span class="entry_type_container">x</span>
10041
10042 <span class="entry_type_array">
10043 n x 3
10044 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010045 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010046 <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>
10047
10048
10049 </td> <!-- entry_type -->
10050
10051 <td class="entry_description">
10052 A 3-channel histogram based on the raw
10053 sensor data
10054 </td>
10055
10056 <td class="entry_units">
10057 </td>
10058
10059 <td class="entry_range">
10060 </td>
10061
10062 <td class="entry_notes">
10063 The k'th bucket (0-based) covers the input range
10064 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
10065 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
10066 supported,<wbr> all channels should have the same data
10067 </td>
10068
10069 <td class="entry_tags">
10070 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010071 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010072 </ul>
10073 </td>
10074
10075 </tr> <!-- end of entry -->
10076
10077
10078 <tr class="entry" id="dynamic_android.statistics.histogramMode">
10079 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
10080 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010081 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010082
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010083 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010084
10085 <ul class="entry_type_enum">
10086 <li>
10087 <span class="entry_type_enum_name">OFF</span>
10088 </li>
10089 <li>
10090 <span class="entry_type_enum_name">ON</span>
10091 </li>
10092 </ul>
10093
10094 </td> <!-- entry_type -->
10095
10096 <td class="entry_description">
10097 Operating mode for histogram
10098 generation
10099 </td>
10100
10101 <td class="entry_units">
10102 </td>
10103
10104 <td class="entry_range">
10105 </td>
10106
10107 <td class="entry_notes">
10108 </td>
10109
10110 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010111 <ul class="entry_tags">
10112 <li><a href="#tag_V1">V1</a></li>
10113 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010114 </td>
10115
10116 </tr> <!-- end of entry -->
10117
10118
10119 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
10120 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
10121 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010122 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010123 <span class="entry_type_container">x</span>
10124
10125 <span class="entry_type_array">
10126 n x m x 3
10127 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010128 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010129 <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>
10130
10131
10132 </td> <!-- entry_type -->
10133
10134 <td class="entry_description">
10135 A 3-channel sharpness map,<wbr> based on the raw
10136 sensor data
10137 </td>
10138
10139 <td class="entry_units">
10140 </td>
10141
10142 <td class="entry_range">
10143 </td>
10144
10145 <td class="entry_notes">
10146 If only a monochrome sharpness map is supported,<wbr>
10147 all channels should have the same data
10148 </td>
10149
10150 <td class="entry_tags">
10151 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010152 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010153 </ul>
10154 </td>
10155
10156 </tr> <!-- end of entry -->
10157
10158
10159 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10160 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010162 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010163
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010164 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010165
10166 <ul class="entry_type_enum">
10167 <li>
10168 <span class="entry_type_enum_name">OFF</span>
10169 </li>
10170 <li>
10171 <span class="entry_type_enum_name">ON</span>
10172 </li>
10173 </ul>
10174
10175 </td> <!-- entry_type -->
10176
10177 <td class="entry_description">
10178 Operating mode for sharpness map
10179 generation
10180 </td>
10181
10182 <td class="entry_units">
10183 </td>
10184
10185 <td class="entry_range">
10186 </td>
10187
10188 <td class="entry_notes">
10189 </td>
10190
10191 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010192 <ul class="entry_tags">
10193 <li><a href="#tag_V1">V1</a></li>
10194 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010195 </td>
10196
10197 </tr> <!-- end of entry -->
10198
Zhijun He69fc0ea2013-07-17 09:42:58 -070010199
10200 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10201 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10202 <td class="entry_type">
10203 <span class="entry_type_name">float</span>
10204 <span class="entry_type_container">x</span>
10205
10206 <span class="entry_type_array">
10207 4 x n x m
10208 </span>
10209 <span class="entry_type_visibility"> [public]</span>
10210 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10211
10212
10213 </td> <!-- entry_type -->
10214
10215 <td class="entry_description">
10216 A low-resolution map of lens shading,<wbr> per
10217 color channel
10218 </td>
10219
10220 <td class="entry_units">
10221 </td>
10222
10223 <td class="entry_range">
10224 Each gain factor is >= 1
10225 </td>
10226
10227 <td class="entry_notes">
10228 Assume bilinear interpolation of map.<wbr> The least
10229 shaded section of the image should have a gain factor
10230 of 1; all other sections should have gains above 1.<wbr>
10231 the map should be on the order of 30-40 rows,<wbr> and
10232 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010233<br>
10234<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10235 must take into account the colorCorrection settings.<wbr>
10236
Zhijun He69fc0ea2013-07-17 09:42:58 -070010237 </td>
10238
10239 <td class="entry_tags">
10240 </td>
10241
10242 </tr> <!-- end of entry -->
10243
10244
10245 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10246 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10247 <td class="entry_type">
10248 <span class="entry_type_name">float</span>
10249 <span class="entry_type_container">x</span>
10250
10251 <span class="entry_type_array">
10252 4
10253 </span>
10254 <span class="entry_type_visibility"> [public]</span>
10255 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10256
10257
10258 </td> <!-- entry_type -->
10259
10260 <td class="entry_description">
10261 The best-fit color channel gains calculated
10262 by the HAL's statistics units for the current output frame
10263
10264 </td>
10265
10266 <td class="entry_units">
10267 </td>
10268
10269 <td class="entry_range">
10270 </td>
10271
10272 <td class="entry_notes">
10273
10274 This may be different than the gains used for this frame,<wbr>
10275 since statistics processing on data from a new frame
10276 typically completes after the transform has already been
10277 applied to that frame.<wbr>
10278<br>
10279<br> The 4 channel gains are defined in Bayer domain,<wbr>
10280 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010281<br>
10282<br> This value should always be calculated by the AWB block,<wbr>
10283 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10284
Zhijun He69fc0ea2013-07-17 09:42:58 -070010285 </td>
10286
10287 <td class="entry_tags">
10288 </td>
10289
10290 </tr> <!-- end of entry -->
10291
10292
10293 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10294 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10295 <td class="entry_type">
10296 <span class="entry_type_name">rational</span>
10297 <span class="entry_type_container">x</span>
10298
10299 <span class="entry_type_array">
10300 3 x 3
10301 </span>
10302 <span class="entry_type_visibility"> [public]</span>
10303 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10304
10305
10306 </td> <!-- entry_type -->
10307
10308 <td class="entry_description">
10309 The best-fit color transform matrix estimate
10310 calculated by the HAL's statistics units for the current
10311 output frame
10312 </td>
10313
10314 <td class="entry_units">
10315 </td>
10316
10317 <td class="entry_range">
10318 </td>
10319
10320 <td class="entry_notes">
10321 The HAL must provide the estimate from its
10322 statistics unit on the white balance transforms to use
10323 for the next frame.<wbr> These are the values the HAL believes
10324 are the best fit for the current output frame.<wbr> This may
10325 be different than the transform used for this frame,<wbr> since
10326 statistics processing on data from a new frame typically
10327 completes after the transform has already been applied to
10328 that frame.<wbr>
10329<br>
10330<br> These estimates must be provided for all frames,<wbr> even if
10331 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010332<br>
10333<br> This value should always be calculated by the AWB block,<wbr>
10334 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010335
10336 </td>
10337
10338 <td class="entry_tags">
10339 </td>
10340
10341 </tr> <!-- end of entry -->
10342
10343
10344 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10345 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10346 <td class="entry_type">
10347 <span class="entry_type_name entry_type_name_enum">byte</span>
10348
10349 <span class="entry_type_visibility"> [public]</span>
10350
10351 <ul class="entry_type_enum">
10352 <li>
10353 <span class="entry_type_enum_name">NONE</span>
10354 </li>
10355 <li>
10356 <span class="entry_type_enum_name">50HZ</span>
10357 </li>
10358 <li>
10359 <span class="entry_type_enum_name">60HZ</span>
10360 </li>
10361 </ul>
10362
10363 </td> <!-- entry_type -->
10364
10365 <td class="entry_description">
10366 The HAL estimated scene illumination lighting
10367 frequency
10368 </td>
10369
10370 <td class="entry_units">
10371 </td>
10372
10373 <td class="entry_range">
10374 </td>
10375
10376 <td class="entry_notes">
10377 Report NONE if there doesn't appear to be flickering
10378 illumination
10379 </td>
10380
10381 <td class="entry_tags">
10382 </td>
10383
10384 </tr> <!-- end of entry -->
10385
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010386
10387
10388 <!-- end of kind -->
10389 </tbody>
10390
10391 <!-- end of section -->
10392 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10393
10394
10395 <tr><td colspan="7" class="kind">controls</td></tr>
10396
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010397 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010398 <tr>
10399 <th class="th_name">Property Name</th>
10400 <th class="th_type">Type</th>
10401 <th class="th_description">Description</th>
10402 <th class="th_units">Units</th>
10403 <th class="th_range">Range</th>
10404 <th class="th_notes">Notes</th>
10405 <th class="th_tags">Tags</th>
10406 </tr>
10407 </thead>
10408
10409 <tbody>
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420 <tr class="entry" id="controls_android.tonemap.curveBlue">
10421 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10422 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010423 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010424 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010425
Zhijun He704d1282013-08-19 15:26:33 -070010426 <span class="entry_type_array">
10427 n x 2
10428 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010429 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010430 <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 -080010431
10432
10433 </td> <!-- entry_type -->
10434
10435 <td class="entry_description">
10436 Table mapping blue input values to output
10437 values
10438 </td>
10439
10440 <td class="entry_units">
10441 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10442 </td>
10443
10444 <td class="entry_range">
10445 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10446 </td>
10447
10448 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010449 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10450 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10451<br>
10452<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010453 </td>
10454
10455 <td class="entry_tags">
10456 </td>
10457
10458 </tr> <!-- end of entry -->
10459
10460
10461 <tr class="entry" id="controls_android.tonemap.curveGreen">
10462 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10463 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010464 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010465 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010466
Zhijun He704d1282013-08-19 15:26:33 -070010467 <span class="entry_type_array">
10468 n x 2
10469 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010470 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010471 <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 -080010472
10473
10474 </td> <!-- entry_type -->
10475
10476 <td class="entry_description">
10477 Table mapping green input values to output
10478 values
10479 </td>
10480
10481 <td class="entry_units">
10482 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10483 </td>
10484
10485 <td class="entry_range">
10486 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10487 </td>
10488
10489 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010490 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10491 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10492<br>
10493<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010494 </td>
10495
10496 <td class="entry_tags">
10497 </td>
10498
10499 </tr> <!-- end of entry -->
10500
10501
10502 <tr class="entry" id="controls_android.tonemap.curveRed">
10503 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10504 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010505 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010506 <span class="entry_type_container">x</span>
10507
10508 <span class="entry_type_array">
10509 n x 2
10510 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010511 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010512 <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 -080010513
10514
10515 </td> <!-- entry_type -->
10516
10517 <td class="entry_description">
10518 Table mapping red input values to output
10519 values
10520 </td>
10521
10522 <td class="entry_units">
10523 </td>
10524
10525 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010526 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010527 </td>
10528
10529 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010530 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10531 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10532<br>
10533<br> Since the input and output ranges may vary depending on
10534 the camera pipeline,<wbr> the input and output pixel values
10535 are represented by normalized floating-point values
10536 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10537<br>
10538<br> The curve should be linearly interpolated between the
10539 defined points.<wbr> The points will be listed in increasing
10540 order of P_<wbr>IN.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010541 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10542 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10543 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10544 </td>
10545
10546 <td class="entry_tags">
10547 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010548 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010549 </ul>
10550 </td>
10551
10552 </tr> <!-- end of entry -->
10553
10554
10555 <tr class="entry" id="controls_android.tonemap.mode">
10556 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010558 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010559
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010560 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010561
10562 <ul class="entry_type_enum">
10563 <li>
10564 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10565 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10566 android.<wbr>tonemap.<wbr>curve</span>
10567 </li>
10568 <li>
10569 <span class="entry_type_enum_name">FAST</span>
10570 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10571 bayer output</span>
10572 </li>
10573 <li>
10574 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10575 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10576 quality</span>
10577 </li>
10578 </ul>
10579
10580 </td> <!-- entry_type -->
10581
10582 <td class="entry_description">
10583 </td>
10584
10585 <td class="entry_units">
10586 </td>
10587
10588 <td class="entry_range">
10589 </td>
10590
10591 <td class="entry_notes">
10592 </td>
10593
10594 <td class="entry_tags">
10595 </td>
10596
10597 </tr> <!-- end of entry -->
10598
10599
10600
10601 <!-- end of kind -->
10602 </tbody>
10603 <tr><td colspan="7" class="kind">static</td></tr>
10604
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010605 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010606 <tr>
10607 <th class="th_name">Property Name</th>
10608 <th class="th_type">Type</th>
10609 <th class="th_description">Description</th>
10610 <th class="th_units">Units</th>
10611 <th class="th_range">Range</th>
10612 <th class="th_notes">Notes</th>
10613 <th class="th_tags">Tags</th>
10614 </tr>
10615 </thead>
10616
10617 <tbody>
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10629 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10630 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010631 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010632
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010633 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010634
10635
10636 </td> <!-- entry_type -->
10637
10638 <td class="entry_description">
10639 Maximum number of supported points in the
10640 tonemap curve
10641 </td>
10642
10643 <td class="entry_units">
10644 </td>
10645
10646 <td class="entry_range">
10647 >= 128
10648 </td>
10649
10650 <td class="entry_notes">
10651 </td>
10652
10653 <td class="entry_tags">
10654 </td>
10655
10656 </tr> <!-- end of entry -->
10657
10658
10659
10660 <!-- end of kind -->
10661 </tbody>
10662 <tr><td colspan="7" class="kind">dynamic</td></tr>
10663
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010664 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010665 <tr>
10666 <th class="th_name">Property Name</th>
10667 <th class="th_type">Type</th>
10668 <th class="th_description">Description</th>
10669 <th class="th_units">Units</th>
10670 <th class="th_range">Range</th>
10671 <th class="th_notes">Notes</th>
10672 <th class="th_tags">Tags</th>
10673 </tr>
10674 </thead>
10675
10676 <tbody>
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10688 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10689 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010690 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010691 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010692
Zhijun He704d1282013-08-19 15:26:33 -070010693 <span class="entry_type_array">
10694 n x 2
10695 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010696 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010697 <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 -080010698
10699
10700 </td> <!-- entry_type -->
10701
10702 <td class="entry_description">
10703 Table mapping blue input values to output
10704 values
10705 </td>
10706
10707 <td class="entry_units">
10708 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10709 </td>
10710
10711 <td class="entry_range">
10712 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10713 </td>
10714
10715 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010716 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10717 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10718<br>
10719<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010720 </td>
10721
10722 <td class="entry_tags">
10723 </td>
10724
10725 </tr> <!-- end of entry -->
10726
10727
10728 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10729 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10730 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010731 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010732 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010733
Zhijun He704d1282013-08-19 15:26:33 -070010734 <span class="entry_type_array">
10735 n x 2
10736 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010737 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010738 <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 -080010739
10740
10741 </td> <!-- entry_type -->
10742
10743 <td class="entry_description">
10744 Table mapping green input values to output
10745 values
10746 </td>
10747
10748 <td class="entry_units">
10749 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10750 </td>
10751
10752 <td class="entry_range">
10753 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10754 </td>
10755
10756 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010757 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10758 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10759<br>
10760<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010761 </td>
10762
10763 <td class="entry_tags">
10764 </td>
10765
10766 </tr> <!-- end of entry -->
10767
10768
10769 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10770 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10771 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010772 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010773 <span class="entry_type_container">x</span>
10774
10775 <span class="entry_type_array">
10776 n x 2
10777 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010778 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010779 <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 -080010780
10781
10782 </td> <!-- entry_type -->
10783
10784 <td class="entry_description">
10785 Table mapping red input values to output
10786 values
10787 </td>
10788
10789 <td class="entry_units">
10790 </td>
10791
10792 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010793 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010794 </td>
10795
10796 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010797 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10798 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10799<br>
10800<br> Since the input and output ranges may vary depending on
10801 the camera pipeline,<wbr> the input and output pixel values
10802 are represented by normalized floating-point values
10803 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10804<br>
10805<br> The curve should be linearly interpolated between the
10806 defined points.<wbr> The points will be listed in increasing
10807 order of P_<wbr>IN.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010808 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10809 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10810 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10811 </td>
10812
10813 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010814 <ul class="entry_tags">
10815 <li><a href="#tag_DNG">DNG</a></li>
10816 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010817 </td>
10818
10819 </tr> <!-- end of entry -->
10820
10821
10822 <tr class="entry" id="dynamic_android.tonemap.mode">
10823 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10824 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010825 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010827 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010828
10829 <ul class="entry_type_enum">
10830 <li>
10831 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10832 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10833 android.<wbr>tonemap.<wbr>curve</span>
10834 </li>
10835 <li>
10836 <span class="entry_type_enum_name">FAST</span>
10837 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10838 bayer output</span>
10839 </li>
10840 <li>
10841 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10842 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10843 quality</span>
10844 </li>
10845 </ul>
10846
10847 </td> <!-- entry_type -->
10848
10849 <td class="entry_description">
10850 </td>
10851
10852 <td class="entry_units">
10853 </td>
10854
10855 <td class="entry_range">
10856 </td>
10857
10858 <td class="entry_notes">
10859 </td>
10860
10861 <td class="entry_tags">
10862 </td>
10863
10864 </tr> <!-- end of entry -->
10865
10866
10867
10868 <!-- end of kind -->
10869 </tbody>
10870
10871 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010872 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10873
10874
10875 <tr><td colspan="7" class="kind">controls</td></tr>
10876
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010877 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010878 <tr>
10879 <th class="th_name">Property Name</th>
10880 <th class="th_type">Type</th>
10881 <th class="th_description">Description</th>
10882 <th class="th_units">Units</th>
10883 <th class="th_range">Range</th>
10884 <th class="th_notes">Notes</th>
10885 <th class="th_tags">Tags</th>
10886 </tr>
10887 </thead>
10888
10889 <tbody>
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900 <tr class="entry" id="controls_android.led.transmit">
10901 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10902 <td class="entry_type">
10903 <span class="entry_type_name entry_type_name_enum">byte</span>
10904
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010905 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010906
10907 <ul class="entry_type_enum">
10908 <li>
10909 <span class="entry_type_enum_name">OFF</span>
10910 </li>
10911 <li>
10912 <span class="entry_type_enum_name">ON</span>
10913 </li>
10914 </ul>
10915
10916 </td> <!-- entry_type -->
10917
10918 <td class="entry_description">
10919 This LED is nominally used to indicate to the user
10920 that the camera is powered on and may be streaming images back to the
10921 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10922 disable this when video is processed locally and not transmitted to
10923 any untrusted applications.<wbr>
10924<br>
10925<br> In particular,<wbr> the LED *must* always be on when the data could be
10926 transmitted off the device.<wbr> The LED *should* always be on whenever
10927 data is stored locally on the device.<wbr>
10928<br>
10929<br> The LED *may* be off if a trusted application is using the data that
10930 doesn't violate the above rules.<wbr>
10931
10932 </td>
10933
10934 <td class="entry_units">
10935 </td>
10936
10937 <td class="entry_range">
10938 </td>
10939
10940 <td class="entry_notes">
10941 </td>
10942
10943 <td class="entry_tags">
10944 </td>
10945
10946 </tr> <!-- end of entry -->
10947
10948
10949
10950 <!-- end of kind -->
10951 </tbody>
10952 <tr><td colspan="7" class="kind">dynamic</td></tr>
10953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010954 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010955 <tr>
10956 <th class="th_name">Property Name</th>
10957 <th class="th_type">Type</th>
10958 <th class="th_description">Description</th>
10959 <th class="th_units">Units</th>
10960 <th class="th_range">Range</th>
10961 <th class="th_notes">Notes</th>
10962 <th class="th_tags">Tags</th>
10963 </tr>
10964 </thead>
10965
10966 <tbody>
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977 <tr class="entry" id="dynamic_android.led.transmit">
10978 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10979 <td class="entry_type">
10980 <span class="entry_type_name entry_type_name_enum">byte</span>
10981
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010982 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010983
10984 <ul class="entry_type_enum">
10985 <li>
10986 <span class="entry_type_enum_name">OFF</span>
10987 </li>
10988 <li>
10989 <span class="entry_type_enum_name">ON</span>
10990 </li>
10991 </ul>
10992
10993 </td> <!-- entry_type -->
10994
10995 <td class="entry_description">
10996 This LED is nominally used to indicate to the user
10997 that the camera is powered on and may be streaming images back to the
10998 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10999 disable this when video is processed locally and not transmitted to
11000 any untrusted applications.<wbr>
11001<br>
11002<br> In particular,<wbr> the LED *must* always be on when the data could be
11003 transmitted off the device.<wbr> The LED *should* always be on whenever
11004 data is stored locally on the device.<wbr>
11005<br>
11006<br> The LED *may* be off if a trusted application is using the data that
11007 doesn't violate the above rules.<wbr>
11008
11009 </td>
11010
11011 <td class="entry_units">
11012 </td>
11013
11014 <td class="entry_range">
11015 </td>
11016
11017 <td class="entry_notes">
11018 </td>
11019
11020 <td class="entry_tags">
11021 </td>
11022
11023 </tr> <!-- end of entry -->
11024
11025
11026
11027 <!-- end of kind -->
11028 </tbody>
11029 <tr><td colspan="7" class="kind">static</td></tr>
11030
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011031 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070011032 <tr>
11033 <th class="th_name">Property Name</th>
11034 <th class="th_type">Type</th>
11035 <th class="th_description">Description</th>
11036 <th class="th_units">Units</th>
11037 <th class="th_range">Range</th>
11038 <th class="th_notes">Notes</th>
11039 <th class="th_tags">Tags</th>
11040 </tr>
11041 </thead>
11042
11043 <tbody>
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054 <tr class="entry" id="static_android.led.availableLeds">
11055 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
11056 <td class="entry_type">
11057 <span class="entry_type_name entry_type_name_enum">byte</span>
11058 <span class="entry_type_container">x</span>
11059
11060 <span class="entry_type_array">
11061 n
11062 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011063 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070011064
11065 <ul class="entry_type_enum">
11066 <li>
11067 <span class="entry_type_enum_name">TRANSMIT</span>
11068 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
11069 </li>
11070 </ul>
11071
11072 </td> <!-- entry_type -->
11073
11074 <td class="entry_description">
11075 A list of camera LEDs that are available on this system.<wbr>
11076
11077 </td>
11078
11079 <td class="entry_units">
11080 </td>
11081
11082 <td class="entry_range">
11083 </td>
11084
11085 <td class="entry_notes">
11086 </td>
11087
11088 <td class="entry_tags">
11089 </td>
11090
11091 </tr> <!-- end of entry -->
11092
11093
11094
11095 <!-- end of kind -->
11096 </tbody>
11097
11098 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011099 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
11100
11101
11102 <tr><td colspan="7" class="kind">static</td></tr>
11103
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011104 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011105 <tr>
11106 <th class="th_name">Property Name</th>
11107 <th class="th_type">Type</th>
11108 <th class="th_description">Description</th>
11109 <th class="th_units">Units</th>
11110 <th class="th_range">Range</th>
11111 <th class="th_notes">Notes</th>
11112 <th class="th_tags">Tags</th>
11113 </tr>
11114 </thead>
11115
11116 <tbody>
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127 <tr class="entry" id="static_android.info.supportedHardwareLevel">
11128 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
11129 <td class="entry_type">
11130 <span class="entry_type_name entry_type_name_enum">byte</span>
11131
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011133
11134 <ul class="entry_type_enum">
11135 <li>
11136 <span class="entry_type_enum_name">LIMITED</span>
11137 </li>
11138 <li>
11139 <span class="entry_type_enum_name">FULL</span>
11140 </li>
11141 </ul>
11142
11143 </td> <!-- entry_type -->
11144
11145 <td class="entry_description">
11146
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011147 The camera 3 HAL device can implement one of two possible
11148 operational modes; limited and full.<wbr> Full support is
11149 expected from new higher-end devices.<wbr> Limited mode has
11150 hardware requirements roughly in line with those for a
11151 camera HAL device v1 implementation,<wbr> and is expected from
11152 older or inexpensive devices.<wbr> Full is a strict superset of
11153 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011154<br>
11155<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
11156
11157 </td>
11158
11159 <td class="entry_units">
11160 </td>
11161
11162 <td class="entry_range">
11163 Optional.<wbr> Default value is LIMITED.<wbr>
11164 </td>
11165
11166 <td class="entry_notes">
11167 </td>
11168
11169 <td class="entry_tags">
11170 </td>
11171
11172 </tr> <!-- end of entry -->
11173
11174
11175
11176 <!-- end of kind -->
11177 </tbody>
11178
11179 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011180 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11181
11182
11183 <tr><td colspan="7" class="kind">controls</td></tr>
11184
11185 <thead class="entries_header">
11186 <tr>
11187 <th class="th_name">Property Name</th>
11188 <th class="th_type">Type</th>
11189 <th class="th_description">Description</th>
11190 <th class="th_units">Units</th>
11191 <th class="th_range">Range</th>
11192 <th class="th_notes">Notes</th>
11193 <th class="th_tags">Tags</th>
11194 </tr>
11195 </thead>
11196
11197 <tbody>
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208 <tr class="entry" id="controls_android.blackLevel.lock">
11209 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11210 <td class="entry_type">
11211 <span class="entry_type_name entry_type_name_enum">byte</span>
11212
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011213 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011214
11215 <ul class="entry_type_enum">
11216 <li>
11217 <span class="entry_type_enum_name">OFF</span>
11218 </li>
11219 <li>
11220 <span class="entry_type_enum_name">ON</span>
11221 </li>
11222 </ul>
11223
11224 </td> <!-- entry_type -->
11225
11226 <td class="entry_description">
11227 Whether black-level compensation is locked
11228 to its current values,<wbr> or is free to vary
11229 </td>
11230
11231 <td class="entry_units">
11232 </td>
11233
11234 <td class="entry_range">
11235 </td>
11236
11237 <td class="entry_notes">
11238 When set to ON,<wbr> the values used for black-level
11239 compensation must not change until the lock is set to
11240 OFF
11241<br>
11242<br> Since changes to certain capture parameters (such as
11243 exposure time) may require resetting of black level
11244 compensation,<wbr> the HAL must report whether setting the
11245 black level lock was successful in the output result
11246 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011247<br>
11248<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11249 If for some reason black level locking is no longer legal (for example,<wbr>
11250 the analog gain has changed,<wbr> which forces black levels to be
11251 recalculated),<wbr> then the HAL is free to override this request (and it
11252 must report 'OFF' when this does happen) until the next time locking
11253 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011254 </td>
11255
11256 <td class="entry_tags">
11257 <ul class="entry_tags">
11258 <li><a href="#tag_HAL2">HAL2</a></li>
11259 </ul>
11260 </td>
11261
11262 </tr> <!-- end of entry -->
11263
11264
11265
11266 <!-- end of kind -->
11267 </tbody>
11268 <tr><td colspan="7" class="kind">dynamic</td></tr>
11269
11270 <thead class="entries_header">
11271 <tr>
11272 <th class="th_name">Property Name</th>
11273 <th class="th_type">Type</th>
11274 <th class="th_description">Description</th>
11275 <th class="th_units">Units</th>
11276 <th class="th_range">Range</th>
11277 <th class="th_notes">Notes</th>
11278 <th class="th_tags">Tags</th>
11279 </tr>
11280 </thead>
11281
11282 <tbody>
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293 <tr class="entry" id="dynamic_android.blackLevel.lock">
11294 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11295 <td class="entry_type">
11296 <span class="entry_type_name entry_type_name_enum">byte</span>
11297
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011298 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011299
11300 <ul class="entry_type_enum">
11301 <li>
11302 <span class="entry_type_enum_name">OFF</span>
11303 </li>
11304 <li>
11305 <span class="entry_type_enum_name">ON</span>
11306 </li>
11307 </ul>
11308
11309 </td> <!-- entry_type -->
11310
11311 <td class="entry_description">
11312 Whether black-level compensation is locked
11313 to its current values,<wbr> or is free to vary
11314 </td>
11315
11316 <td class="entry_units">
11317 </td>
11318
11319 <td class="entry_range">
11320 </td>
11321
11322 <td class="entry_notes">
11323 When set to ON,<wbr> the values used for black-level
11324 compensation must not change until the lock is set to
11325 OFF
11326<br>
11327<br> Since changes to certain capture parameters (such as
11328 exposure time) may require resetting of black level
11329 compensation,<wbr> the HAL must report whether setting the
11330 black level lock was successful in the output result
11331 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011332<br>
11333<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11334 If for some reason black level locking is no longer legal (for example,<wbr>
11335 the analog gain has changed,<wbr> which forces black levels to be
11336 recalculated),<wbr> then the HAL is free to override this request (and it
11337 must report 'OFF' when this does happen) until the next time locking
11338 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011339 </td>
11340
11341 <td class="entry_tags">
11342 <ul class="entry_tags">
11343 <li><a href="#tag_HAL2">HAL2</a></li>
11344 </ul>
11345 </td>
11346
11347 </tr> <!-- end of entry -->
11348
11349
11350
11351 <!-- end of kind -->
11352 </tbody>
11353
11354 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011355<!-- </namespace> -->
11356 </table>
11357
11358 <div class="tags" id="tag_index">
11359 <h2>Tags</h2>
11360 <ul>
11361 <li id="tag_AWB">AWB -
11362 Needed for auto white balance
11363
11364 <ul class="tags_entries">
11365 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11366 </ul>
11367 </li> <!-- tag_AWB -->
11368 <li id="tag_BC">BC -
11369 Needed for backwards compatibility with old Java API
11370
11371 <ul class="tags_entries">
11372 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11373 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11374 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11375 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11376 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011377 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011378 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11379 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011380 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011381 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11382 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11383 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11384 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11385 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11386 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11387 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11388 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11389 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11390 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11391 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11392 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11393 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11394 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11395 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11396 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11397 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11398 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11399 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11400 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11401 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11402 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11403 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11404 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11405 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11406 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11407 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11408 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11409 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11410 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11411 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11412 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11413 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11414 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11415 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11416 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011417 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011418 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11419 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11420 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011421 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011422 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011423 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11424 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11425 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11426 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11427 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11428 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11429 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11430 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11431 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11432 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11433 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11434 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11435 </ul>
11436 </li> <!-- tag_BC -->
11437 <li id="tag_V1">V1 -
11438 New features for first camera 2 release (API1)
11439
11440 <ul class="tags_entries">
11441 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11442 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11443 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11444 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11445 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11446 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11447 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11448 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11449 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11450 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11451 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11452 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11453 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11454 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11455 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11456 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11457 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11458 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11459 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11460 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11461 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11462 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11463 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11464 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011465 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011466 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11467 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11468 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11469 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11470 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11471 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11472 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11473 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11474 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11475 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11476 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11477 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11478 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11479 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11480 </ul>
11481 </li> <!-- tag_V1 -->
11482 <li id="tag_ADV">ADV - None
11483 <ul class="tags_entries">
11484 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11485 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11486 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11487 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11488 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11489 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11490 </ul>
11491 </li> <!-- tag_ADV -->
11492 <li id="tag_DNG">DNG -
11493 Needed for DNG file support
11494
11495 <ul class="tags_entries">
11496 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011497 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11498 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11499 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11500 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11501 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11502 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11503 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11504 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11505 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11506 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11507 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11508 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11509 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11510 </ul>
11511 </li> <!-- tag_DNG -->
11512 <li id="tag_EXIF">EXIF - None
11513 <ul class="tags_entries">
11514 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11515 </ul>
11516 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011517 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070011518 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011519
11520 <ul class="tags_entries">
11521 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11522 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11523 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011524 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011525 </ul>
11526 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070011527 <li id="tag_FULL">FULL -
11528 Entry is required for full hardware level devices, and optional for other hardware levels
11529
11530 <ul class="tags_entries">
11531 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11532 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11533 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
11534 </ul>
11535 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011536 </ul>
11537 </div>
11538
11539 [ <a href="#">top</a> ]
11540
11541</body>
11542</html>