blob: b06967a53aa126b23c0822b78e5b25c33fc052e6 [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>
389 </ul>
390 </li>
391 </ul> <!-- toc_section -->
392 </li>
393 <li>
394 <span class="toc_section_header"><a href="#section_request">request</a></span>
395 <ul class="toc_section">
396 <li>
397 <span class="toc_kind_header">controls</span>
398 <ul class="toc_section">
399 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
400 <li><a href="#controls_android.request.id">android.request.id</a></li>
401 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
402 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
403 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
404 <li><a href="#controls_android.request.type">android.request.type</a></li>
405 </ul>
406 </li>
407 <li>
408 <span class="toc_kind_header">static</span>
409 <ul class="toc_section">
410 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
411 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">dynamic</span>
416 <ul class="toc_section">
417 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
418 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
419 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
420 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
421 </ul>
422 </li>
423 </ul> <!-- toc_section -->
424 </li>
425 <li>
426 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
427 <ul class="toc_section">
428 <li>
429 <span class="toc_kind_header">controls</span>
430 <ul class="toc_section">
431 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
432 </ul>
433 </li>
434 <li>
435 <span class="toc_kind_header">static</span>
436 <ul class="toc_section">
437 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
438 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
439 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
440 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
441 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
442 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
443 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
444 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
445 </ul>
446 </li>
447 <li>
448 <span class="toc_kind_header">dynamic</span>
449 <ul class="toc_section">
450 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
451 </ul>
452 </li>
453 </ul> <!-- toc_section -->
454 </li>
455 <li>
456 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
457 <ul class="toc_section">
458 <li>
459 <span class="toc_kind_header">controls</span>
460 <ul class="toc_section">
461 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
462 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
463 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
464 </ul>
465 </li>
466 <li>
467 <span class="toc_kind_header">static</span>
468 <ul class="toc_section">
469
470 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700471 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700472 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
473 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
474 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
475 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
476 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
477 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
478
479 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
480 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
481 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
482 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
483 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
484 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
485 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
486 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
487 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
488 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
489 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
490 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
491 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
492 </ul>
493 </li>
494 <li>
495 <span class="toc_kind_header">dynamic</span>
496 <ul class="toc_section">
497 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
498 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
499 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
500 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700501 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700502 </ul>
503 </li>
504 </ul> <!-- toc_section -->
505 </li>
506 <li>
507 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
508 <ul class="toc_section">
509 <li>
510 <span class="toc_kind_header">controls</span>
511 <ul class="toc_section">
512 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
513 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
514 </ul>
515 </li>
516 <li>
517 <span class="toc_kind_header">dynamic</span>
518 <ul class="toc_section">
519 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
520 </ul>
521 </li>
522 </ul> <!-- toc_section -->
523 </li>
524 <li>
525 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
526 <ul class="toc_section">
527 <li>
528 <span class="toc_kind_header">controls</span>
529 <ul class="toc_section">
530 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
531 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
532 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700533 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700534 </ul>
535 </li>
536 <li>
537 <span class="toc_kind_header">static</span>
538 <ul class="toc_section">
539
540 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
541 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
542 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
543 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
544 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
545 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
546
547 </ul>
548 </li>
549 <li>
550 <span class="toc_kind_header">dynamic</span>
551 <ul class="toc_section">
552 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
553 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
554 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
555 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
556 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
557 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
558 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
559 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
560 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700561 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
562 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
563 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
564 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700565 </ul>
566 </li>
567 </ul> <!-- toc_section -->
568 </li>
569 <li>
570 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
571 <ul class="toc_section">
572 <li>
573 <span class="toc_kind_header">controls</span>
574 <ul class="toc_section">
575 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
576 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
577 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
578 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
579 </ul>
580 </li>
581 <li>
582 <span class="toc_kind_header">static</span>
583 <ul class="toc_section">
584 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
585 </ul>
586 </li>
587 <li>
588 <span class="toc_kind_header">dynamic</span>
589 <ul class="toc_section">
590 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
591 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
592 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
593 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
594 </ul>
595 </li>
596 </ul> <!-- toc_section -->
597 </li>
598 <li>
599 <span class="toc_section_header"><a href="#section_led">led</a></span>
600 <ul class="toc_section">
601 <li>
602 <span class="toc_kind_header">controls</span>
603 <ul class="toc_section">
604 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
605 </ul>
606 </li>
607 <li>
608 <span class="toc_kind_header">dynamic</span>
609 <ul class="toc_section">
610 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
611 </ul>
612 </li>
613 <li>
614 <span class="toc_kind_header">static</span>
615 <ul class="toc_section">
616 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
617 </ul>
618 </li>
619 </ul> <!-- toc_section -->
620 </li>
621 <li>
622 <span class="toc_section_header"><a href="#section_info">info</a></span>
623 <ul class="toc_section">
624 <li>
625 <span class="toc_kind_header">static</span>
626 <ul class="toc_section">
627 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
628 </ul>
629 </li>
630 </ul> <!-- toc_section -->
631 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700632 <li>
633 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
634 <ul class="toc_section">
635 <li>
636 <span class="toc_kind_header">controls</span>
637 <ul class="toc_section">
638 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
639 </ul>
640 </li>
641 <li>
642 <span class="toc_kind_header">dynamic</span>
643 <ul class="toc_section">
644 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
645 </ul>
646 </li>
647 </ul> <!-- toc_section -->
648 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800649 </ul>
650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700651
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800652 <h1>Properties</h1>
653 <table class="properties">
654
655 <thead class="thead_dummy">
656 <tr>
657 <th class="th_name">Property Name</th>
658 <th class="th_type">Type</th>
659 <th class="th_description">Description</th>
660 <th class="th_units">Units</th>
661 <th class="th_range">Range</th>
662 <th class="th_notes">Notes</th>
663 <th class="th_tags">Tags</th>
664 </tr>
665 </thead> <!-- so that the first occurrence of thead is not
666 above the first occurrence of tr -->
667<!-- <namespace name="android"> -->
668 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
669
670
671 <tr><td colspan="7" class="kind">controls</td></tr>
672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800674 <tr>
675 <th class="th_name">Property Name</th>
676 <th class="th_type">Type</th>
677 <th class="th_description">Description</th>
678 <th class="th_units">Units</th>
679 <th class="th_range">Range</th>
680 <th class="th_notes">Notes</th>
681 <th class="th_tags">Tags</th>
682 </tr>
683 </thead>
684
685 <tbody>
686
687
688
689
690
691
692
693
694
695
696 <tr class="entry" id="controls_android.colorCorrection.mode">
697 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700701 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800702
703 <ul class="entry_type_enum">
704 <li>
705 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
706 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700707 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800708 </li>
709 <li>
710 <span class="entry_type_enum_name">FAST</span>
711 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
712 bayer output</span>
713 </li>
714 <li>
715 <span class="entry_type_enum_name">HIGH_QUALITY</span>
716 <span class="entry_type_enum_notes">Frame rate may be reduced by high
717 quality</span>
718 </li>
719 </ul>
720
721 </td> <!-- entry_type -->
722
723 <td class="entry_description">
724 </td>
725
726 <td class="entry_units">
727 </td>
728
729 <td class="entry_range">
730 </td>
731
732 <td class="entry_notes">
Timothy Knight21f88802013-09-06 13:32:51 -0700733 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700734 should be ignored.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800735 </td>
736
737 <td class="entry_tags">
738 </td>
739
740 </tr> <!-- end of entry -->
741
742
743 <tr class="entry" id="controls_android.colorCorrection.transform">
744 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
745 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700746 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 <span class="entry_type_container">x</span>
748
749 <span class="entry_type_array">
750 3 x 3
751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700752 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754
755
756 </td> <!-- entry_type -->
757
758 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700759 A color transform matrix to use to transform
760 from sensor RGB color space to output linear sRGB color space
761
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800762 </td>
763
764 <td class="entry_units">
765 </td>
766
767 <td class="entry_range">
768 Output values are expected to be in the range
769 (0,<wbr>1)
770 </td>
771
772 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700773 This matrix is either set by HAL when the request
774 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
775 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700776 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
777<br>
778<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700779 for precision issues; the final rounded matrix should be
780 reported back in this matrix result metadata.<wbr>
781 </td>
782
783 <td class="entry_tags">
784 </td>
785
786 </tr> <!-- end of entry -->
787
788
789 <tr class="entry" id="controls_android.colorCorrection.gains">
790 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
791 <td class="entry_type">
792 <span class="entry_type_name">float</span>
793 <span class="entry_type_container">x</span>
794
795 <span class="entry_type_array">
796 4
797 </span>
798 <span class="entry_type_visibility"> [public]</span>
799 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
800
801
802 </td> <!-- entry_type -->
803
804 <td class="entry_description">
805 Gains applying to Bayer color channels for
806 white-balance
807 </td>
808
809 <td class="entry_units">
810 </td>
811
812 <td class="entry_range">
813 </td>
814
815 <td class="entry_notes">
816 The 4-channel white-balance gains are defined in
817 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
818 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
819 is the gain for greenpixels on the odd rows.<wbr> if a HAL
820 does not support a separate gain for even/<wbr>odd green channels,<wbr>
821 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
822 G_<wbr>even in the output result metadata.<wbr>
823<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700824<br> This array is either set by HAL when the request
825 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
826 directly by the application in the request when the
827 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
828<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700829<br> The ouput should be the gains actually applied by the HAL to
830 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831 </td>
832
833 <td class="entry_tags">
834 </td>
835
836 </tr> <!-- end of entry -->
837
838
839
840 <!-- end of kind -->
841 </tbody>
842 <tr><td colspan="7" class="kind">dynamic</td></tr>
843
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700844 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800845 <tr>
846 <th class="th_name">Property Name</th>
847 <th class="th_type">Type</th>
848 <th class="th_description">Description</th>
849 <th class="th_units">Units</th>
850 <th class="th_range">Range</th>
851 <th class="th_notes">Notes</th>
852 <th class="th_tags">Tags</th>
853 </tr>
854 </thead>
855
856 <tbody>
857
858
859
860
861
862
863
864
865
866
Zhijun He69fc0ea2013-07-17 09:42:58 -0700867 <tr class="entry" id="dynamic_android.colorCorrection.transform">
868 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800869 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 <span class="entry_type_name">rational</span>
871 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800872
Zhijun He69fc0ea2013-07-17 09:42:58 -0700873 <span class="entry_type_array">
874 3 x 3
875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700876 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700877 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800878
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800879
880 </td> <!-- entry_type -->
881
882 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700883 A color transform matrix to use to transform
884 from sensor RGB color space to output linear sRGB color space
885
886 </td>
887
888 <td class="entry_units">
889 </td>
890
891 <td class="entry_range">
892 Output values are expected to be in the range
893 (0,<wbr>1)
894 </td>
895
896 <td class="entry_notes">
897 This matrix is either set by HAL when the request
898 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
899 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700900 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
901<br>
902<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700903 for precision issues; the final rounded matrix should be
904 reported back in this matrix result metadata.<wbr>
905 </td>
906
907 <td class="entry_tags">
908 </td>
909
910 </tr> <!-- end of entry -->
911
912
913 <tr class="entry" id="dynamic_android.colorCorrection.gains">
914 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
915 <td class="entry_type">
916 <span class="entry_type_name">float</span>
917 <span class="entry_type_container">x</span>
918
919 <span class="entry_type_array">
920 4
921 </span>
922 <span class="entry_type_visibility"> [public]</span>
923 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
924
925
926 </td> <!-- entry_type -->
927
928 <td class="entry_description">
929 Gains applying to Bayer color channels for
930 white-balance
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800931 </td>
932
933 <td class="entry_units">
934 </td>
935
936 <td class="entry_range">
937 </td>
938
939 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700940 The 4-channel white-balance gains are defined in
941 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
942 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
943 is the gain for greenpixels on the odd rows.<wbr> if a HAL
944 does not support a separate gain for even/<wbr>odd green channels,<wbr>
945 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
946 G_<wbr>even in the output result metadata.<wbr>
947<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700948<br> This array is either set by HAL when the request
949 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
950 directly by the application in the request when the
951 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
952<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700953<br> The ouput should be the gains actually applied by the HAL to
954 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800955 </td>
956
957 <td class="entry_tags">
958 </td>
959
960 </tr> <!-- end of entry -->
961
962
963
964 <!-- end of kind -->
965 </tbody>
966
967 <!-- end of section -->
968 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
969
970
971 <tr><td colspan="7" class="kind">controls</td></tr>
972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700973 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800974 <tr>
975 <th class="th_name">Property Name</th>
976 <th class="th_type">Type</th>
977 <th class="th_description">Description</th>
978 <th class="th_units">Units</th>
979 <th class="th_range">Range</th>
980 <th class="th_notes">Notes</th>
981 <th class="th_tags">Tags</th>
982 </tr>
983 </thead>
984
985 <tbody>
986
987
988
989
990
991
992
993
994
995
996 <tr class="entry" id="controls_android.control.aeAntibandingMode">
997 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800999 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001002
1003 <ul class="entry_type_enum">
1004 <li>
1005 <span class="entry_type_enum_name">OFF</span>
1006 </li>
1007 <li>
1008 <span class="entry_type_enum_name">50HZ</span>
1009 </li>
1010 <li>
1011 <span class="entry_type_enum_name">60HZ</span>
1012 </li>
1013 <li>
1014 <span class="entry_type_enum_name">AUTO</span>
1015 </li>
1016 </ul>
1017
1018 </td> <!-- entry_type -->
1019
1020 <td class="entry_description">
1021 Enum for controlling
1022 antibanding
1023 </td>
1024
1025 <td class="entry_units">
1026 </td>
1027
1028 <td class="entry_range">
1029
1030 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1031 </td>
1032
1033 <td class="entry_notes">
1034 </td>
1035
1036 <td class="entry_tags">
1037 </td>
1038
1039 </tr> <!-- end of entry -->
1040
1041
1042 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1043 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1044 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001045 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001046
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001047 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001048
1049
1050 </td> <!-- entry_type -->
1051
1052 <td class="entry_description">
1053 Adjustment to AE target image
1054 brightness
1055 </td>
1056
1057 <td class="entry_units">
1058 count of positive/<wbr>negative EV steps
1059 </td>
1060
1061 <td class="entry_range">
1062 </td>
1063
1064 <td class="entry_notes">
1065 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1066 exposure compensation of +2 EV; -3 will mean an exposure
1067 compensation of -1
1068 </td>
1069
1070 <td class="entry_tags">
1071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001072 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073 </ul>
1074 </td>
1075
1076 </tr> <!-- end of entry -->
1077
1078
1079 <tr class="entry" id="controls_android.control.aeLock">
1080 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001082 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001083
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001084 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001085
1086 <ul class="entry_type_enum">
1087 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001088 <span class="entry_type_enum_name">OFF</span>
1089 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1090 is free to update its parameters.<wbr></span>
1091 </li>
1092 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001093 <span class="entry_type_enum_name">ON</span>
1094 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1095 must not update the exposure and sensitivity parameters
1096 while the lock is active</span>
1097 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001098 </ul>
1099
1100 </td> <!-- entry_type -->
1101
1102 <td class="entry_description">
1103 Whether AE is currently locked to its latest
1104 calculated values
1105 </td>
1106
1107 <td class="entry_units">
1108 </td>
1109
1110 <td class="entry_range">
1111 </td>
1112
1113 <td class="entry_notes">
1114 Note that even when AE is locked,<wbr> the flash may be
1115 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1116 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
1117 </td>
1118
1119 <td class="entry_tags">
1120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001122 </ul>
1123 </td>
1124
1125 </tr> <!-- end of entry -->
1126
1127
1128 <tr class="entry" id="controls_android.control.aeMode">
1129 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1130 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001131 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001134
1135 <ul class="entry_type_enum">
1136 <li>
1137 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001138 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1139 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </li>
1141 <li>
1142 <span class="entry_type_enum_name">ON</span>
1143 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1144 control</span>
1145 </li>
1146 <li>
1147 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1148 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1149 flash control; flash may be fired when precapture
1150 trigger is activated,<wbr> and for captures for which
1151 captureIntent = STILL_<wbr>CAPTURE</span>
1152 </li>
1153 <li>
1154 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1156 flash control for precapture trigger and always flash
1157 when captureIntent = STILL_<wbr>CAPTURE</span>
1158 </li>
1159 <li>
1160 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1161 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1162 If deemed necessary,<wbr> red eye reduction sequence should
1163 fire when precapture trigger is activated,<wbr> and final
1164 flash should fire when captureIntent =
1165 STILL_<wbr>CAPTURE</span>
1166 </li>
1167 </ul>
1168
1169 </td> <!-- entry_type -->
1170
1171 <td class="entry_description">
1172 Whether AE is currently updating the sensor
1173 exposure and sensitivity fields
1174 </td>
1175
1176 <td class="entry_units">
1177 </td>
1178
1179 <td class="entry_range">
1180 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1181 </td>
1182
1183 <td class="entry_notes">
1184 Only effective if android.<wbr>control.<wbr>mode =
1185 AUTO
1186 </td>
1187
1188 <td class="entry_tags">
1189 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001190 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001191 </ul>
1192 </td>
1193
1194 </tr> <!-- end of entry -->
1195
1196
1197 <tr class="entry" id="controls_android.control.aeRegions">
1198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001201 <span class="entry_type_container">x</span>
1202
1203 <span class="entry_type_array">
1204 5 x area_count
1205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001207
1208
1209 </td> <!-- entry_type -->
1210
1211 <td class="entry_description">
1212 List of areas to use for
1213 metering
1214 </td>
1215
1216 <td class="entry_units">
1217 </td>
1218
1219 <td class="entry_range">
1220 </td>
1221
1222 <td class="entry_notes">
1223 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001224 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1225 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001226<br>
1227<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001228 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1229 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1230 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1231 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001232 should be nonnegative.<wbr>
1233<br>
1234<br> If all regions have 0 weight,<wbr> then no specific metering area
1235 needs to be used by the HAL.<wbr> If the metering region is
1236 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1237 should ignore the sections outside the region and output the
1238 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001239 </td>
1240
1241 <td class="entry_tags">
1242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001244 </ul>
1245 </td>
1246
1247 </tr> <!-- end of entry -->
1248
1249
1250 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1251 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1252 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001253 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001254 <span class="entry_type_container">x</span>
1255
1256 <span class="entry_type_array">
1257 2
1258 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001260
1261
1262 </td> <!-- entry_type -->
1263
1264 <td class="entry_description">
1265 Range over which fps can be adjusted to
1266 maintain exposure
1267 </td>
1268
1269 <td class="entry_units">
1270 </td>
1271
1272 <td class="entry_range">
1273 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1274 </td>
1275
1276 <td class="entry_notes">
1277 Only constrains AE algorithm,<wbr> not manual control
1278 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1279 </td>
1280
1281 <td class="entry_tags">
1282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001283 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001284 </ul>
1285 </td>
1286
1287 </tr> <!-- end of entry -->
1288
1289
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001290 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1291 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1292 <td class="entry_type">
1293 <span class="entry_type_name entry_type_name_enum">byte</span>
1294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001295 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001296
1297 <ul class="entry_type_enum">
1298 <li>
1299 <span class="entry_type_enum_name">IDLE</span>
1300 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1301 </li>
1302 <li>
1303 <span class="entry_type_enum_name">START</span>
1304 <span class="entry_type_enum_notes">The precapture metering sequence
1305 must be started.<wbr> The exact effect of the precapture
1306 trigger depends on the current AE mode and
1307 state.<wbr></span>
1308 </li>
1309 </ul>
1310
1311 </td> <!-- entry_type -->
1312
1313 <td class="entry_description">
1314 Whether the HAL must trigger precapture
1315 metering.<wbr>
1316 </td>
1317
1318 <td class="entry_units">
1319 </td>
1320
1321 <td class="entry_range">
1322 </td>
1323
1324 <td class="entry_notes">
1325 This entry is normally set to IDLE,<wbr> or is not
1326 included at all in the request settings.<wbr> When included and
1327 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001328 precapture metering sequence.<wbr>
1329<br>
1330<br> The effect of AE precapture trigger depends on the current
1331 AE mode and state; see the camera HAL device v3 header for
1332 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001333 </td>
1334
1335 <td class="entry_tags">
1336 <ul class="entry_tags">
1337 <li><a href="#tag_BC">BC</a></li>
1338 </ul>
1339 </td>
1340
1341 </tr> <!-- end of entry -->
1342
1343
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 <tr class="entry" id="controls_android.control.afMode">
1345 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001349 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001350
1351 <ul class="entry_type_enum">
1352 <li>
1353 <span class="entry_type_enum_name">OFF</span>
1354 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001355 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001356 application</span>
1357 </li>
1358 <li>
1359 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001360 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1361
1362 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1363 is fixed focus In this mode,<wbr> the lens does not move unless
1364 the autofocus trigger action is called.<wbr> When that trigger
1365 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1366 the outcome of the scan (FOCUSED or
1367 NOT_<wbr>FOCUSED).<wbr>
1368
1369 Triggering cancel AF resets the lens position to default,<wbr>
1370 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001371 </li>
1372 <li>
1373 <span class="entry_type_enum_name">MACRO</span>
1374 <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 -07001375 autofocus trigger action is called.<wbr>
1376
1377 When that trigger is activated,<wbr> AF must transition to
1378 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1379 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1380 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 INACTIVE.<wbr></span>
1382 </li>
1383 <li>
1384 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1385 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1386 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001387 constantly-in-focus image stream.<wbr>
1388
1389 The focusing behavior should be suitable for good quality
1390 video recording; typically this means slower focus
1391 movement and no overshoots.<wbr> When the AF trigger is not
1392 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1393 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1394 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1395 the algorithm should immediately transition into
1396 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1397 lens position until a cancel AF trigger is received.<wbr>
1398
1399 Once cancel is received,<wbr> the algorithm should transition
1400 back to INACTIVE and resume passive scan.<wbr> Note that this
1401 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1402 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001403 canceled.<wbr></span>
1404 </li>
1405 <li>
1406 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1407 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1408 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001409 constantly-in-focus image stream.<wbr>
1410
1411 The focusing behavior should be suitable for still image
1412 capture; typically this means focusing as fast as
1413 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1414 algorithm should start in INACTIVE state,<wbr> and then
1415 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1416 appropriate as it attempts to maintain focus.<wbr> When the AF
1417 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001418 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001419 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1420 lens position until a cancel AF trigger is received.<wbr>
1421
1422 When the AF cancel trigger is activated,<wbr> the algorithm
1423 should transition back to INACTIVE and then act as if it
1424 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001425 </li>
1426 <li>
1427 <span class="entry_type_enum_name">EDOF</span>
1428 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1429 trigger is ignored,<wbr> AF state should always be
1430 INACTIVE.<wbr></span>
1431 </li>
1432 </ul>
1433
1434 </td> <!-- entry_type -->
1435
1436 <td class="entry_description">
1437 Whether AF is currently enabled,<wbr> and what
1438 mode it is set to
1439 </td>
1440
1441 <td class="entry_units">
1442 </td>
1443
1444 <td class="entry_range">
1445 </td>
1446
1447 <td class="entry_notes">
1448 </td>
1449
1450 <td class="entry_tags">
1451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001452 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001453 </ul>
1454 </td>
1455
1456 </tr> <!-- end of entry -->
1457
1458
1459 <tr class="entry" id="controls_android.control.afRegions">
1460 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1461 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001462 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001463 <span class="entry_type_container">x</span>
1464
1465 <span class="entry_type_array">
1466 5 x area_count
1467 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001468 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001469
1470
1471 </td> <!-- entry_type -->
1472
1473 <td class="entry_description">
1474 List of areas to use for focus
1475 estimation
1476 </td>
1477
1478 <td class="entry_units">
1479 </td>
1480
1481 <td class="entry_range">
1482 </td>
1483
1484 <td class="entry_notes">
1485 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001486 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1487 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001488<br>
1489<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001490 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1491 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1492 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1493 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001494 should be nonnegative.<wbr>
1495<br>
1496<br> If all regions have 0 weight,<wbr> then no specific focus area
1497 needs to be used by the HAL.<wbr> If the focusing region is
1498 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1499 should ignore the sections outside the region and output the
1500 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 </td>
1502
1503 <td class="entry_tags">
1504 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001505 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001506 </ul>
1507 </td>
1508
1509 </tr> <!-- end of entry -->
1510
1511
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001512 <tr class="entry" id="controls_android.control.afTrigger">
1513 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1514 <td class="entry_type">
1515 <span class="entry_type_name entry_type_name_enum">byte</span>
1516
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001517 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001518
1519 <ul class="entry_type_enum">
1520 <li>
1521 <span class="entry_type_enum_name">IDLE</span>
1522 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1523 </li>
1524 <li>
1525 <span class="entry_type_enum_name">START</span>
1526 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1527 </li>
1528 <li>
1529 <span class="entry_type_enum_name">CANCEL</span>
1530 <span class="entry_type_enum_notes">Autofocus must return to initial
1531 state,<wbr> and cancel any active trigger.<wbr></span>
1532 </li>
1533 </ul>
1534
1535 </td> <!-- entry_type -->
1536
1537 <td class="entry_description">
1538 Whether the HAL must trigger autofocus.<wbr>
1539 </td>
1540
1541 <td class="entry_units">
1542 </td>
1543
1544 <td class="entry_range">
1545 </td>
1546
1547 <td class="entry_notes">
1548 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001549 included at all in the request settings.<wbr>
1550<br>
1551<br> When included and set to START,<wbr> the HAL must trigger the
1552 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1553 current AF mode and state; see the camera HAL device v3
1554 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1555 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001556 </td>
1557
1558 <td class="entry_tags">
1559 <ul class="entry_tags">
1560 <li><a href="#tag_BC">BC</a></li>
1561 </ul>
1562 </td>
1563
1564 </tr> <!-- end of entry -->
1565
1566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567 <tr class="entry" id="controls_android.control.awbLock">
1568 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001570 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001571
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001572 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001573
1574 <ul class="entry_type_enum">
1575 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001576 <span class="entry_type_enum_name">OFF</span>
1577 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1578 algorithm is free to update its parameters if in AUTO
1579 mode.<wbr></span>
1580 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001581 <li>
1582 <span class="entry_type_enum_name">ON</span>
1583 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1584 algorithm must not update the exposure and sensitivity
1585 parameters while the lock is active</span>
1586 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001587 </ul>
1588
1589 </td> <!-- entry_type -->
1590
1591 <td class="entry_description">
1592 Whether AWB is currently locked to its
1593 latest calculated values
1594 </td>
1595
1596 <td class="entry_units">
1597 </td>
1598
1599 <td class="entry_range">
1600 </td>
1601
1602 <td class="entry_notes">
1603 Note that AWB lock is only meaningful for AUTO
1604 mode; in other modes,<wbr> AWB is already fixed to a specific
1605 setting
1606 </td>
1607
1608 <td class="entry_tags">
1609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001610 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001611 </ul>
1612 </td>
1613
1614 </tr> <!-- end of entry -->
1615
1616
1617 <tr class="entry" id="controls_android.control.awbMode">
1618 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001620 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001622 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001623
1624 <ul class="entry_type_enum">
1625 <li>
1626 <span class="entry_type_enum_name">OFF</span>
1627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">AUTO</span>
1630 </li>
1631 <li>
1632 <span class="entry_type_enum_name">INCANDESCENT</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">FLUORESCENT</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1639 </li>
1640 <li>
1641 <span class="entry_type_enum_name">DAYLIGHT</span>
1642 </li>
1643 <li>
1644 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1645 </li>
1646 <li>
1647 <span class="entry_type_enum_name">TWILIGHT</span>
1648 </li>
1649 <li>
1650 <span class="entry_type_enum_name">SHADE</span>
1651 </li>
1652 </ul>
1653
1654 </td> <!-- entry_type -->
1655
1656 <td class="entry_description">
1657 Whether AWB is currently setting the color
1658 transform fields,<wbr> and what its illumination target
1659 is
1660 </td>
1661
1662 <td class="entry_units">
1663 </td>
1664
1665 <td class="entry_range">
1666 </td>
1667
1668 <td class="entry_notes">
1669 [BC - AWB lock,<wbr>AWB modes]
1670 </td>
1671
1672 <td class="entry_tags">
1673 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001674 <li><a href="#tag_BC">BC</a></li>
1675 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </ul>
1677 </td>
1678
1679 </tr> <!-- end of entry -->
1680
1681
1682 <tr class="entry" id="controls_android.control.awbRegions">
1683 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686 <span class="entry_type_container">x</span>
1687
1688 <span class="entry_type_array">
1689 5 x area_count
1690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001692
1693
1694 </td> <!-- entry_type -->
1695
1696 <td class="entry_description">
1697 List of areas to use for illuminant
1698 estimation
1699 </td>
1700
1701 <td class="entry_units">
1702 </td>
1703
1704 <td class="entry_range">
1705 </td>
1706
1707 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001708 Only used in AUTO mode.<wbr>
1709<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001710<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1711 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1712 specified coordinates.<wbr>
1713<br>
1714<br> The coordinate system is based on the active pixel array,<wbr>
1715 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1716 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1717 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1718 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001719 should be nonnegative.<wbr>
1720<br>
1721<br> If all regions have 0 weight,<wbr> then no specific metering area
1722 needs to be used by the HAL.<wbr> If the metering region is
1723 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1724 should ignore the sections outside the region and output the
1725 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 </td>
1727
1728 <td class="entry_tags">
1729 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001730 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001731 </ul>
1732 </td>
1733
1734 </tr> <!-- end of entry -->
1735
1736
1737 <tr class="entry" id="controls_android.control.captureIntent">
1738 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001742 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001743
1744 <ul class="entry_type_enum">
1745 <li>
1746 <span class="entry_type_enum_name">CUSTOM</span>
1747 <span class="entry_type_enum_notes">This request doesn't fall into the other
1748 categories.<wbr> Default to preview-like
1749 behavior.<wbr></span>
1750 </li>
1751 <li>
1752 <span class="entry_type_enum_name">PREVIEW</span>
1753 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1754 precapture trigger may be used to start off a metering
1755 w/<wbr>flash sequence</span>
1756 </li>
1757 <li>
1758 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1759 <span class="entry_type_enum_notes">This request is for a still capture-type
1760 usecase.<wbr></span>
1761 </li>
1762 <li>
1763 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1764 <span class="entry_type_enum_notes">This request is for a video recording
1765 usecase.<wbr></span>
1766 </li>
1767 <li>
1768 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1769 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1770 image while recording video) usecase</span>
1771 </li>
1772 <li>
1773 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1774 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1775 application will stream full-resolution images and
1776 reprocess one or several later for a final
1777 capture</span>
1778 </li>
1779 </ul>
1780
1781 </td> <!-- entry_type -->
1782
1783 <td class="entry_description">
1784 Information to 3A routines about the purpose
1785 of this capture,<wbr> to help decide optimal 3A
1786 strategy
1787 </td>
1788
1789 <td class="entry_units">
1790 </td>
1791
1792 <td class="entry_range">
1793 all must be supported
1794 </td>
1795
1796 <td class="entry_notes">
1797 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1798 </td>
1799
1800 <td class="entry_tags">
1801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001802 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001803 </ul>
1804 </td>
1805
1806 </tr> <!-- end of entry -->
1807
1808
1809 <tr class="entry" id="controls_android.control.effectMode">
1810 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001812 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001813
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001814 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001815
1816 <ul class="entry_type_enum">
1817 <li>
1818 <span class="entry_type_enum_name">OFF</span>
1819 </li>
1820 <li>
1821 <span class="entry_type_enum_name">MONO</span>
1822 <span class="entry_type_enum_optional">optional</span>
1823 </li>
1824 <li>
1825 <span class="entry_type_enum_name">NEGATIVE</span>
1826 <span class="entry_type_enum_optional">optional</span>
1827 </li>
1828 <li>
1829 <span class="entry_type_enum_name">SOLARIZE</span>
1830 <span class="entry_type_enum_optional">optional</span>
1831 </li>
1832 <li>
1833 <span class="entry_type_enum_name">SEPIA</span>
1834 <span class="entry_type_enum_optional">optional</span>
1835 </li>
1836 <li>
1837 <span class="entry_type_enum_name">POSTERIZE</span>
1838 <span class="entry_type_enum_optional">optional</span>
1839 </li>
1840 <li>
1841 <span class="entry_type_enum_name">WHITEBOARD</span>
1842 <span class="entry_type_enum_optional">optional</span>
1843 </li>
1844 <li>
1845 <span class="entry_type_enum_name">BLACKBOARD</span>
1846 <span class="entry_type_enum_optional">optional</span>
1847 </li>
1848 <li>
1849 <span class="entry_type_enum_name">AQUA</span>
1850 <span class="entry_type_enum_optional">optional</span>
1851 </li>
1852 </ul>
1853
1854 </td> <!-- entry_type -->
1855
1856 <td class="entry_description">
1857 Whether any special color effect is in use.<wbr>
1858 Only used if android.<wbr>control.<wbr>mode != OFF
1859 </td>
1860
1861 <td class="entry_units">
1862 </td>
1863
1864 <td class="entry_range">
1865 android.<wbr>control.<wbr>available<wbr>Effects
1866 </td>
1867
1868 <td class="entry_notes">
1869 </td>
1870
1871 <td class="entry_tags">
1872 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001873 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001874 </ul>
1875 </td>
1876
1877 </tr> <!-- end of entry -->
1878
1879
1880 <tr class="entry" id="controls_android.control.mode">
1881 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001883 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001884
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001885 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001886
1887 <ul class="entry_type_enum">
1888 <li>
1889 <span class="entry_type_enum_name">OFF</span>
1890 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1891 routines are disabled,<wbr> no other settings in
1892 android.<wbr>control.<wbr>* have any effect</span>
1893 </li>
1894 <li>
1895 <span class="entry_type_enum_name">AUTO</span>
1896 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1897 Manual control of capture parameters is disabled.<wbr> All
1898 controls in android.<wbr>control.<wbr>* besides sceneMode take
1899 effect</span>
1900 </li>
1901 <li>
1902 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1903 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1904 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1905 controls; the HAL must ignore those settings while
1906 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1907 scene mode).<wbr> Other control entries are still active.<wbr>
1908 This setting can only be used if availableSceneModes !=
1909 UNSUPPORTED</span>
1910 </li>
1911 </ul>
1912
1913 </td> <!-- entry_type -->
1914
1915 <td class="entry_description">
1916 Overall mode of 3A control
1917 routines
1918 </td>
1919
1920 <td class="entry_units">
1921 </td>
1922
1923 <td class="entry_range">
1924 all must be supported
1925 </td>
1926
1927 <td class="entry_notes">
1928 </td>
1929
1930 <td class="entry_tags">
1931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001932 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001933 </ul>
1934 </td>
1935
1936 </tr> <!-- end of entry -->
1937
1938
1939 <tr class="entry" id="controls_android.control.sceneMode">
1940 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1941 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001942 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001944 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001945
1946 <ul class="entry_type_enum">
1947 <li>
1948 <span class="entry_type_enum_name">UNSUPPORTED</span>
1949 <span class="entry_type_enum_value">0</span>
1950 </li>
1951 <li>
1952 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1953 <span class="entry_type_enum_notes">if face detection support exists Use face
1954 detection data to drive 3A routines.<wbr> If face detection
1955 statistics are disabled,<wbr> should still operate correctly
1956 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001957 framework).<wbr>
1958
1959 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1960 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1961 compatibility concerns with the old camera
1962 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">ACTION</span>
1966 <span class="entry_type_enum_optional">optional</span>
1967 </li>
1968 <li>
1969 <span class="entry_type_enum_name">PORTRAIT</span>
1970 <span class="entry_type_enum_optional">optional</span>
1971 </li>
1972 <li>
1973 <span class="entry_type_enum_name">LANDSCAPE</span>
1974 <span class="entry_type_enum_optional">optional</span>
1975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">NIGHT</span>
1978 <span class="entry_type_enum_optional">optional</span>
1979 </li>
1980 <li>
1981 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1982 <span class="entry_type_enum_optional">optional</span>
1983 </li>
1984 <li>
1985 <span class="entry_type_enum_name">THEATRE</span>
1986 <span class="entry_type_enum_optional">optional</span>
1987 </li>
1988 <li>
1989 <span class="entry_type_enum_name">BEACH</span>
1990 <span class="entry_type_enum_optional">optional</span>
1991 </li>
1992 <li>
1993 <span class="entry_type_enum_name">SNOW</span>
1994 <span class="entry_type_enum_optional">optional</span>
1995 </li>
1996 <li>
1997 <span class="entry_type_enum_name">SUNSET</span>
1998 <span class="entry_type_enum_optional">optional</span>
1999 </li>
2000 <li>
2001 <span class="entry_type_enum_name">STEADYPHOTO</span>
2002 <span class="entry_type_enum_optional">optional</span>
2003 </li>
2004 <li>
2005 <span class="entry_type_enum_name">FIREWORKS</span>
2006 <span class="entry_type_enum_optional">optional</span>
2007 </li>
2008 <li>
2009 <span class="entry_type_enum_name">SPORTS</span>
2010 <span class="entry_type_enum_optional">optional</span>
2011 </li>
2012 <li>
2013 <span class="entry_type_enum_name">PARTY</span>
2014 <span class="entry_type_enum_optional">optional</span>
2015 </li>
2016 <li>
2017 <span class="entry_type_enum_name">CANDLELIGHT</span>
2018 <span class="entry_type_enum_optional">optional</span>
2019 </li>
2020 <li>
2021 <span class="entry_type_enum_name">BARCODE</span>
2022 <span class="entry_type_enum_optional">optional</span>
2023 </li>
2024 </ul>
2025
2026 </td> <!-- entry_type -->
2027
2028 <td class="entry_description">
2029 Which scene mode is active when
2030 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2031 </td>
2032
2033 <td class="entry_units">
2034 </td>
2035
2036 <td class="entry_range">
2037 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2038 </td>
2039
2040 <td class="entry_notes">
2041 </td>
2042
2043 <td class="entry_tags">
2044 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002045 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002046 </ul>
2047 </td>
2048
2049 </tr> <!-- end of entry -->
2050
2051
2052 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2053 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002056
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002057 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002058
2059 <ul class="entry_type_enum">
2060 <li>
2061 <span class="entry_type_enum_name">OFF</span>
2062 </li>
2063 <li>
2064 <span class="entry_type_enum_name">ON</span>
2065 </li>
2066 </ul>
2067
2068 </td> <!-- entry_type -->
2069
2070 <td class="entry_description">
2071 Whether video stabilization is
2072 active
2073 </td>
2074
2075 <td class="entry_units">
2076 </td>
2077
2078 <td class="entry_range">
2079 </td>
2080
2081 <td class="entry_notes">
2082 If enabled,<wbr> video stabilization can modify the
2083 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2084 stabilized
2085 </td>
2086
2087 <td class="entry_tags">
2088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002089 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002090 </ul>
2091 </td>
2092
2093 </tr> <!-- end of entry -->
2094
2095
2096
2097 <!-- end of kind -->
2098 </tbody>
2099 <tr><td colspan="7" class="kind">static</td></tr>
2100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102 <tr>
2103 <th class="th_name">Property Name</th>
2104 <th class="th_type">Type</th>
2105 <th class="th_description">Description</th>
2106 <th class="th_units">Units</th>
2107 <th class="th_range">Range</th>
2108 <th class="th_notes">Notes</th>
2109 <th class="th_tags">Tags</th>
2110 </tr>
2111 </thead>
2112
2113 <tbody>
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2125 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002127 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002128 <span class="entry_type_container">x</span>
2129
2130 <span class="entry_type_array">
2131 n
2132 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002134 <div class="entry_type_notes">list of enums</div>
2135
2136
2137 </td> <!-- entry_type -->
2138
2139 <td class="entry_description">
2140 Which set of antibanding modes are
2141 supported
2142 </td>
2143
2144 <td class="entry_units">
2145 </td>
2146
2147 <td class="entry_range">
2148 </td>
2149
2150 <td class="entry_notes">
2151 </td>
2152
2153 <td class="entry_tags">
2154 </td>
2155
2156 </tr> <!-- end of entry -->
2157
2158
2159 <tr class="entry" id="static_android.control.aeAvailableModes">
2160 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002162 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002163 <span class="entry_type_container">x</span>
2164
2165 <span class="entry_type_array">
2166 n
2167 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002168 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002169 <div class="entry_type_notes">list of enums</div>
2170
2171
2172 </td> <!-- entry_type -->
2173
2174 <td class="entry_description">
2175 Which subset of AE modes is
2176 supported
2177 </td>
2178
2179 <td class="entry_units">
2180 </td>
2181
2182 <td class="entry_range">
2183 OFF,<wbr> ON must be supported.<wbr>
2184 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2185 unit is available
2186 </td>
2187
2188 <td class="entry_notes">
2189 </td>
2190
2191 <td class="entry_tags">
2192 </td>
2193
2194 </tr> <!-- end of entry -->
2195
2196
2197 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002201 <span class="entry_type_container">x</span>
2202
2203 <span class="entry_type_array">
2204 2 x n
2205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002207 <div class="entry_type_notes">list of pairs of frame rates</div>
2208
2209
2210 </td> <!-- entry_type -->
2211
2212 <td class="entry_description">
2213 List of frame rate ranges supported by the
2214 AE algorithm/<wbr>hardware
2215 </td>
2216
2217 <td class="entry_units">
2218 </td>
2219
2220 <td class="entry_range">
2221 </td>
2222
2223 <td class="entry_notes">
2224 </td>
2225
2226 <td class="entry_tags">
2227 </td>
2228
2229 </tr> <!-- end of entry -->
2230
2231
2232 <tr class="entry" id="static_android.control.aeCompensationRange">
2233 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002235 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002236 <span class="entry_type_container">x</span>
2237
2238 <span class="entry_type_array">
2239 2
2240 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002241 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242
2243
2244 </td> <!-- entry_type -->
2245
2246 <td class="entry_description">
2247 Maximum and minimum exposure compensation
2248 setting,<wbr> in counts of
2249 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2250 </td>
2251
2252 <td class="entry_units">
2253 </td>
2254
2255 <td class="entry_range">
2256 At least (-2,<wbr>2)/<wbr>(exp compensation step
2257 size)
2258 </td>
2259
2260 <td class="entry_notes">
2261 </td>
2262
2263 <td class="entry_tags">
2264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002265 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002266 </ul>
2267 </td>
2268
2269 </tr> <!-- end of entry -->
2270
2271
2272 <tr class="entry" id="static_android.control.aeCompensationStep">
2273 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002275 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002277 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002278
2279
2280 </td> <!-- entry_type -->
2281
2282 <td class="entry_description">
2283 Smallest step by which exposure compensation
2284 can be changed
2285 </td>
2286
2287 <td class="entry_units">
2288 </td>
2289
2290 <td class="entry_range">
2291 <= 1/<wbr>2
2292 </td>
2293
2294 <td class="entry_notes">
2295 </td>
2296
2297 <td class="entry_tags">
2298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002299 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002300 </ul>
2301 </td>
2302
2303 </tr> <!-- end of entry -->
2304
2305
2306 <tr class="entry" id="static_android.control.afAvailableModes">
2307 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002309 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002310 <span class="entry_type_container">x</span>
2311
2312 <span class="entry_type_array">
2313 n
2314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 <div class="entry_type_notes">List of enums</div>
2317
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
2322 List of AF modes that can be
2323 selected
2324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
2330 OFF must be included.<wbr> AUTO must be supported if
2331 lens allows for changing focus
2332 </td>
2333
2334 <td class="entry_notes">
2335 </td>
2336
2337 <td class="entry_tags">
2338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002339 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002340 </ul>
2341 </td>
2342
2343 </tr> <!-- end of entry -->
2344
2345
2346 <tr class="entry" id="static_android.control.availableEffects">
2347 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2348 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002349 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002350 <span class="entry_type_container">x</span>
2351
2352 <span class="entry_type_array">
2353 n
2354 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002355 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 <div class="entry_type_notes">list of enums</div>
2357
2358
2359 </td> <!-- entry_type -->
2360
2361 <td class="entry_description">
2362 what subset of the full color effect enum
2363 list is supported
2364 </td>
2365
2366 <td class="entry_units">
2367 </td>
2368
2369 <td class="entry_range">
2370 OFF must be listed
2371 </td>
2372
2373 <td class="entry_notes">
2374 </td>
2375
2376 <td class="entry_tags">
2377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002379 </ul>
2380 </td>
2381
2382 </tr> <!-- end of entry -->
2383
2384
2385 <tr class="entry" id="static_android.control.availableSceneModes">
2386 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002388 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002389 <span class="entry_type_container">x</span>
2390
2391 <span class="entry_type_array">
2392 n
2393 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 <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>
2396
2397
2398 </td> <!-- entry_type -->
2399
2400 <td class="entry_description">
2401 what subset of the scene mode enum list is
2402 supported.<wbr>
2403 </td>
2404
2405 <td class="entry_units">
2406 </td>
2407
2408 <td class="entry_range">
2409 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2410 detection is supported
2411 </td>
2412
2413 <td class="entry_notes">
2414 </td>
2415
2416 <td class="entry_tags">
2417 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002418 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002419 </ul>
2420 </td>
2421
2422 </tr> <!-- end of entry -->
2423
2424
2425 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2426 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002428 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002429 <span class="entry_type_container">x</span>
2430
2431 <span class="entry_type_array">
2432 n
2433 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002434 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002435 <div class="entry_type_notes">List of enums.<wbr></div>
2436
2437
2438 </td> <!-- entry_type -->
2439
2440 <td class="entry_description">
2441 List of video stabilization modes that can
2442 be supported
2443 </td>
2444
2445 <td class="entry_units">
2446 </td>
2447
2448 <td class="entry_range">
2449 OFF must be included
2450 </td>
2451
2452 <td class="entry_notes">
2453 </td>
2454
2455 <td class="entry_tags">
2456 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002457 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002458 </ul>
2459 </td>
2460
2461 </tr> <!-- end of entry -->
2462
2463
2464 <tr class="entry" id="static_android.control.awbAvailableModes">
2465 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2466 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002467 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002468 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469
Alex Raya4251d92013-04-30 16:43:44 -07002470 <span class="entry_type_array">
2471 n
2472 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002473 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002474 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002475
2476
2477 </td> <!-- entry_type -->
2478
2479 <td class="entry_description">
2480 </td>
2481
2482 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002483 </td>
2484
2485 <td class="entry_range">
2486 OFF,<wbr> AUTO must be included
2487 </td>
2488
2489 <td class="entry_notes">
2490 </td>
2491
2492 <td class="entry_tags">
2493 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002494 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002495 </ul>
2496 </td>
2497
2498 </tr> <!-- end of entry -->
2499
2500
2501 <tr class="entry" id="static_android.control.maxRegions">
2502 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002507
2508
2509 </td> <!-- entry_type -->
2510
2511 <td class="entry_description">
2512 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2513 regions can be listed for metering?
2514 </td>
2515
2516 <td class="entry_units">
2517 </td>
2518
2519 <td class="entry_range">
2520 >= 1
2521 </td>
2522
2523 <td class="entry_notes">
2524 </td>
2525
2526 <td class="entry_tags">
2527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002528 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002529 </ul>
2530 </td>
2531
2532 </tr> <!-- end of entry -->
2533
2534
2535 <tr class="entry" id="static_android.control.sceneModeOverrides">
2536 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2537 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002538 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002539 <span class="entry_type_container">x</span>
2540
2541 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002542 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002544 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002545
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
2550 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2551 each available scene mode
2552 </td>
2553
2554 <td class="entry_units">
2555 </td>
2556
2557 <td class="entry_range">
2558 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2559 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002560 scene mode.<wbr>
2561
2562 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2563 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002564 </td>
2565
2566 <td class="entry_notes">
2567 When a scene mode is enabled,<wbr> the HAL is expected
2568 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002569 preferred settings for that scene mode.<wbr>
2570<br>
2571<br> To simplify communication with old camera API applications,<wbr>
2572 the service wants this override list in the static metadata.<wbr>
2573 The order of this list matches that of availableSceneModes,<wbr>
2574 with 3 entires for each scene mode.<wbr> The overrides listed
2575 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2576 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2577 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2578 AUTO.<wbr>
2579<br>
2580<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2581 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2582 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2583 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2584 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2585 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002586 </td>
2587
2588 <td class="entry_tags">
2589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002591 </ul>
2592 </td>
2593
2594 </tr> <!-- end of entry -->
2595
2596
2597
2598 <!-- end of kind -->
2599 </tbody>
2600 <tr><td colspan="7" class="kind">dynamic</td></tr>
2601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002602 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002603 <tr>
2604 <th class="th_name">Property Name</th>
2605 <th class="th_type">Type</th>
2606 <th class="th_description">Description</th>
2607 <th class="th_units">Units</th>
2608 <th class="th_range">Range</th>
2609 <th class="th_notes">Notes</th>
2610 <th class="th_tags">Tags</th>
2611 </tr>
2612 </thead>
2613
2614 <tbody>
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2626 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002630 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002631
2632
2633 </td> <!-- entry_type -->
2634
2635 <td class="entry_description">
2636 The ID sent with the latest
2637 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2638 </td>
2639
2640 <td class="entry_units">
2641 </td>
2642
2643 <td class="entry_range">
2644 </td>
2645
2646 <td class="entry_notes">
2647 Must be 0 if no
2648 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2649 by HAL.<wbr> Always updated even if AE algorithm ignores the
2650 trigger
2651 </td>
2652
2653 <td class="entry_tags">
2654 </td>
2655
2656 </tr> <!-- end of entry -->
2657
2658
2659 <tr class="entry" id="dynamic_android.control.aeRegions">
2660 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002662 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663 <span class="entry_type_container">x</span>
2664
2665 <span class="entry_type_array">
2666 5 x area_count
2667 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002668 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669
2670
2671 </td> <!-- entry_type -->
2672
2673 <td class="entry_description">
2674 List of areas to use for
2675 metering
2676 </td>
2677
2678 <td class="entry_units">
2679 </td>
2680
2681 <td class="entry_range">
2682 </td>
2683
2684 <td class="entry_notes">
2685 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002686 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2687 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002688<br>
2689<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002690 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2691 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2692 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2693 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002694 should be nonnegative.<wbr>
2695<br>
2696<br> If all regions have 0 weight,<wbr> then no specific metering area
2697 needs to be used by the HAL.<wbr> If the metering region is
2698 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2699 should ignore the sections outside the region and output the
2700 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002701 </td>
2702
2703 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <ul class="entry_tags">
2705 <li><a href="#tag_BC">BC</a></li>
2706 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002707 </td>
2708
2709 </tr> <!-- end of entry -->
2710
2711
2712 <tr class="entry" id="dynamic_android.control.aeState">
2713 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002715 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002717 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002718
2719 <ul class="entry_type_enum">
2720 <li>
2721 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002722 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2723 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </li>
2725 <li>
2726 <span class="entry_type_enum_name">SEARCHING</span>
2727 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2728 for the current scene</span>
2729 </li>
2730 <li>
2731 <span class="entry_type_enum_name">CONVERGED</span>
2732 <span class="entry_type_enum_notes">AE has a good set of control values for the
2733 current scene</span>
2734 </li>
2735 <li>
2736 <span class="entry_type_enum_name">LOCKED</span>
2737 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2738 LOCKED)</span>
2739 </li>
2740 <li>
2741 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2742 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2743 needs to be fired for good quality still
2744 capture</span>
2745 </li>
2746 <li>
2747 <span class="entry_type_enum_name">PRECAPTURE</span>
2748 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2749 (through the
2750 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2751 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2752 completes,<wbr> AE will transition to CONVERGED or
2753 FLASH_<wbr>REQUIRED as appropriate</span>
2754 </li>
2755 </ul>
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
2760 Current state of AE algorithm
2761 </td>
2762
2763 <td class="entry_units">
2764 </td>
2765
2766 <td class="entry_range">
2767 </td>
2768
2769 <td class="entry_notes">
2770 Whenever the AE algorithm state changes,<wbr> a
2771 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2772 notification callback is registered.<wbr>
2773 </td>
2774
2775 <td class="entry_tags">
2776 </td>
2777
2778 </tr> <!-- end of entry -->
2779
2780
2781 <tr class="entry" id="dynamic_android.control.afMode">
2782 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002784 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002786 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002787
2788 <ul class="entry_type_enum">
2789 <li>
2790 <span class="entry_type_enum_name">OFF</span>
2791 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002792 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002793 application</span>
2794 </li>
2795 <li>
2796 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002797 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2798
2799 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2800 is fixed focus In this mode,<wbr> the lens does not move unless
2801 the autofocus trigger action is called.<wbr> When that trigger
2802 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2803 the outcome of the scan (FOCUSED or
2804 NOT_<wbr>FOCUSED).<wbr>
2805
2806 Triggering cancel AF resets the lens position to default,<wbr>
2807 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808 </li>
2809 <li>
2810 <span class="entry_type_enum_name">MACRO</span>
2811 <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 -07002812 autofocus trigger action is called.<wbr>
2813
2814 When that trigger is activated,<wbr> AF must transition to
2815 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2816 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2817 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002818 INACTIVE.<wbr></span>
2819 </li>
2820 <li>
2821 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2822 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2823 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002824 constantly-in-focus image stream.<wbr>
2825
2826 The focusing behavior should be suitable for good quality
2827 video recording; typically this means slower focus
2828 movement and no overshoots.<wbr> When the AF trigger is not
2829 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2830 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2831 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2832 the algorithm should immediately transition into
2833 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2834 lens position until a cancel AF trigger is received.<wbr>
2835
2836 Once cancel is received,<wbr> the algorithm should transition
2837 back to INACTIVE and resume passive scan.<wbr> Note that this
2838 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2839 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002840 canceled.<wbr></span>
2841 </li>
2842 <li>
2843 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2844 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2845 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002846 constantly-in-focus image stream.<wbr>
2847
2848 The focusing behavior should be suitable for still image
2849 capture; typically this means focusing as fast as
2850 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2851 algorithm should start in INACTIVE state,<wbr> and then
2852 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2853 appropriate as it attempts to maintain focus.<wbr> When the AF
2854 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002855 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002856 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2857 lens position until a cancel AF trigger is received.<wbr>
2858
2859 When the AF cancel trigger is activated,<wbr> the algorithm
2860 should transition back to INACTIVE and then act as if it
2861 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002862 </li>
2863 <li>
2864 <span class="entry_type_enum_name">EDOF</span>
2865 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2866 trigger is ignored,<wbr> AF state should always be
2867 INACTIVE.<wbr></span>
2868 </li>
2869 </ul>
2870
2871 </td> <!-- entry_type -->
2872
2873 <td class="entry_description">
2874 Whether AF is currently enabled,<wbr> and what
2875 mode it is set to
2876 </td>
2877
2878 <td class="entry_units">
2879 </td>
2880
2881 <td class="entry_range">
2882 </td>
2883
2884 <td class="entry_notes">
2885 </td>
2886
2887 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002888 <ul class="entry_tags">
2889 <li><a href="#tag_BC">BC</a></li>
2890 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002891 </td>
2892
2893 </tr> <!-- end of entry -->
2894
2895
2896 <tr class="entry" id="dynamic_android.control.afRegions">
2897 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900 <span class="entry_type_container">x</span>
2901
2902 <span class="entry_type_array">
2903 5 x area_count
2904 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002905 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002906
2907
2908 </td> <!-- entry_type -->
2909
2910 <td class="entry_description">
2911 List of areas to use for focus
2912 estimation
2913 </td>
2914
2915 <td class="entry_units">
2916 </td>
2917
2918 <td class="entry_range">
2919 </td>
2920
2921 <td class="entry_notes">
2922 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002923 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2924 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002925<br>
2926<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002927 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2928 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2929 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2930 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002931 should be nonnegative.<wbr>
2932<br>
2933<br> If all regions have 0 weight,<wbr> then no specific focus area
2934 needs to be used by the HAL.<wbr> If the focusing region is
2935 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2936 should ignore the sections outside the region and output the
2937 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002938 </td>
2939
2940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002941 <ul class="entry_tags">
2942 <li><a href="#tag_BC">BC</a></li>
2943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002944 </td>
2945
2946 </tr> <!-- end of entry -->
2947
2948
2949 <tr class="entry" id="dynamic_android.control.afState">
2950 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002955
2956 <ul class="entry_type_enum">
2957 <li>
2958 <span class="entry_type_enum_name">INACTIVE</span>
2959 <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 -07002960 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2961 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962 </li>
2963 <li>
2964 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2965 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2966 currently doing an AF scan initiated by a continuous
2967 autofocus mode</span>
2968 </li>
2969 <li>
2970 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2971 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2972 believes it is in focus,<wbr> but may restart scanning at
2973 any time.<wbr></span>
2974 </li>
2975 <li>
2976 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2977 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2978 an AF scan because it was triggered by AF
2979 trigger</span>
2980 </li>
2981 <li>
2982 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2983 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2984 believes it is focused correctly and is
2985 locked</span>
2986 </li>
2987 <li>
2988 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2989 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2990 failed to focus successfully and is
2991 locked</span>
2992 </li>
2993 </ul>
2994
2995 </td> <!-- entry_type -->
2996
2997 <td class="entry_description">
2998 Current state of AF algorithm
2999 </td>
3000
3001 <td class="entry_units">
3002 </td>
3003
3004 <td class="entry_range">
3005 </td>
3006
3007 <td class="entry_notes">
3008 Whenever the AF algorithm state changes,<wbr> a
3009 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3010 callback is registered.<wbr>
3011 </td>
3012
3013 <td class="entry_tags">
3014 </td>
3015
3016 </tr> <!-- end of entry -->
3017
3018
3019 <tr class="entry" id="dynamic_android.control.afTriggerId">
3020 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003022 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003024 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003025
3026
3027 </td> <!-- entry_type -->
3028
3029 <td class="entry_description">
3030 The ID sent with the latest
3031 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3032 </td>
3033
3034 <td class="entry_units">
3035 </td>
3036
3037 <td class="entry_range">
3038 </td>
3039
3040 <td class="entry_notes">
3041 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3042 received yet by HAL.<wbr> Always updated even if AF algorithm
3043 ignores the trigger
3044 </td>
3045
3046 <td class="entry_tags">
3047 </td>
3048
3049 </tr> <!-- end of entry -->
3050
3051
3052 <tr class="entry" id="dynamic_android.control.awbMode">
3053 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003056
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003057 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003058
3059 <ul class="entry_type_enum">
3060 <li>
3061 <span class="entry_type_enum_name">OFF</span>
3062 </li>
3063 <li>
3064 <span class="entry_type_enum_name">AUTO</span>
3065 </li>
3066 <li>
3067 <span class="entry_type_enum_name">INCANDESCENT</span>
3068 </li>
3069 <li>
3070 <span class="entry_type_enum_name">FLUORESCENT</span>
3071 </li>
3072 <li>
3073 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3074 </li>
3075 <li>
3076 <span class="entry_type_enum_name">DAYLIGHT</span>
3077 </li>
3078 <li>
3079 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3080 </li>
3081 <li>
3082 <span class="entry_type_enum_name">TWILIGHT</span>
3083 </li>
3084 <li>
3085 <span class="entry_type_enum_name">SHADE</span>
3086 </li>
3087 </ul>
3088
3089 </td> <!-- entry_type -->
3090
3091 <td class="entry_description">
3092 Whether AWB is currently setting the color
3093 transform fields,<wbr> and what its illumination target
3094 is
3095 </td>
3096
3097 <td class="entry_units">
3098 </td>
3099
3100 <td class="entry_range">
3101 </td>
3102
3103 <td class="entry_notes">
3104 [BC - AWB lock,<wbr>AWB modes]
3105 </td>
3106
3107 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003108 <ul class="entry_tags">
3109 <li><a href="#tag_BC">BC</a></li>
3110 <li><a href="#tag_AWB">AWB</a></li>
3111 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003112 </td>
3113
3114 </tr> <!-- end of entry -->
3115
3116
3117 <tr class="entry" id="dynamic_android.control.awbRegions">
3118 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3119 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003120 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003121 <span class="entry_type_container">x</span>
3122
3123 <span class="entry_type_array">
3124 5 x area_count
3125 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003126 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003127
3128
3129 </td> <!-- entry_type -->
3130
3131 <td class="entry_description">
3132 List of areas to use for illuminant
3133 estimation
3134 </td>
3135
3136 <td class="entry_units">
3137 </td>
3138
3139 <td class="entry_range">
3140 </td>
3141
3142 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003143 Only used in AUTO mode.<wbr>
3144<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07003145<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3146 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3147 specified coordinates.<wbr>
3148<br>
3149<br> The coordinate system is based on the active pixel array,<wbr>
3150 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3151 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3152 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3153 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003154 should be nonnegative.<wbr>
3155<br>
3156<br> If all regions have 0 weight,<wbr> then no specific metering area
3157 needs to be used by the HAL.<wbr> If the metering region is
3158 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3159 should ignore the sections outside the region and output the
3160 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003161 </td>
3162
3163 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003164 <ul class="entry_tags">
3165 <li><a href="#tag_BC">BC</a></li>
3166 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167 </td>
3168
3169 </tr> <!-- end of entry -->
3170
3171
3172 <tr class="entry" id="dynamic_android.control.awbState">
3173 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003175 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003177 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003178
3179 <ul class="entry_type_enum">
3180 <li>
3181 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003182 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3183 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003184 </li>
3185 <li>
3186 <span class="entry_type_enum_name">SEARCHING</span>
3187 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3188 values for the current scene</span>
3189 </li>
3190 <li>
3191 <span class="entry_type_enum_name">CONVERGED</span>
3192 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3193 current scene</span>
3194 </li>
3195 <li>
3196 <span class="entry_type_enum_name">LOCKED</span>
3197 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3198 LOCKED)</span>
3199 </li>
3200 </ul>
3201
3202 </td> <!-- entry_type -->
3203
3204 <td class="entry_description">
3205 Current state of AWB algorithm
3206 </td>
3207
3208 <td class="entry_units">
3209 </td>
3210
3211 <td class="entry_range">
3212 </td>
3213
3214 <td class="entry_notes">
3215 Whenever the AWB algorithm state changes,<wbr> a
3216 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3217 notification callback is registered.<wbr>
3218 </td>
3219
3220 <td class="entry_tags">
3221 </td>
3222
3223 </tr> <!-- end of entry -->
3224
3225
3226 <tr class="entry" id="dynamic_android.control.mode">
3227 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3228 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003229 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003231 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003232
3233 <ul class="entry_type_enum">
3234 <li>
3235 <span class="entry_type_enum_name">OFF</span>
3236 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3237 routines are disabled,<wbr> no other settings in
3238 android.<wbr>control.<wbr>* have any effect</span>
3239 </li>
3240 <li>
3241 <span class="entry_type_enum_name">AUTO</span>
3242 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3243 Manual control of capture parameters is disabled.<wbr> All
3244 controls in android.<wbr>control.<wbr>* besides sceneMode take
3245 effect</span>
3246 </li>
3247 <li>
3248 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3249 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3250 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3251 controls; the HAL must ignore those settings while
3252 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3253 scene mode).<wbr> Other control entries are still active.<wbr>
3254 This setting can only be used if availableSceneModes !=
3255 UNSUPPORTED</span>
3256 </li>
3257 </ul>
3258
3259 </td> <!-- entry_type -->
3260
3261 <td class="entry_description">
3262 Overall mode of 3A control
3263 routines
3264 </td>
3265
3266 <td class="entry_units">
3267 </td>
3268
3269 <td class="entry_range">
3270 all must be supported
3271 </td>
3272
3273 <td class="entry_notes">
3274 </td>
3275
3276 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003277 <ul class="entry_tags">
3278 <li><a href="#tag_BC">BC</a></li>
3279 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003280 </td>
3281
3282 </tr> <!-- end of entry -->
3283
3284
3285
3286 <!-- end of kind -->
3287 </tbody>
3288
3289 <!-- end of section -->
3290 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3291
3292
3293 <tr><td colspan="7" class="kind">controls</td></tr>
3294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003295 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003296 <tr>
3297 <th class="th_name">Property Name</th>
3298 <th class="th_type">Type</th>
3299 <th class="th_description">Description</th>
3300 <th class="th_units">Units</th>
3301 <th class="th_range">Range</th>
3302 <th class="th_notes">Notes</th>
3303 <th class="th_tags">Tags</th>
3304 </tr>
3305 </thead>
3306
3307 <tbody>
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318 <tr class="entry" id="controls_android.demosaic.mode">
3319 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003323 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003324
3325 <ul class="entry_type_enum">
3326 <li>
3327 <span class="entry_type_enum_name">FAST</span>
3328 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3329 Bayer RAW output</span>
3330 </li>
3331 <li>
3332 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3333 <span class="entry_type_enum_notes">High-quality may reduce output frame
3334 rate</span>
3335 </li>
3336 </ul>
3337
3338 </td> <!-- entry_type -->
3339
3340 <td class="entry_description">
3341 Controls the quality of the demosaicing
3342 processing
3343 </td>
3344
3345 <td class="entry_units">
3346 </td>
3347
3348 <td class="entry_range">
3349 </td>
3350
3351 <td class="entry_notes">
3352 </td>
3353
3354 <td class="entry_tags">
3355 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003356 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003357 </ul>
3358 </td>
3359
3360 </tr> <!-- end of entry -->
3361
3362
3363
3364 <!-- end of kind -->
3365 </tbody>
3366
3367 <!-- end of section -->
3368 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3369
3370
3371 <tr><td colspan="7" class="kind">controls</td></tr>
3372
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003373 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003374 <tr>
3375 <th class="th_name">Property Name</th>
3376 <th class="th_type">Type</th>
3377 <th class="th_description">Description</th>
3378 <th class="th_units">Units</th>
3379 <th class="th_range">Range</th>
3380 <th class="th_notes">Notes</th>
3381 <th class="th_tags">Tags</th>
3382 </tr>
3383 </thead>
3384
3385 <tbody>
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396 <tr class="entry" id="controls_android.edge.mode">
3397 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3398 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003399 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003400
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003401 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003402
3403 <ul class="entry_type_enum">
3404 <li>
3405 <span class="entry_type_enum_name">OFF</span>
3406 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3407 </li>
3408 <li>
3409 <span class="entry_type_enum_name">FAST</span>
3410 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3411 bayer output</span>
3412 </li>
3413 <li>
3414 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3415 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3416 quality</span>
3417 </li>
3418 </ul>
3419
3420 </td> <!-- entry_type -->
3421
3422 <td class="entry_description">
3423 Operation mode for edge
3424 enhancement
3425 </td>
3426
3427 <td class="entry_units">
3428 </td>
3429
3430 <td class="entry_range">
3431 </td>
3432
3433 <td class="entry_notes">
3434 </td>
3435
3436 <td class="entry_tags">
3437 </td>
3438
3439 </tr> <!-- end of entry -->
3440
3441
3442 <tr class="entry" id="controls_android.edge.strength">
3443 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3444 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003445 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003446
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003447 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003448
3449
3450 </td> <!-- entry_type -->
3451
3452 <td class="entry_description">
3453 Control the amount of edge enhancement
3454 applied to the images
3455 </td>
3456
3457 <td class="entry_units">
3458 1-10; 10 is maximum sharpening
3459 </td>
3460
3461 <td class="entry_range">
3462 </td>
3463
3464 <td class="entry_notes">
3465 </td>
3466
3467 <td class="entry_tags">
3468 </td>
3469
3470 </tr> <!-- end of entry -->
3471
3472
3473
3474 <!-- end of kind -->
3475 </tbody>
3476 <tr><td colspan="7" class="kind">dynamic</td></tr>
3477
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003478 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003479 <tr>
3480 <th class="th_name">Property Name</th>
3481 <th class="th_type">Type</th>
3482 <th class="th_description">Description</th>
3483 <th class="th_units">Units</th>
3484 <th class="th_range">Range</th>
3485 <th class="th_notes">Notes</th>
3486 <th class="th_tags">Tags</th>
3487 </tr>
3488 </thead>
3489
3490 <tbody>
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501 <tr class="entry" id="dynamic_android.edge.mode">
3502 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003504 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003507
3508 <ul class="entry_type_enum">
3509 <li>
3510 <span class="entry_type_enum_name">OFF</span>
3511 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3512 </li>
3513 <li>
3514 <span class="entry_type_enum_name">FAST</span>
3515 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3516 bayer output</span>
3517 </li>
3518 <li>
3519 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3520 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3521 quality</span>
3522 </li>
3523 </ul>
3524
3525 </td> <!-- entry_type -->
3526
3527 <td class="entry_description">
3528 Operation mode for edge
3529 enhancement
3530 </td>
3531
3532 <td class="entry_units">
3533 </td>
3534
3535 <td class="entry_range">
3536 </td>
3537
3538 <td class="entry_notes">
3539 </td>
3540
3541 <td class="entry_tags">
3542 </td>
3543
3544 </tr> <!-- end of entry -->
3545
3546
3547
3548 <!-- end of kind -->
3549 </tbody>
3550
3551 <!-- end of section -->
3552 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3553
3554
3555 <tr><td colspan="7" class="kind">controls</td></tr>
3556
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003557 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003558 <tr>
3559 <th class="th_name">Property Name</th>
3560 <th class="th_type">Type</th>
3561 <th class="th_description">Description</th>
3562 <th class="th_units">Units</th>
3563 <th class="th_range">Range</th>
3564 <th class="th_notes">Notes</th>
3565 <th class="th_tags">Tags</th>
3566 </tr>
3567 </thead>
3568
3569 <tbody>
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580 <tr class="entry" id="controls_android.flash.firingPower">
3581 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3582 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003583 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003584
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003585 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003586
3587
3588 </td> <!-- entry_type -->
3589
3590 <td class="entry_description">
3591 Power for flash firing/<wbr>torch
3592 </td>
3593
3594 <td class="entry_units">
3595 10 is max power; 0 is no flash.<wbr> Linear
3596 </td>
3597
3598 <td class="entry_range">
3599 0 - 10
3600 </td>
3601
3602 <td class="entry_notes">
3603 Power for snapshot may use a different scale than
3604 for torch mode.<wbr> Only one entry for torch mode will be
3605 used
3606 </td>
3607
3608 <td class="entry_tags">
3609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003610 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003611 </ul>
3612 </td>
3613
3614 </tr> <!-- end of entry -->
3615
3616
3617 <tr class="entry" id="controls_android.flash.firingTime">
3618 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003620 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003622 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003623
3624
3625 </td> <!-- entry_type -->
3626
3627 <td class="entry_description">
3628 Firing time of flash relative to start of
3629 exposure
3630 </td>
3631
3632 <td class="entry_units">
3633 nanoseconds
3634 </td>
3635
3636 <td class="entry_range">
3637 0-(exposure time-flash duration)
3638 </td>
3639
3640 <td class="entry_notes">
3641 Clamped to (0,<wbr> exposure time - flash
3642 duration).<wbr>
3643 </td>
3644
3645 <td class="entry_tags">
3646 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003647 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003648 </ul>
3649 </td>
3650
3651 </tr> <!-- end of entry -->
3652
3653
3654 <tr class="entry" id="controls_android.flash.mode">
3655 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3656 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003657 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003658
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003659 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003660
3661 <ul class="entry_type_enum">
3662 <li>
3663 <span class="entry_type_enum_name">OFF</span>
3664 <span class="entry_type_enum_notes">Do not fire the flash for this
3665 capture</span>
3666 </li>
3667 <li>
3668 <span class="entry_type_enum_name">SINGLE</span>
3669 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3670 for this capture based on firingPower,<wbr>
3671 firingTime.<wbr></span>
3672 </li>
3673 <li>
3674 <span class="entry_type_enum_name">TORCH</span>
3675 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3676 continuously on,<wbr> power set by
3677 firingPower</span>
3678 </li>
3679 </ul>
3680
3681 </td> <!-- entry_type -->
3682
3683 <td class="entry_description">
3684 Select flash operation mode
3685 </td>
3686
3687 <td class="entry_units">
3688 </td>
3689
3690 <td class="entry_range">
3691 </td>
3692
3693 <td class="entry_notes">
3694 </td>
3695
3696 <td class="entry_tags">
3697 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003698 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003699 </ul>
3700 </td>
3701
3702 </tr> <!-- end of entry -->
3703
3704
3705
3706 <!-- end of kind -->
3707 </tbody>
3708 <tr><td colspan="7" class="kind">static</td></tr>
3709
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003710 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003711 <tr>
3712 <th class="th_name">Property Name</th>
3713 <th class="th_type">Type</th>
3714 <th class="th_description">Description</th>
3715 <th class="th_units">Units</th>
3716 <th class="th_range">Range</th>
3717 <th class="th_notes">Notes</th>
3718 <th class="th_tags">Tags</th>
3719 </tr>
3720 </thead>
3721
3722 <tbody>
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735 <tr class="entry" id="static_android.flash.info.available">
3736 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3737 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003738 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003739
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003740 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003741
3742
3743 </td> <!-- entry_type -->
3744
3745 <td class="entry_description">
3746 Whether this camera has a
3747 flash
3748 </td>
3749
3750 <td class="entry_units">
3751 boolean (0 = false,<wbr> otherwise true)
3752 </td>
3753
3754 <td class="entry_range">
3755 </td>
3756
3757 <td class="entry_notes">
3758 If no flash,<wbr> none of the flash controls do
3759 anything.<wbr> All other metadata should return 0
3760 </td>
3761
3762 <td class="entry_tags">
3763 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003764 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003765 </ul>
3766 </td>
3767
3768 </tr> <!-- end of entry -->
3769
3770
3771 <tr class="entry" id="static_android.flash.info.chargeDuration">
3772 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3773 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003774 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003775
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003777
3778
3779 </td> <!-- entry_type -->
3780
3781 <td class="entry_description">
3782 Time taken before flash can fire
3783 again
3784 </td>
3785
3786 <td class="entry_units">
3787 nanoseconds
3788 </td>
3789
3790 <td class="entry_range">
3791 0-1e9
3792 </td>
3793
3794 <td class="entry_notes">
3795 1 second too long/<wbr>too short for recharge? Should
3796 this be power-dependent?
3797 </td>
3798
3799 <td class="entry_tags">
3800 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003801 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003802 </ul>
3803 </td>
3804
3805 </tr> <!-- end of entry -->
3806
3807
3808
3809
3810
3811 <tr class="entry" id="static_android.flash.colorTemperature">
3812 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3813 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003814 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003815
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003816 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003817
3818
3819 </td> <!-- entry_type -->
3820
3821 <td class="entry_description">
3822 The x,<wbr>y whitepoint of the
3823 flash
3824 </td>
3825
3826 <td class="entry_units">
3827 pair of floats
3828 </td>
3829
3830 <td class="entry_range">
3831 0-1 for both
3832 </td>
3833
3834 <td class="entry_notes">
3835 </td>
3836
3837 <td class="entry_tags">
3838 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003839 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003840 </ul>
3841 </td>
3842
3843 </tr> <!-- end of entry -->
3844
3845
3846 <tr class="entry" id="static_android.flash.maxEnergy">
3847 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3848 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003849 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003850
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003851 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003852
3853
3854 </td> <!-- entry_type -->
3855
3856 <td class="entry_description">
3857 Max energy output of the flash for a full
3858 power single flash
3859 </td>
3860
3861 <td class="entry_units">
3862 lumen-seconds
3863 </td>
3864
3865 <td class="entry_range">
3866 >= 0
3867 </td>
3868
3869 <td class="entry_notes">
3870 </td>
3871
3872 <td class="entry_tags">
3873 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003874 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003875 </ul>
3876 </td>
3877
3878 </tr> <!-- end of entry -->
3879
3880
3881
3882 <!-- end of kind -->
3883 </tbody>
3884 <tr><td colspan="7" class="kind">dynamic</td></tr>
3885
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003886 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003887 <tr>
3888 <th class="th_name">Property Name</th>
3889 <th class="th_type">Type</th>
3890 <th class="th_description">Description</th>
3891 <th class="th_units">Units</th>
3892 <th class="th_range">Range</th>
3893 <th class="th_notes">Notes</th>
3894 <th class="th_tags">Tags</th>
3895 </tr>
3896 </thead>
3897
3898 <tbody>
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909 <tr class="entry" id="dynamic_android.flash.firingPower">
3910 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3911 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003912 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003913
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003914 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003915
3916
3917 </td> <!-- entry_type -->
3918
3919 <td class="entry_description">
3920 Power for flash firing/<wbr>torch
3921 </td>
3922
3923 <td class="entry_units">
3924 10 is max power; 0 is no flash.<wbr> Linear
3925 </td>
3926
3927 <td class="entry_range">
3928 0 - 10
3929 </td>
3930
3931 <td class="entry_notes">
3932 Power for snapshot may use a different scale than
3933 for torch mode.<wbr> Only one entry for torch mode will be
3934 used
3935 </td>
3936
3937 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003938 <ul class="entry_tags">
3939 <li><a href="#tag_V1">V1</a></li>
3940 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003941 </td>
3942
3943 </tr> <!-- end of entry -->
3944
3945
3946 <tr class="entry" id="dynamic_android.flash.firingTime">
3947 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3948 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003949 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003950
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003951 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003952
3953
3954 </td> <!-- entry_type -->
3955
3956 <td class="entry_description">
3957 Firing time of flash relative to start of
3958 exposure
3959 </td>
3960
3961 <td class="entry_units">
3962 nanoseconds
3963 </td>
3964
3965 <td class="entry_range">
3966 0-(exposure time-flash duration)
3967 </td>
3968
3969 <td class="entry_notes">
3970 Clamped to (0,<wbr> exposure time - flash
3971 duration).<wbr>
3972 </td>
3973
3974 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003975 <ul class="entry_tags">
3976 <li><a href="#tag_V1">V1</a></li>
3977 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003978 </td>
3979
3980 </tr> <!-- end of entry -->
3981
3982
3983 <tr class="entry" id="dynamic_android.flash.mode">
3984 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3985 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003986 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003987
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003988 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003989
3990 <ul class="entry_type_enum">
3991 <li>
3992 <span class="entry_type_enum_name">OFF</span>
3993 <span class="entry_type_enum_notes">Do not fire the flash for this
3994 capture</span>
3995 </li>
3996 <li>
3997 <span class="entry_type_enum_name">SINGLE</span>
3998 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3999 for this capture based on firingPower,<wbr>
4000 firingTime.<wbr></span>
4001 </li>
4002 <li>
4003 <span class="entry_type_enum_name">TORCH</span>
4004 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
4005 continuously on,<wbr> power set by
4006 firingPower</span>
4007 </li>
4008 </ul>
4009
4010 </td> <!-- entry_type -->
4011
4012 <td class="entry_description">
4013 Select flash operation mode
4014 </td>
4015
4016 <td class="entry_units">
4017 </td>
4018
4019 <td class="entry_range">
4020 </td>
4021
4022 <td class="entry_notes">
4023 </td>
4024
4025 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004026 <ul class="entry_tags">
4027 <li><a href="#tag_BC">BC</a></li>
4028 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004029 </td>
4030
4031 </tr> <!-- end of entry -->
4032
4033
4034 <tr class="entry" id="dynamic_android.flash.state">
4035 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004037 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004038
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004039 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004040
4041 <ul class="entry_type_enum">
4042 <li>
4043 <span class="entry_type_enum_name">UNAVAILABLE</span>
4044 <span class="entry_type_enum_notes">No flash on camera</span>
4045 </li>
4046 <li>
4047 <span class="entry_type_enum_name">CHARGING</span>
4048 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4049 charging and cannot be fired</span>
4050 </li>
4051 <li>
4052 <span class="entry_type_enum_name">READY</span>
4053 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4054 ready to fire</span>
4055 </li>
4056 <li>
4057 <span class="entry_type_enum_name">FIRED</span>
4058 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4059 for this capture</span>
4060 </li>
4061 </ul>
4062
4063 </td> <!-- entry_type -->
4064
4065 <td class="entry_description">
4066 Current state of the flash
4067 unit
4068 </td>
4069
4070 <td class="entry_units">
4071 </td>
4072
4073 <td class="entry_range">
4074 </td>
4075
4076 <td class="entry_notes">
4077 </td>
4078
4079 <td class="entry_tags">
4080 </td>
4081
4082 </tr> <!-- end of entry -->
4083
4084
4085
4086 <!-- end of kind -->
4087 </tbody>
4088
4089 <!-- end of section -->
4090 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4091
4092
4093 <tr><td colspan="7" class="kind">controls</td></tr>
4094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004095 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004096 <tr>
4097 <th class="th_name">Property Name</th>
4098 <th class="th_type">Type</th>
4099 <th class="th_description">Description</th>
4100 <th class="th_units">Units</th>
4101 <th class="th_range">Range</th>
4102 <th class="th_notes">Notes</th>
4103 <th class="th_tags">Tags</th>
4104 </tr>
4105 </thead>
4106
4107 <tbody>
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118 <tr class="entry" id="controls_android.geometric.mode">
4119 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4120 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004121 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004122
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004123 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004124
4125 <ul class="entry_type_enum">
4126 <li>
4127 <span class="entry_type_enum_name">OFF</span>
4128 <span class="entry_type_enum_notes">No geometric correction is
4129 applied</span>
4130 </li>
4131 <li>
4132 <span class="entry_type_enum_name">FAST</span>
4133 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4134 bayer output</span>
4135 </li>
4136 <li>
4137 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4138 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4139 quality</span>
4140 </li>
4141 </ul>
4142
4143 </td> <!-- entry_type -->
4144
4145 <td class="entry_description">
4146 Operating mode of geometric
4147 correction
4148 </td>
4149
4150 <td class="entry_units">
4151 </td>
4152
4153 <td class="entry_range">
4154 </td>
4155
4156 <td class="entry_notes">
4157 </td>
4158
4159 <td class="entry_tags">
4160 </td>
4161
4162 </tr> <!-- end of entry -->
4163
4164
4165 <tr class="entry" id="controls_android.geometric.strength">
4166 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4167 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004168 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004169
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004170 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004171
4172
4173 </td> <!-- entry_type -->
4174
4175 <td class="entry_description">
4176 Control the amount of shading correction
4177 applied to the images
4178 </td>
4179
4180 <td class="entry_units">
4181 unitless: 1-10; 10 is full shading
4182 compensation
4183 </td>
4184
4185 <td class="entry_range">
4186 </td>
4187
4188 <td class="entry_notes">
4189 </td>
4190
4191 <td class="entry_tags">
4192 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004193 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004194 </ul>
4195 </td>
4196
4197 </tr> <!-- end of entry -->
4198
4199
4200
4201 <!-- end of kind -->
4202 </tbody>
4203
4204 <!-- end of section -->
4205 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4206
4207
4208 <tr><td colspan="7" class="kind">controls</td></tr>
4209
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004210 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004211 <tr>
4212 <th class="th_name">Property Name</th>
4213 <th class="th_type">Type</th>
4214 <th class="th_description">Description</th>
4215 <th class="th_units">Units</th>
4216 <th class="th_range">Range</th>
4217 <th class="th_notes">Notes</th>
4218 <th class="th_tags">Tags</th>
4219 </tr>
4220 </thead>
4221
4222 <tbody>
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233 <tr class="entry" id="controls_android.hotPixel.mode">
4234 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004236 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004238 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004239
4240 <ul class="entry_type_enum">
4241 <li>
4242 <span class="entry_type_enum_name">OFF</span>
4243 <span class="entry_type_enum_notes">No hot pixel correction can be
4244 applied</span>
4245 </li>
4246 <li>
4247 <span class="entry_type_enum_name">FAST</span>
4248 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4249 Bayer output</span>
4250 </li>
4251 <li>
4252 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4253 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4254 quality</span>
4255 </li>
4256 </ul>
4257
4258 </td> <!-- entry_type -->
4259
4260 <td class="entry_description">
4261 Set operational mode for hot pixel
4262 correction
4263 </td>
4264
4265 <td class="entry_units">
4266 </td>
4267
4268 <td class="entry_range">
4269 </td>
4270
4271 <td class="entry_notes">
4272 </td>
4273
4274 <td class="entry_tags">
4275 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004276 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004277 </ul>
4278 </td>
4279
4280 </tr> <!-- end of entry -->
4281
4282
4283
4284 <!-- end of kind -->
4285 </tbody>
4286 <tr><td colspan="7" class="kind">static</td></tr>
4287
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004288 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004289 <tr>
4290 <th class="th_name">Property Name</th>
4291 <th class="th_type">Type</th>
4292 <th class="th_description">Description</th>
4293 <th class="th_units">Units</th>
4294 <th class="th_range">Range</th>
4295 <th class="th_notes">Notes</th>
4296 <th class="th_tags">Tags</th>
4297 </tr>
4298 </thead>
4299
4300 <tbody>
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313 <tr class="entry" id="static_android.hotPixel.info.map">
4314 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4315 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004316 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004317 <span class="entry_type_container">x</span>
4318
4319 <span class="entry_type_array">
4320 2 x n
4321 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004322 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004323 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4324
4325
4326 </td> <!-- entry_type -->
4327
4328 <td class="entry_description">
4329 Location of hot/<wbr>defective pixels on
4330 sensor
4331 </td>
4332
4333 <td class="entry_units">
4334 </td>
4335
4336 <td class="entry_range">
4337 </td>
4338
4339 <td class="entry_notes">
4340 </td>
4341
4342 <td class="entry_tags">
4343 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004344 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004345 </ul>
4346 </td>
4347
4348 </tr> <!-- end of entry -->
4349
4350
4351
4352
4353
4354
4355 <!-- end of kind -->
4356 </tbody>
4357 <tr><td colspan="7" class="kind">dynamic</td></tr>
4358
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004359 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004360 <tr>
4361 <th class="th_name">Property Name</th>
4362 <th class="th_type">Type</th>
4363 <th class="th_description">Description</th>
4364 <th class="th_units">Units</th>
4365 <th class="th_range">Range</th>
4366 <th class="th_notes">Notes</th>
4367 <th class="th_tags">Tags</th>
4368 </tr>
4369 </thead>
4370
4371 <tbody>
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382 <tr class="entry" id="dynamic_android.hotPixel.mode">
4383 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4384 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004385 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004386
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004387 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004388
4389 <ul class="entry_type_enum">
4390 <li>
4391 <span class="entry_type_enum_name">OFF</span>
4392 <span class="entry_type_enum_notes">No hot pixel correction can be
4393 applied</span>
4394 </li>
4395 <li>
4396 <span class="entry_type_enum_name">FAST</span>
4397 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4398 Bayer output</span>
4399 </li>
4400 <li>
4401 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4402 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4403 quality</span>
4404 </li>
4405 </ul>
4406
4407 </td> <!-- entry_type -->
4408
4409 <td class="entry_description">
4410 Set operational mode for hot pixel
4411 correction
4412 </td>
4413
4414 <td class="entry_units">
4415 </td>
4416
4417 <td class="entry_range">
4418 </td>
4419
4420 <td class="entry_notes">
4421 </td>
4422
4423 <td class="entry_tags">
4424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004425 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004426 </ul>
4427 </td>
4428
4429 </tr> <!-- end of entry -->
4430
4431
4432
4433 <!-- end of kind -->
4434 </tbody>
4435
4436 <!-- end of section -->
4437 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4438
4439
4440 <tr><td colspan="7" class="kind">controls</td></tr>
4441
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004442 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004443 <tr>
4444 <th class="th_name">Property Name</th>
4445 <th class="th_type">Type</th>
4446 <th class="th_description">Description</th>
4447 <th class="th_units">Units</th>
4448 <th class="th_range">Range</th>
4449 <th class="th_notes">Notes</th>
4450 <th class="th_tags">Tags</th>
4451 </tr>
4452 </thead>
4453
4454 <tbody>
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4466 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4467 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004468 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004469 <span class="entry_type_container">x</span>
4470
4471 <span class="entry_type_array">
4472 3
4473 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004474 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004475 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4476
4477
4478 </td> <!-- entry_type -->
4479
4480 <td class="entry_description">
4481 GPS coordinates to include in output JPEG
4482 EXIF
4483 </td>
4484
4485 <td class="entry_units">
4486 </td>
4487
4488 <td class="entry_range">
4489 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4490 </td>
4491
4492 <td class="entry_notes">
4493 </td>
4494
4495 <td class="entry_tags">
4496 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004497 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004498 </ul>
4499 </td>
4500
4501 </tr> <!-- end of entry -->
4502
4503
4504 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4505 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4506 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004507 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004508
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004509 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004510
4511
4512 </td> <!-- entry_type -->
4513
4514 <td class="entry_description">
4515 32 characters describing GPS algorithm to
4516 include in EXIF
4517 </td>
4518
4519 <td class="entry_units">
4520 UTF-8 null-terminated string
4521 </td>
4522
4523 <td class="entry_range">
4524 </td>
4525
4526 <td class="entry_notes">
4527 </td>
4528
4529 <td class="entry_tags">
4530 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004531 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004532 </ul>
4533 </td>
4534
4535 </tr> <!-- end of entry -->
4536
4537
4538 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4539 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4540 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004541 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004542
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004543 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004544
4545
4546 </td> <!-- entry_type -->
4547
4548 <td class="entry_description">
4549 Time GPS fix was made to include in
4550 EXIF
4551 </td>
4552
4553 <td class="entry_units">
4554 UTC in seconds since January 1,<wbr> 1970
4555 </td>
4556
4557 <td class="entry_range">
4558 </td>
4559
4560 <td class="entry_notes">
4561 </td>
4562
4563 <td class="entry_tags">
4564 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004565 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004566 </ul>
4567 </td>
4568
4569 </tr> <!-- end of entry -->
4570
4571
4572 <tr class="entry" id="controls_android.jpeg.orientation">
4573 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4574 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004575 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004576
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004577 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004578
4579
4580 </td> <!-- entry_type -->
4581
4582 <td class="entry_description">
4583 Orientation of JPEG image to
4584 write
4585 </td>
4586
4587 <td class="entry_units">
4588 Degrees in multiples of 90
4589 </td>
4590
4591 <td class="entry_range">
4592 0,<wbr> 90,<wbr> 180,<wbr> 270
4593 </td>
4594
4595 <td class="entry_notes">
4596 </td>
4597
4598 <td class="entry_tags">
4599 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004600 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004601 </ul>
4602 </td>
4603
4604 </tr> <!-- end of entry -->
4605
4606
4607 <tr class="entry" id="controls_android.jpeg.quality">
4608 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4609 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004610 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004611
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004612 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004613
4614
4615 </td> <!-- entry_type -->
4616
4617 <td class="entry_description">
4618 Compression quality of the final JPEG
4619 image
4620 </td>
4621
4622 <td class="entry_units">
4623 </td>
4624
4625 <td class="entry_range">
4626 1-100; larger is higher quality
4627 </td>
4628
4629 <td class="entry_notes">
4630 85-95 is typical usage range
4631 </td>
4632
4633 <td class="entry_tags">
4634 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004635 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004636 </ul>
4637 </td>
4638
4639 </tr> <!-- end of entry -->
4640
4641
4642 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4643 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4644 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004645 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004646
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004647 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004648
4649
4650 </td> <!-- entry_type -->
4651
4652 <td class="entry_description">
4653 Compression quality of JPEG
4654 thumbnail
4655 </td>
4656
4657 <td class="entry_units">
4658 </td>
4659
4660 <td class="entry_range">
4661 1-100; larger is higher quality
4662 </td>
4663
4664 <td class="entry_notes">
4665 </td>
4666
4667 <td class="entry_tags">
4668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004670 </ul>
4671 </td>
4672
4673 </tr> <!-- end of entry -->
4674
4675
4676 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4677 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004679 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004680 <span class="entry_type_container">x</span>
4681
4682 <span class="entry_type_array">
4683 2
4684 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004685 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004686
4687
4688 </td> <!-- entry_type -->
4689
4690 <td class="entry_description">
4691 Resolution of embedded JPEG
4692 thumbnail
4693 </td>
4694
4695 <td class="entry_units">
4696 </td>
4697
4698 <td class="entry_range">
4699 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4700 </td>
4701
4702 <td class="entry_notes">
4703 </td>
4704
4705 <td class="entry_tags">
4706 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004707 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004708 </ul>
4709 </td>
4710
4711 </tr> <!-- end of entry -->
4712
4713
4714
4715 <!-- end of kind -->
4716 </tbody>
4717 <tr><td colspan="7" class="kind">static</td></tr>
4718
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004719 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004720 <tr>
4721 <th class="th_name">Property Name</th>
4722 <th class="th_type">Type</th>
4723 <th class="th_description">Description</th>
4724 <th class="th_units">Units</th>
4725 <th class="th_range">Range</th>
4726 <th class="th_notes">Notes</th>
4727 <th class="th_tags">Tags</th>
4728 </tr>
4729 </thead>
4730
4731 <tbody>
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4743 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4744 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004745 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004746 <span class="entry_type_container">x</span>
4747
4748 <span class="entry_type_array">
4749 2 x n
4750 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004751 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004752 <div class="entry_type_notes">list of resolution pairs</div>
4753
4754
4755 </td> <!-- entry_type -->
4756
4757 <td class="entry_description">
4758 Supported resolutions for the JPEG
4759 thumbnail
4760 </td>
4761
4762 <td class="entry_units">
4763 </td>
4764
4765 <td class="entry_range">
4766 Must include at least one valid resolution,<wbr> plus
4767 (0,<wbr>0) for no thumbnail generation
4768 </td>
4769
4770 <td class="entry_notes">
4771 </td>
4772
4773 <td class="entry_tags">
4774 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004775 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004776 </ul>
4777 </td>
4778
4779 </tr> <!-- end of entry -->
4780
4781
4782 <tr class="entry" id="static_android.jpeg.maxSize">
4783 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4784 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004785 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004786
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004787 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004788
4789
4790 </td> <!-- entry_type -->
4791
4792 <td class="entry_description">
4793 Maximum size in bytes for the compressed
4794 JPEG buffer
4795 </td>
4796
4797 <td class="entry_units">
4798 </td>
4799
4800 <td class="entry_range">
4801 Must be large enough to fit any JPEG produced by
4802 the camera
4803 </td>
4804
4805 <td class="entry_notes">
4806 This is used for sizing the gralloc buffers for
4807 JPEG
4808 </td>
4809
4810 <td class="entry_tags">
4811 </td>
4812
4813 </tr> <!-- end of entry -->
4814
4815
4816
4817 <!-- end of kind -->
4818 </tbody>
4819 <tr><td colspan="7" class="kind">dynamic</td></tr>
4820
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004821 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004822 <tr>
4823 <th class="th_name">Property Name</th>
4824 <th class="th_type">Type</th>
4825 <th class="th_description">Description</th>
4826 <th class="th_units">Units</th>
4827 <th class="th_range">Range</th>
4828 <th class="th_notes">Notes</th>
4829 <th class="th_tags">Tags</th>
4830 </tr>
4831 </thead>
4832
4833 <tbody>
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4845 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4846 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004847 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004848 <span class="entry_type_container">x</span>
4849
4850 <span class="entry_type_array">
4851 3
4852 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004853 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4855
4856
4857 </td> <!-- entry_type -->
4858
4859 <td class="entry_description">
4860 GPS coordinates to include in output JPEG
4861 EXIF
4862 </td>
4863
4864 <td class="entry_units">
4865 </td>
4866
4867 <td class="entry_range">
4868 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4869 </td>
4870
4871 <td class="entry_notes">
4872 </td>
4873
4874 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004875 <ul class="entry_tags">
4876 <li><a href="#tag_BC">BC</a></li>
4877 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004878 </td>
4879
4880 </tr> <!-- end of entry -->
4881
4882
4883 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4884 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4885 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004886 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004887
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004888 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004889
4890
4891 </td> <!-- entry_type -->
4892
4893 <td class="entry_description">
4894 32 characters describing GPS algorithm to
4895 include in EXIF
4896 </td>
4897
4898 <td class="entry_units">
4899 UTF-8 null-terminated string
4900 </td>
4901
4902 <td class="entry_range">
4903 </td>
4904
4905 <td class="entry_notes">
4906 </td>
4907
4908 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004909 <ul class="entry_tags">
4910 <li><a href="#tag_BC">BC</a></li>
4911 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004912 </td>
4913
4914 </tr> <!-- end of entry -->
4915
4916
4917 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4918 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4919 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004920 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004921
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004922 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004923
4924
4925 </td> <!-- entry_type -->
4926
4927 <td class="entry_description">
4928 Time GPS fix was made to include in
4929 EXIF
4930 </td>
4931
4932 <td class="entry_units">
4933 UTC in seconds since January 1,<wbr> 1970
4934 </td>
4935
4936 <td class="entry_range">
4937 </td>
4938
4939 <td class="entry_notes">
4940 </td>
4941
4942 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004943 <ul class="entry_tags">
4944 <li><a href="#tag_BC">BC</a></li>
4945 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004946 </td>
4947
4948 </tr> <!-- end of entry -->
4949
4950
4951 <tr class="entry" id="dynamic_android.jpeg.orientation">
4952 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4953 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004954 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004956 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004957
4958
4959 </td> <!-- entry_type -->
4960
4961 <td class="entry_description">
4962 Orientation of JPEG image to
4963 write
4964 </td>
4965
4966 <td class="entry_units">
4967 Degrees in multiples of 90
4968 </td>
4969
4970 <td class="entry_range">
4971 0,<wbr> 90,<wbr> 180,<wbr> 270
4972 </td>
4973
4974 <td class="entry_notes">
4975 </td>
4976
4977 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004978 <ul class="entry_tags">
4979 <li><a href="#tag_BC">BC</a></li>
4980 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004981 </td>
4982
4983 </tr> <!-- end of entry -->
4984
4985
4986 <tr class="entry" id="dynamic_android.jpeg.quality">
4987 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4988 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004989 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004990
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004991 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004992
4993
4994 </td> <!-- entry_type -->
4995
4996 <td class="entry_description">
4997 Compression quality of the final JPEG
4998 image
4999 </td>
5000
5001 <td class="entry_units">
5002 </td>
5003
5004 <td class="entry_range">
5005 1-100; larger is higher quality
5006 </td>
5007
5008 <td class="entry_notes">
5009 85-95 is typical usage range
5010 </td>
5011
5012 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005013 <ul class="entry_tags">
5014 <li><a href="#tag_BC">BC</a></li>
5015 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005016 </td>
5017
5018 </tr> <!-- end of entry -->
5019
5020
5021 <tr class="entry" id="dynamic_android.jpeg.size">
5022 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005024 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005025
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005026 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005027
5028
5029 </td> <!-- entry_type -->
5030
5031 <td class="entry_description">
5032 The size of the compressed JPEG image,<wbr> in
5033 bytes
5034 </td>
5035
5036 <td class="entry_units">
5037 </td>
5038
5039 <td class="entry_range">
5040 >= 0
5041 </td>
5042
5043 <td class="entry_notes">
5044 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005045 this must be 0.<wbr>
5046<br>
5047<br> Otherwise,<wbr> this describes the real size of the compressed
5048 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5049 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5050 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5051 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5052 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </td>
5054
5055 <td class="entry_tags">
5056 </td>
5057
5058 </tr> <!-- end of entry -->
5059
5060
5061 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5062 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005064 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005065
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005066 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005067
5068
5069 </td> <!-- entry_type -->
5070
5071 <td class="entry_description">
5072 Compression quality of JPEG
5073 thumbnail
5074 </td>
5075
5076 <td class="entry_units">
5077 </td>
5078
5079 <td class="entry_range">
5080 1-100; larger is higher quality
5081 </td>
5082
5083 <td class="entry_notes">
5084 </td>
5085
5086 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005087 <ul class="entry_tags">
5088 <li><a href="#tag_BC">BC</a></li>
5089 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005090 </td>
5091
5092 </tr> <!-- end of entry -->
5093
5094
5095 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5096 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5097 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005098 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005099 <span class="entry_type_container">x</span>
5100
5101 <span class="entry_type_array">
5102 2
5103 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005104 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105
5106
5107 </td> <!-- entry_type -->
5108
5109 <td class="entry_description">
5110 Resolution of embedded JPEG
5111 thumbnail
5112 </td>
5113
5114 <td class="entry_units">
5115 </td>
5116
5117 <td class="entry_range">
5118 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5119 </td>
5120
5121 <td class="entry_notes">
5122 </td>
5123
5124 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005125 <ul class="entry_tags">
5126 <li><a href="#tag_BC">BC</a></li>
5127 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005128 </td>
5129
5130 </tr> <!-- end of entry -->
5131
5132
5133
5134 <!-- end of kind -->
5135 </tbody>
5136
5137 <!-- end of section -->
5138 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5139
5140
5141 <tr><td colspan="7" class="kind">controls</td></tr>
5142
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005143 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005144 <tr>
5145 <th class="th_name">Property Name</th>
5146 <th class="th_type">Type</th>
5147 <th class="th_description">Description</th>
5148 <th class="th_units">Units</th>
5149 <th class="th_range">Range</th>
5150 <th class="th_notes">Notes</th>
5151 <th class="th_tags">Tags</th>
5152 </tr>
5153 </thead>
5154
5155 <tbody>
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166 <tr class="entry" id="controls_android.lens.aperture">
5167 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5168 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005169 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005170
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005171 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005172
5173
5174 </td> <!-- entry_type -->
5175
5176 <td class="entry_description">
5177 Size of the lens aperture
5178 </td>
5179
5180 <td class="entry_units">
5181 f-number (f/<wbr>NNN)
5182 </td>
5183
5184 <td class="entry_range">
5185 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5186 </td>
5187
5188 <td class="entry_notes">
5189 Will not be supported on most devices.<wbr> Can only
5190 pick from supported list
5191 </td>
5192
5193 <td class="entry_tags">
5194 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005195 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196 </ul>
5197 </td>
5198
5199 </tr> <!-- end of entry -->
5200
5201
5202 <tr class="entry" id="controls_android.lens.filterDensity">
5203 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5204 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005205 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005206
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005207 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005208
5209
5210 </td> <!-- entry_type -->
5211
5212 <td class="entry_description">
5213 State of lens neutral density
5214 filter(s)
5215 </td>
5216
5217 <td class="entry_units">
5218 number of stops of filtering
5219 </td>
5220
5221 <td class="entry_range">
5222 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5223 </td>
5224
5225 <td class="entry_notes">
5226 Will not be supported on most devices.<wbr> Can only
5227 pick from supported list
5228 </td>
5229
5230 <td class="entry_tags">
5231 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005232 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005233 </ul>
5234 </td>
5235
5236 </tr> <!-- end of entry -->
5237
5238
5239 <tr class="entry" id="controls_android.lens.focalLength">
5240 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005242 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005244 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005245
5246
5247 </td> <!-- entry_type -->
5248
5249 <td class="entry_description">
5250 Lens optical zoom setting
5251 </td>
5252
5253 <td class="entry_units">
5254 focal length in mm
5255 </td>
5256
5257 <td class="entry_range">
5258 > 0
5259 </td>
5260
5261 <td class="entry_notes">
5262 Will not be supported on most devices.<wbr>
5263 </td>
5264
5265 <td class="entry_tags">
5266 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005267 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005268 </ul>
5269 </td>
5270
5271 </tr> <!-- end of entry -->
5272
5273
5274 <tr class="entry" id="controls_android.lens.focusDistance">
5275 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5276 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005277 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005278
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005279 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005280
5281
5282 </td> <!-- entry_type -->
5283
5284 <td class="entry_description">
5285 Distance to plane of sharpest focus,<wbr>
5286 measured from frontmost surface of the lens
5287 </td>
5288
5289 <td class="entry_units">
5290 diopters (1/<wbr>m)
5291 </td>
5292
5293 <td class="entry_range">
5294 >= 0
5295 </td>
5296
5297 <td class="entry_notes">
5298 0 = infinity focus.<wbr> Used value should be clamped
5299 to (0,<wbr>minimum focus distance)
5300 </td>
5301
5302 <td class="entry_tags">
5303 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005304 <li><a href="#tag_BC">BC</a></li>
5305 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005306 </ul>
5307 </td>
5308
5309 </tr> <!-- end of entry -->
5310
5311
5312 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5313 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5314 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005315 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005316
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005317 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005318
5319 <ul class="entry_type_enum">
5320 <li>
5321 <span class="entry_type_enum_name">OFF</span>
5322 </li>
5323 <li>
5324 <span class="entry_type_enum_name">ON</span>
5325 <span class="entry_type_enum_optional">optional</span>
5326 </li>
5327 </ul>
5328
5329 </td> <!-- entry_type -->
5330
5331 <td class="entry_description">
5332 Whether optical image stabilization is
5333 enabled.<wbr>
5334 </td>
5335
5336 <td class="entry_units">
5337 </td>
5338
5339 <td class="entry_range">
5340 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5341 </td>
5342
5343 <td class="entry_notes">
5344 Will not be supported on most devices.<wbr>
5345 </td>
5346
5347 <td class="entry_tags">
5348 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005349 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005350 </ul>
5351 </td>
5352
5353 </tr> <!-- end of entry -->
5354
5355
5356
5357 <!-- end of kind -->
5358 </tbody>
5359 <tr><td colspan="7" class="kind">static</td></tr>
5360
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005361 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005362 <tr>
5363 <th class="th_name">Property Name</th>
5364 <th class="th_type">Type</th>
5365 <th class="th_description">Description</th>
5366 <th class="th_units">Units</th>
5367 <th class="th_range">Range</th>
5368 <th class="th_notes">Notes</th>
5369 <th class="th_tags">Tags</th>
5370 </tr>
5371 </thead>
5372
5373 <tbody>
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386 <tr class="entry" id="static_android.lens.info.availableApertures">
5387 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5388 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005389 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005390 <span class="entry_type_container">x</span>
5391
5392 <span class="entry_type_array">
5393 n
5394 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005395 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005396
5397
5398 </td> <!-- entry_type -->
5399
5400 <td class="entry_description">
5401 List of supported aperture
5402 values
5403 </td>
5404
5405 <td class="entry_units">
5406 </td>
5407
5408 <td class="entry_range">
5409 one entry required,<wbr> > 0
5410 </td>
5411
5412 <td class="entry_notes">
5413 If variable aperture not available,<wbr> only setting
5414 should be for the fixed aperture
5415 </td>
5416
5417 <td class="entry_tags">
5418 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005419 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005420 </ul>
5421 </td>
5422
5423 </tr> <!-- end of entry -->
5424
5425
5426 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5427 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005429 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005430 <span class="entry_type_container">x</span>
5431
5432 <span class="entry_type_array">
5433 n
5434 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005435 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436
5437
5438 </td> <!-- entry_type -->
5439
5440 <td class="entry_description">
5441 List of supported ND filter
5442 values
5443 </td>
5444
5445 <td class="entry_units">
5446 </td>
5447
5448 <td class="entry_range">
5449 one entry required,<wbr> >= 0
5450 </td>
5451
5452 <td class="entry_notes">
5453 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5454 lists the available exposure index values for dimming
5455 (2 would mean the filter is set to reduce incoming
5456 light by two stops)
5457 </td>
5458
5459 <td class="entry_tags">
5460 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005461 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005462 </ul>
5463 </td>
5464
5465 </tr> <!-- end of entry -->
5466
5467
5468 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5469 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005471 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472 <span class="entry_type_container">x</span>
5473
5474 <span class="entry_type_array">
5475 n
5476 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005477 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005478 <div class="entry_type_notes">the list of available focal lengths</div>
5479
5480
5481 </td> <!-- entry_type -->
5482
5483 <td class="entry_description">
5484 If fitted with optical zoom,<wbr> what focal
5485 lengths are available.<wbr> If not,<wbr> the static focal
5486 length
5487 </td>
5488
5489 <td class="entry_units">
5490 </td>
5491
5492 <td class="entry_range">
5493 > 0
5494 </td>
5495
5496 <td class="entry_notes">
5497 If optical zoom not supported,<wbr> only one value
5498 should be reported
5499 </td>
5500
5501 <td class="entry_tags">
5502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005503 <li><a href="#tag_BC">BC</a></li>
5504 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005505 </ul>
5506 </td>
5507
5508 </tr> <!-- end of entry -->
5509
5510
5511 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5512 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5513 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005514 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005515 <span class="entry_type_container">x</span>
5516
5517 <span class="entry_type_array">
5518 n
5519 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005520 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 <div class="entry_type_notes">list of enums</div>
5522
5523
5524 </td> <!-- entry_type -->
5525
5526 <td class="entry_description">
5527 List of supported optical image
5528 stabilization modes
5529 </td>
5530
5531 <td class="entry_units">
5532 </td>
5533
5534 <td class="entry_range">
5535 </td>
5536
5537 <td class="entry_notes">
5538 </td>
5539
5540 <td class="entry_tags">
5541 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005542 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005543 </ul>
5544 </td>
5545
5546 </tr> <!-- end of entry -->
5547
5548
5549 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5550 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5551 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005552 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005553 <span class="entry_type_container">x</span>
5554
5555 <span class="entry_type_array">
5556 2 x 3 x n x m
5557 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005558 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 <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>
5560
5561
5562 </td> <!-- entry_type -->
5563
5564 <td class="entry_description">
5565 A low-resolution map for correction of
5566 geometric distortions and chromatic aberrations,<wbr> per
5567 color channel
5568 </td>
5569
5570 <td class="entry_units">
5571 </td>
5572
5573 <td class="entry_range">
5574 N,<wbr> M >= 2
5575 </td>
5576
5577 <td class="entry_notes">
5578 [DNG wants a function instead].<wbr> What's easiest
5579 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5580 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5581 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5582 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5583 </td>
5584
5585 <td class="entry_tags">
5586 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005587 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005588 </ul>
5589 </td>
5590
5591 </tr> <!-- end of entry -->
5592
5593
5594 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5595 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5596 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005597 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005598 <span class="entry_type_container">x</span>
5599
5600 <span class="entry_type_array">
5601 2
5602 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005603 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005604 <div class="entry_type_notes">width and height of geometric correction map</div>
5605
5606
5607 </td> <!-- entry_type -->
5608
5609 <td class="entry_description">
5610 Dimensions of geometric correction
5611 map
5612 </td>
5613
5614 <td class="entry_units">
5615 </td>
5616
5617 <td class="entry_range">
5618 Both values >= 2
5619 </td>
5620
5621 <td class="entry_notes">
5622 </td>
5623
5624 <td class="entry_tags">
5625 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005626 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627 </ul>
5628 </td>
5629
5630 </tr> <!-- end of entry -->
5631
5632
5633 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5634 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5635 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005636 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005637
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005638 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005639
5640
5641 </td> <!-- entry_type -->
5642
5643 <td class="entry_description">
5644 Hyperfocal distance for this lens; set to
5645 0 if fixed focus
5646 </td>
5647
5648 <td class="entry_units">
5649 diopters
5650 </td>
5651
5652 <td class="entry_range">
5653 >= 0
5654 </td>
5655
5656 <td class="entry_notes">
5657 The hyperfocal distance is used for the old
5658 API's 'fixed' setting
5659 </td>
5660
5661 <td class="entry_tags">
5662 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005663 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664 </ul>
5665 </td>
5666
5667 </tr> <!-- end of entry -->
5668
5669
5670 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5671 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5672 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005673 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005674
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005675 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005676
5677
5678 </td> <!-- entry_type -->
5679
5680 <td class="entry_description">
5681 Shortest distance from frontmost surface
5682 of the lens that can be focused correctly
5683 </td>
5684
5685 <td class="entry_units">
5686 diopters
5687 </td>
5688
5689 <td class="entry_range">
5690 >= 0
5691 </td>
5692
5693 <td class="entry_notes">
5694 If the lens is fixed-focus,<wbr> this should be
5695 0
5696 </td>
5697
5698 <td class="entry_tags">
5699 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005700 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005701 </ul>
5702 </td>
5703
5704 </tr> <!-- end of entry -->
5705
5706
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005707 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5708 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5709 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005710 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005711 <span class="entry_type_container">x</span>
5712
5713 <span class="entry_type_array">
5714 2
5715 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005716 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005717 <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 -08005718
5719
5720 </td> <!-- entry_type -->
5721
5722 <td class="entry_description">
5723 Dimensions of lens shading
5724 map
5725 </td>
5726
5727 <td class="entry_units">
5728 </td>
5729
5730 <td class="entry_range">
5731 Both values >= 1
5732 </td>
5733
5734 <td class="entry_notes">
5735 </td>
5736
5737 <td class="entry_tags">
5738 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005739 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005740 </ul>
5741 </td>
5742
5743 </tr> <!-- end of entry -->
5744
5745
5746
5747
5748
5749 <tr class="entry" id="static_android.lens.facing">
5750 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005752 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005753
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005754 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005755
5756 <ul class="entry_type_enum">
5757 <li>
5758 <span class="entry_type_enum_name">FRONT</span>
5759 </li>
5760 <li>
5761 <span class="entry_type_enum_name">BACK</span>
5762 </li>
5763 </ul>
5764
5765 </td> <!-- entry_type -->
5766
5767 <td class="entry_description">
5768 Direction the camera faces relative to
5769 device screen
5770 </td>
5771
5772 <td class="entry_units">
5773 </td>
5774
5775 <td class="entry_range">
5776 </td>
5777
5778 <td class="entry_notes">
5779 </td>
5780
5781 <td class="entry_tags">
5782 </td>
5783
5784 </tr> <!-- end of entry -->
5785
5786
5787 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5788 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5789 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005790 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005791 <span class="entry_type_container">x</span>
5792
5793 <span class="entry_type_array">
5794 2
5795 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005796 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 <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>
5798
5799
5800 </td> <!-- entry_type -->
5801
5802 <td class="entry_description">
5803 Relative angle of camera optical axis to the
5804 perpendicular axis from the display
5805 </td>
5806
5807 <td class="entry_units">
5808 </td>
5809
5810 <td class="entry_range">
5811 [0-90) for first angle,<wbr> [0-360) for second
5812 </td>
5813
5814 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005815 Examples:
5816<br>
5817<br> (0,<wbr>0) means that the camera optical axis
5818 is perpendicular to the display surface;
5819<br>
5820<br> (45,<wbr>0) means that the camera points 45 degrees up when
5821 device is held upright;
5822<br>
5823<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5824 the device is held upright.<wbr>
5825<br>
5826<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005827 direction
5828 </td>
5829
5830 <td class="entry_tags">
5831 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005832 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 </ul>
5834 </td>
5835
5836 </tr> <!-- end of entry -->
5837
5838
5839 <tr class="entry" id="static_android.lens.position">
5840 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5841 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005842 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005843 <span class="entry_type_container">x</span>
5844
5845 <span class="entry_type_array">
5846 3, location in mm, in the sensor coordinate
5847 system
5848 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005849 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850
5851
5852 </td> <!-- entry_type -->
5853
5854 <td class="entry_description">
5855 Coordinates of camera optical axis on
5856 device
5857 </td>
5858
5859 <td class="entry_units">
5860 </td>
5861
5862 <td class="entry_range">
5863 </td>
5864
5865 <td class="entry_notes">
5866 </td>
5867
5868 <td class="entry_tags">
5869 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005870 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005871 </ul>
5872 </td>
5873
5874 </tr> <!-- end of entry -->
5875
5876
5877
5878 <!-- end of kind -->
5879 </tbody>
5880 <tr><td colspan="7" class="kind">dynamic</td></tr>
5881
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005882 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005883 <tr>
5884 <th class="th_name">Property Name</th>
5885 <th class="th_type">Type</th>
5886 <th class="th_description">Description</th>
5887 <th class="th_units">Units</th>
5888 <th class="th_range">Range</th>
5889 <th class="th_notes">Notes</th>
5890 <th class="th_tags">Tags</th>
5891 </tr>
5892 </thead>
5893
5894 <tbody>
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905 <tr class="entry" id="dynamic_android.lens.aperture">
5906 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5907 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005908 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005909
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005910 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005911
5912
5913 </td> <!-- entry_type -->
5914
5915 <td class="entry_description">
5916 Size of the lens aperture
5917 </td>
5918
5919 <td class="entry_units">
5920 f-number (f/<wbr>NNN)
5921 </td>
5922
5923 <td class="entry_range">
5924 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5925 </td>
5926
5927 <td class="entry_notes">
5928 Will not be supported on most devices.<wbr> Can only
5929 pick from supported list
5930 </td>
5931
5932 <td class="entry_tags">
5933 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005934 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935 </ul>
5936 </td>
5937
5938 </tr> <!-- end of entry -->
5939
5940
5941 <tr class="entry" id="dynamic_android.lens.filterDensity">
5942 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5943 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005944 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005945
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005946 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005947
5948
5949 </td> <!-- entry_type -->
5950
5951 <td class="entry_description">
5952 State of lens neutral density
5953 filter(s)
5954 </td>
5955
5956 <td class="entry_units">
5957 number of stops of filtering
5958 </td>
5959
5960 <td class="entry_range">
5961 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5962 </td>
5963
5964 <td class="entry_notes">
5965 Will not be supported on most devices.<wbr> Can only
5966 pick from supported list
5967 </td>
5968
5969 <td class="entry_tags">
5970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005971 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972 </ul>
5973 </td>
5974
5975 </tr> <!-- end of entry -->
5976
5977
5978 <tr class="entry" id="dynamic_android.lens.focalLength">
5979 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005981 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005982
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005983 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984
5985
5986 </td> <!-- entry_type -->
5987
5988 <td class="entry_description">
5989 Lens optical zoom setting
5990 </td>
5991
5992 <td class="entry_units">
5993 focal length in mm
5994 </td>
5995
5996 <td class="entry_range">
5997 > 0
5998 </td>
5999
6000 <td class="entry_notes">
6001 Will not be supported on most devices.<wbr>
6002 </td>
6003
6004 <td class="entry_tags">
6005 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006006 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006007 </ul>
6008 </td>
6009
6010 </tr> <!-- end of entry -->
6011
6012
6013 <tr class="entry" id="dynamic_android.lens.focusDistance">
6014 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6015 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006016 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006017
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006018 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006019
6020
6021 </td> <!-- entry_type -->
6022
6023 <td class="entry_description">
6024 Distance to plane of sharpest focus,<wbr>
6025 measured from frontmost surface of the lens
6026 </td>
6027
6028 <td class="entry_units">
6029 diopters (1/<wbr>m)
6030 </td>
6031
6032 <td class="entry_range">
6033 >= 0
6034 </td>
6035
6036 <td class="entry_notes">
6037 Should be zero for fixed-focus cameras
6038 </td>
6039
6040 <td class="entry_tags">
6041 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006042 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006043 </ul>
6044 </td>
6045
6046 </tr> <!-- end of entry -->
6047
6048
6049 <tr class="entry" id="dynamic_android.lens.focusRange">
6050 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006052 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006053
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006054 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055
6056
6057 </td> <!-- entry_type -->
6058
6059 <td class="entry_description">
6060 The range of scene distances that are in
6061 sharp focus (depth of field)
6062 </td>
6063
6064 <td class="entry_units">
6065 pair of focus distances in diopters: (near,<wbr>
6066 far)
6067 </td>
6068
6069 <td class="entry_range">
6070 >=0
6071 </td>
6072
6073 <td class="entry_notes">
6074 If variable focus not supported,<wbr> can still report
6075 fixed depth of field range
6076 </td>
6077
6078 <td class="entry_tags">
6079 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006080 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081 </ul>
6082 </td>
6083
6084 </tr> <!-- end of entry -->
6085
6086
6087 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6088 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6089 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006090 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006091
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006092 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006093
6094 <ul class="entry_type_enum">
6095 <li>
6096 <span class="entry_type_enum_name">OFF</span>
6097 </li>
6098 <li>
6099 <span class="entry_type_enum_name">ON</span>
6100 <span class="entry_type_enum_optional">optional</span>
6101 </li>
6102 </ul>
6103
6104 </td> <!-- entry_type -->
6105
6106 <td class="entry_description">
6107 Whether optical image stabilization is
6108 enabled.<wbr>
6109 </td>
6110
6111 <td class="entry_units">
6112 </td>
6113
6114 <td class="entry_range">
6115 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6116 </td>
6117
6118 <td class="entry_notes">
6119 Will not be supported on most devices.<wbr>
6120 </td>
6121
6122 <td class="entry_tags">
6123 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006124 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006125 </ul>
6126 </td>
6127
6128 </tr> <!-- end of entry -->
6129
6130
6131 <tr class="entry" id="dynamic_android.lens.state">
6132 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6133 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006134 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006135
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006136 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006137
6138 <ul class="entry_type_enum">
6139 <li>
6140 <span class="entry_type_enum_name">STATIONARY</span>
6141 </li>
6142 </ul>
6143
6144 </td> <!-- entry_type -->
6145
6146 <td class="entry_description">
6147 Current lens status
6148 </td>
6149
6150 <td class="entry_units">
6151 </td>
6152
6153 <td class="entry_range">
6154 </td>
6155
6156 <td class="entry_notes">
6157 </td>
6158
6159 <td class="entry_tags">
6160 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006161 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006162 </ul>
6163 </td>
6164
6165 </tr> <!-- end of entry -->
6166
6167
6168
6169 <!-- end of kind -->
6170 </tbody>
6171
6172 <!-- end of section -->
6173 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6174
6175
6176 <tr><td colspan="7" class="kind">controls</td></tr>
6177
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006178 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006179 <tr>
6180 <th class="th_name">Property Name</th>
6181 <th class="th_type">Type</th>
6182 <th class="th_description">Description</th>
6183 <th class="th_units">Units</th>
6184 <th class="th_range">Range</th>
6185 <th class="th_notes">Notes</th>
6186 <th class="th_tags">Tags</th>
6187 </tr>
6188 </thead>
6189
6190 <tbody>
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201 <tr class="entry" id="controls_android.noiseReduction.mode">
6202 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6203 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006204 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006205
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006207
6208 <ul class="entry_type_enum">
6209 <li>
6210 <span class="entry_type_enum_name">OFF</span>
6211 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6212 </li>
6213 <li>
6214 <span class="entry_type_enum_name">FAST</span>
6215 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6216 bayer output</span>
6217 </li>
6218 <li>
6219 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6220 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6221 quality</span>
6222 </li>
6223 </ul>
6224
6225 </td> <!-- entry_type -->
6226
6227 <td class="entry_description">
6228 Mode of operation for the noise reduction
6229 algorithm
6230 </td>
6231
6232 <td class="entry_units">
6233 </td>
6234
6235 <td class="entry_range">
6236 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6237 </td>
6238
6239 <td class="entry_notes">
6240 </td>
6241
6242 <td class="entry_tags">
6243 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006244 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006245 </ul>
6246 </td>
6247
6248 </tr> <!-- end of entry -->
6249
6250
6251 <tr class="entry" id="controls_android.noiseReduction.strength">
6252 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6253 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006254 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006255
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006256 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006257
6258
6259 </td> <!-- entry_type -->
6260
6261 <td class="entry_description">
6262 Control the amount of noise reduction
6263 applied to the images
6264 </td>
6265
6266 <td class="entry_units">
6267 1-10; 10 is max noise reduction
6268 </td>
6269
6270 <td class="entry_range">
6271 1 - 10
6272 </td>
6273
6274 <td class="entry_notes">
6275 </td>
6276
6277 <td class="entry_tags">
6278 </td>
6279
6280 </tr> <!-- end of entry -->
6281
6282
6283
6284 <!-- end of kind -->
6285 </tbody>
6286 <tr><td colspan="7" class="kind">dynamic</td></tr>
6287
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006288 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006289 <tr>
6290 <th class="th_name">Property Name</th>
6291 <th class="th_type">Type</th>
6292 <th class="th_description">Description</th>
6293 <th class="th_units">Units</th>
6294 <th class="th_range">Range</th>
6295 <th class="th_notes">Notes</th>
6296 <th class="th_tags">Tags</th>
6297 </tr>
6298 </thead>
6299
6300 <tbody>
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6312 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6313 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006314 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006315
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006316 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006317
6318 <ul class="entry_type_enum">
6319 <li>
6320 <span class="entry_type_enum_name">OFF</span>
6321 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6322 </li>
6323 <li>
6324 <span class="entry_type_enum_name">FAST</span>
6325 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6326 bayer output</span>
6327 </li>
6328 <li>
6329 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6330 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6331 quality</span>
6332 </li>
6333 </ul>
6334
6335 </td> <!-- entry_type -->
6336
6337 <td class="entry_description">
6338 Mode of operation for the noise reduction
6339 algorithm
6340 </td>
6341
6342 <td class="entry_units">
6343 </td>
6344
6345 <td class="entry_range">
6346 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6347 </td>
6348
6349 <td class="entry_notes">
6350 </td>
6351
6352 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006353 <ul class="entry_tags">
6354 <li><a href="#tag_V1">V1</a></li>
6355 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006356 </td>
6357
6358 </tr> <!-- end of entry -->
6359
6360
6361
6362 <!-- end of kind -->
6363 </tbody>
6364
6365 <!-- end of section -->
6366 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6367
6368
6369 <tr><td colspan="7" class="kind">static</td></tr>
6370
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006371 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006372 <tr>
6373 <th class="th_name">Property Name</th>
6374 <th class="th_type">Type</th>
6375 <th class="th_description">Description</th>
6376 <th class="th_units">Units</th>
6377 <th class="th_range">Range</th>
6378 <th class="th_notes">Notes</th>
6379 <th class="th_tags">Tags</th>
6380 </tr>
6381 </thead>
6382
6383 <tbody>
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6395 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6396 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006397 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006398
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006399 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006400
6401
6402 </td> <!-- entry_type -->
6403
6404 <td class="entry_description">
6405 If set to 1,<wbr> the camera service does not
6406 scale 'normalized' coordinates with respect to the crop
6407 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6408 and output (face rectangles).<wbr>
6409 </td>
6410
6411 <td class="entry_units">
6412 </td>
6413
6414 <td class="entry_range">
6415 </td>
6416
6417 <td class="entry_notes">
6418 Normalized coordinates refer to those in the
6419 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006420 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6421<br>
6422<br> HAL implementations should instead always use and emit
6423 sensor array-relative coordinates for all region data.<wbr> Does
6424 not need to be listed in static metadata.<wbr> Support will be
6425 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006426 </td>
6427
6428 <td class="entry_tags">
6429 </td>
6430
6431 </tr> <!-- end of entry -->
6432
6433
6434 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6435 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6436 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006437 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006438
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006439 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006440
6441
6442 </td> <!-- entry_type -->
6443
6444 <td class="entry_description">
6445 If set to 1,<wbr> then the camera service always
6446 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6447 trigger.<wbr>
6448 </td>
6449
6450 <td class="entry_units">
6451 </td>
6452
6453 <td class="entry_range">
6454 </td>
6455
6456 <td class="entry_notes">
6457 HAL implementations should implement AF trigger
6458 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6459 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6460 not need to be listed in static metadata.<wbr> Support will be
6461 removed in future versions of camera service
6462 </td>
6463
6464 <td class="entry_tags">
6465 </td>
6466
6467 </tr> <!-- end of entry -->
6468
6469
6470 <tr class="entry" id="static_android.quirks.useZslFormat">
6471 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6472 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006473 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006474
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006475 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006476
6477
6478 </td> <!-- entry_type -->
6479
6480 <td class="entry_description">
6481 If set to 1,<wbr> the camera service uses
6482 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6483 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6484 shutter lag stream
6485 </td>
6486
6487 <td class="entry_units">
6488 </td>
6489
6490 <td class="entry_range">
6491 </td>
6492
6493 <td class="entry_notes">
6494 HAL implementations should use gralloc usage flags
6495 to determine that a stream will be used for
6496 zero-shutter-lag,<wbr> instead of relying on an explicit
6497 format setting.<wbr> Does not need to be listed in static
6498 metadata.<wbr> Support will be removed in future versions of
6499 camera service.<wbr>
6500 </td>
6501
6502 <td class="entry_tags">
6503 </td>
6504
6505 </tr> <!-- end of entry -->
6506
6507
6508
6509 <!-- end of kind -->
6510 </tbody>
6511
6512 <!-- end of section -->
6513 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6514
6515
6516 <tr><td colspan="7" class="kind">controls</td></tr>
6517
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006518 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006519 <tr>
6520 <th class="th_name">Property Name</th>
6521 <th class="th_type">Type</th>
6522 <th class="th_description">Description</th>
6523 <th class="th_units">Units</th>
6524 <th class="th_range">Range</th>
6525 <th class="th_notes">Notes</th>
6526 <th class="th_tags">Tags</th>
6527 </tr>
6528 </thead>
6529
6530 <tbody>
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541 <tr class="entry" id="controls_android.request.frameCount">
6542 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6543 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006544 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006546 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006547
6548
6549 </td> <!-- entry_type -->
6550
6551 <td class="entry_description">
6552 A frame counter set by the framework.<wbr> Must
6553 be maintained unchanged in output frame
6554 </td>
6555
6556 <td class="entry_units">
6557 incrementing integer
6558 </td>
6559
6560 <td class="entry_range">
6561 Any int
6562 </td>
6563
6564 <td class="entry_notes">
6565 </td>
6566
6567 <td class="entry_tags">
6568 </td>
6569
6570 </tr> <!-- end of entry -->
6571
6572
6573 <tr class="entry" id="controls_android.request.id">
6574 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6575 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006576 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006577
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006578 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006579
6580
6581 </td> <!-- entry_type -->
6582
6583 <td class="entry_description">
6584 An application-specified ID for the current
6585 request.<wbr> Must be maintained unchanged in output
6586 frame
6587 </td>
6588
6589 <td class="entry_units">
6590 arbitrary integer assigned by application
6591 </td>
6592
6593 <td class="entry_range">
6594 Any int
6595 </td>
6596
6597 <td class="entry_notes">
6598 </td>
6599
6600 <td class="entry_tags">
6601 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006602 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006603 </ul>
6604 </td>
6605
6606 </tr> <!-- end of entry -->
6607
6608
6609 <tr class="entry" id="controls_android.request.inputStreams">
6610 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6611 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006612 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006613 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006614
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006615 <span class="entry_type_array">
6616 n
6617 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006618 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006619
6620
6621 </td> <!-- entry_type -->
6622
6623 <td class="entry_description">
6624 List which camera reprocess stream is used
6625 for the source of reprocessing data.<wbr>
6626 </td>
6627
6628 <td class="entry_units">
6629 List of camera reprocess stream IDs
6630 </td>
6631
6632 <td class="entry_range">
6633 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006634 reprocess stream ID.<wbr>
6635
6636 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6637 reprocess streams may be included in a single request; they
6638 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006639 </td>
6640
6641 <td class="entry_notes">
6642 Only meaningful when android.<wbr>request.<wbr>type ==
6643 REPROCESS.<wbr> Ignored otherwise
6644 </td>
6645
6646 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006647 <ul class="entry_tags">
6648 <li><a href="#tag_HAL2">HAL2</a></li>
6649 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006650 </td>
6651
6652 </tr> <!-- end of entry -->
6653
6654
6655 <tr class="entry" id="controls_android.request.metadataMode">
6656 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6657 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006658 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006659
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006660 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006661
6662 <ul class="entry_type_enum">
6663 <li>
6664 <span class="entry_type_enum_name">NONE</span>
6665 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6666 for application-bound buffer data.<wbr> If no
6667 application-bound streams exist,<wbr> no frame should be
6668 placed in the output frame queue.<wbr> If such streams
6669 exist,<wbr> a frame should be placed on the output queue
6670 with null metadata but with the necessary output buffer
6671 information.<wbr> Timestamp information should still be
6672 included with any output stream buffers</span>
6673 </li>
6674 <li>
6675 <span class="entry_type_enum_name">FULL</span>
6676 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6677 only be produced if they are separately
6678 enabled</span>
6679 </li>
6680 </ul>
6681
6682 </td> <!-- entry_type -->
6683
6684 <td class="entry_description">
6685 How much metadata to produce on
6686 output
6687 </td>
6688
6689 <td class="entry_units">
6690 </td>
6691
6692 <td class="entry_range">
6693 </td>
6694
6695 <td class="entry_notes">
6696 </td>
6697
6698 <td class="entry_tags">
6699 </td>
6700
6701 </tr> <!-- end of entry -->
6702
6703
6704 <tr class="entry" id="controls_android.request.outputStreams">
6705 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6706 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006707 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006708 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006709
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006710 <span class="entry_type_array">
6711 n
6712 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006713 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006714
6715
6716 </td> <!-- entry_type -->
6717
6718 <td class="entry_description">
6719 Lists which camera output streams image data
6720 from this capture must be sent to
6721 </td>
6722
6723 <td class="entry_units">
6724 List of camera stream IDs
6725 </td>
6726
6727 <td class="entry_range">
6728 List must only include streams that have been
6729 created
6730 </td>
6731
6732 <td class="entry_notes">
6733 If no output streams are listed,<wbr> then the image
6734 data should simply be discarded.<wbr> The image data must
6735 still be captured for metadata and statistics production,<wbr>
6736 and the lens and flash must operate as requested.<wbr>
6737 </td>
6738
6739 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006740 <ul class="entry_tags">
6741 <li><a href="#tag_HAL2">HAL2</a></li>
6742 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006743 </td>
6744
6745 </tr> <!-- end of entry -->
6746
6747
6748 <tr class="entry" id="controls_android.request.type">
6749 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006751 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006752
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006753 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006754
6755 <ul class="entry_type_enum">
6756 <li>
6757 <span class="entry_type_enum_name">CAPTURE</span>
6758 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6759 and process it according to the
6760 settings</span>
6761 </li>
6762 <li>
6763 <span class="entry_type_enum_name">REPROCESS</span>
6764 <span class="entry_type_enum_notes">Process previously captured data; the
6765 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6766 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6767 needed for reprocessing with [RP]</span>
6768 </li>
6769 </ul>
6770
6771 </td> <!-- entry_type -->
6772
6773 <td class="entry_description">
6774 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006775 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006776 </td>
6777
6778 <td class="entry_units">
6779 </td>
6780
6781 <td class="entry_range">
6782 </td>
6783
6784 <td class="entry_notes">
6785 </td>
6786
6787 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006788 <ul class="entry_tags">
6789 <li><a href="#tag_HAL2">HAL2</a></li>
6790 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006791 </td>
6792
6793 </tr> <!-- end of entry -->
6794
6795
6796
6797 <!-- end of kind -->
6798 </tbody>
6799 <tr><td colspan="7" class="kind">static</td></tr>
6800
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006801 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006802 <tr>
6803 <th class="th_name">Property Name</th>
6804 <th class="th_type">Type</th>
6805 <th class="th_description">Description</th>
6806 <th class="th_units">Units</th>
6807 <th class="th_range">Range</th>
6808 <th class="th_notes">Notes</th>
6809 <th class="th_tags">Tags</th>
6810 </tr>
6811 </thead>
6812
6813 <tbody>
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6825 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6826 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006827 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006828 <span class="entry_type_container">x</span>
6829
6830 <span class="entry_type_array">
6831 3
6832 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006833 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006834
6835
6836 </td> <!-- entry_type -->
6837
6838 <td class="entry_description">
6839 How many output streams can be allocated at
6840 the same time for each type of stream
6841 </td>
6842
6843 <td class="entry_units">
6844 The number of raw sensor streams; the number of
6845 processed,<wbr> uncompressed streams; and the number of
6846 JPEG-compressed streams
6847 </td>
6848
6849 <td class="entry_range">
6850 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6851 for processed,<wbr> uncompressed streams
6852 </td>
6853
6854 <td class="entry_notes">
6855 Video snapshot with preview callbacks requires 3
6856 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6857 one JPEG stream (snapshot)
6858 </td>
6859
6860 <td class="entry_tags">
6861 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006862 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006863 </ul>
6864 </td>
6865
6866 </tr> <!-- end of entry -->
6867
6868
6869 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6870 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6871 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006872 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006873 <span class="entry_type_container">x</span>
6874
6875 <span class="entry_type_array">
6876 1
6877 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006878 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006879
6880
6881 </td> <!-- entry_type -->
6882
6883 <td class="entry_description">
6884 How many reprocessing streams of any type
6885 can be allocated at the same time
6886 </td>
6887
6888 <td class="entry_units">
6889 </td>
6890
6891 <td class="entry_range">
6892 >= 1
6893 </td>
6894
6895 <td class="entry_notes">
6896 </td>
6897
6898 <td class="entry_tags">
6899 </td>
6900
6901 </tr> <!-- end of entry -->
6902
6903
6904
6905 <!-- end of kind -->
6906 </tbody>
6907 <tr><td colspan="7" class="kind">dynamic</td></tr>
6908
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006909 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006910 <tr>
6911 <th class="th_name">Property Name</th>
6912 <th class="th_type">Type</th>
6913 <th class="th_description">Description</th>
6914 <th class="th_units">Units</th>
6915 <th class="th_range">Range</th>
6916 <th class="th_notes">Notes</th>
6917 <th class="th_tags">Tags</th>
6918 </tr>
6919 </thead>
6920
6921 <tbody>
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932 <tr class="entry" id="dynamic_android.request.frameCount">
6933 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6934 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006935 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006936
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006937 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006938
6939
6940 </td> <!-- entry_type -->
6941
6942 <td class="entry_description">
6943 Number of frames captured since
6944 open()
6945 </td>
6946
6947 <td class="entry_units">
6948 count of frames
6949 </td>
6950
6951 <td class="entry_range">
6952 > 0
6953 </td>
6954
6955 <td class="entry_notes">
6956 Reset on release()
6957 </td>
6958
6959 <td class="entry_tags">
6960 </td>
6961
6962 </tr> <!-- end of entry -->
6963
6964
6965 <tr class="entry" id="dynamic_android.request.id">
6966 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6967 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006968 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006969
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006970 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006971
6972
6973 </td> <!-- entry_type -->
6974
6975 <td class="entry_description">
6976 An application-specified ID for the current
6977 request.<wbr> Must be maintained unchanged in output
6978 frame
6979 </td>
6980
6981 <td class="entry_units">
6982 arbitrary integer assigned by application
6983 </td>
6984
6985 <td class="entry_range">
6986 Any int
6987 </td>
6988
6989 <td class="entry_notes">
6990 </td>
6991
6992 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006993 <ul class="entry_tags">
6994 <li><a href="#tag_V1">V1</a></li>
6995 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006996 </td>
6997
6998 </tr> <!-- end of entry -->
6999
7000
7001 <tr class="entry" id="dynamic_android.request.metadataMode">
7002 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7003 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007004 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007005
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007006 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007007
7008 <ul class="entry_type_enum">
7009 <li>
7010 <span class="entry_type_enum_name">NONE</span>
7011 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7012 for application-bound buffer data.<wbr> If no
7013 application-bound streams exist,<wbr> no frame should be
7014 placed in the output frame queue.<wbr> If such streams
7015 exist,<wbr> a frame should be placed on the output queue
7016 with null metadata but with the necessary output buffer
7017 information.<wbr> Timestamp information should still be
7018 included with any output stream buffers</span>
7019 </li>
7020 <li>
7021 <span class="entry_type_enum_name">FULL</span>
7022 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7023 only be produced if they are separately
7024 enabled</span>
7025 </li>
7026 </ul>
7027
7028 </td> <!-- entry_type -->
7029
7030 <td class="entry_description">
7031 How much metadata to produce on
7032 output
7033 </td>
7034
7035 <td class="entry_units">
7036 </td>
7037
7038 <td class="entry_range">
7039 </td>
7040
7041 <td class="entry_notes">
7042 </td>
7043
7044 <td class="entry_tags">
7045 </td>
7046
7047 </tr> <!-- end of entry -->
7048
7049
7050 <tr class="entry" id="dynamic_android.request.outputStreams">
7051 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7052 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007053 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007054 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007055
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007056 <span class="entry_type_array">
7057 n
7058 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007059 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007060
7061
7062 </td> <!-- entry_type -->
7063
7064 <td class="entry_description">
7065 Lists which camera output streams image data
7066 from this capture must be sent to
7067 </td>
7068
7069 <td class="entry_units">
7070 List of camera stream IDs
7071 </td>
7072
7073 <td class="entry_range">
7074 List must only include streams that have been
7075 created
7076 </td>
7077
7078 <td class="entry_notes">
7079 If no output streams are listed,<wbr> then the image
7080 data should simply be discarded.<wbr> The image data must
7081 still be captured for metadata and statistics production,<wbr>
7082 and the lens and flash must operate as requested.<wbr>
7083 </td>
7084
7085 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007086 <ul class="entry_tags">
7087 <li><a href="#tag_HAL2">HAL2</a></li>
7088 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007089 </td>
7090
7091 </tr> <!-- end of entry -->
7092
7093
7094
7095 <!-- end of kind -->
7096 </tbody>
7097
7098 <!-- end of section -->
7099 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7100
7101
7102 <tr><td colspan="7" class="kind">controls</td></tr>
7103
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007104 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007105 <tr>
7106 <th class="th_name">Property Name</th>
7107 <th class="th_type">Type</th>
7108 <th class="th_description">Description</th>
7109 <th class="th_units">Units</th>
7110 <th class="th_range">Range</th>
7111 <th class="th_notes">Notes</th>
7112 <th class="th_tags">Tags</th>
7113 </tr>
7114 </thead>
7115
7116 <tbody>
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127 <tr class="entry" id="controls_android.scaler.cropRegion">
7128 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7129 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007130 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007131 <span class="entry_type_container">x</span>
7132
7133 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007134 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007135 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007136 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007137
7138
7139 </td> <!-- entry_type -->
7140
7141 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007142 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7143<br>
7144<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7145 (width,<wbr> height).<wbr> The region of the sensor that is used for
7146 output.<wbr> Each stream must use this rectangle to produce its
7147 output,<wbr> cropping to a smaller region if necessary to
7148 maintain the stream's aspect ratio.<wbr>
7149<br>
7150<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007151 </td>
7152
7153 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007154 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7155 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007156 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007157 </td>
7158
7159 <td class="entry_range">
7160 </td>
7161
7162 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007163
7164 Any additional per-stream cropping must be done to
7165 maximize the final pixel area of the stream.<wbr>
7166<br>
7167<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7168 ratio,<wbr> then 4:3 streams should use the exact crop
7169 region.<wbr> 16:9 streams should further crop vertically
7170 (letterbox).<wbr>
7171<br>
7172<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7173 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7174 streams should match exactly.<wbr> These additional crops must
7175 be centered within the crop region.<wbr>
7176<br>
7177<br> The output streams must maintain square pixels at all
7178 times,<wbr> no matter what the relative aspect ratios of the
7179 crop region and the stream are.<wbr> Negative values for
7180 corner are allowed for raw output if full pixel array is
7181 larger than active pixel array.<wbr> Width and height may be
7182 rounded to nearest larger supportable width,<wbr> especially
7183 for raw output,<wbr> where only a few fixed scales may be
7184 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007185 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007186 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007187 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007188 respectively.<wbr>
7189
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007190 </td>
7191
7192 <td class="entry_tags">
7193 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007194 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007195 </ul>
7196 </td>
7197
7198 </tr> <!-- end of entry -->
7199
7200
7201
7202 <!-- end of kind -->
7203 </tbody>
7204 <tr><td colspan="7" class="kind">static</td></tr>
7205
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007206 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007207 <tr>
7208 <th class="th_name">Property Name</th>
7209 <th class="th_type">Type</th>
7210 <th class="th_description">Description</th>
7211 <th class="th_units">Units</th>
7212 <th class="th_range">Range</th>
7213 <th class="th_notes">Notes</th>
7214 <th class="th_tags">Tags</th>
7215 </tr>
7216 </thead>
7217
7218 <tbody>
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229 <tr class="entry" id="static_android.scaler.availableFormats">
7230 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7231 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007232 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007233 <span class="entry_type_container">x</span>
7234
7235 <span class="entry_type_array">
7236 n
7237 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007238 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007239 <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>
7240
7241 <ul class="entry_type_enum">
7242 <li>
7243 <span class="entry_type_enum_name">RAW_SENSOR</span>
7244 <span class="entry_type_enum_value">0x20</span>
7245 </li>
7246 <li>
7247 <span class="entry_type_enum_name">YV12</span>
7248 <span class="entry_type_enum_value">0x32315659</span>
7249 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7250 </li>
7251 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007252 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007253 <span class="entry_type_enum_value">0x11</span>
7254 <span class="entry_type_enum_notes">NV21</span>
7255 </li>
7256 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007257 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7258 <span class="entry_type_enum_value">0x22</span>
7259 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7260 </li>
7261 <li>
7262 <span class="entry_type_enum_name">YCbCr_420_888</span>
7263 <span class="entry_type_enum_value">0x23</span>
7264 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7265 </li>
7266 <li>
7267 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007268 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007269 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007270 </li>
7271 </ul>
7272
7273 </td> <!-- entry_type -->
7274
7275 <td class="entry_description">
7276 List of app-visible formats
7277 </td>
7278
7279 <td class="entry_units">
7280 </td>
7281
7282 <td class="entry_range">
7283 </td>
7284
7285 <td class="entry_notes">
7286 </td>
7287
7288 <td class="entry_tags">
7289 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007290 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007291 </ul>
7292 </td>
7293
7294 </tr> <!-- end of entry -->
7295
7296
7297 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7298 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7299 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007300 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007301 <span class="entry_type_container">x</span>
7302
7303 <span class="entry_type_array">
7304 n
7305 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007306 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007307
7308
7309 </td> <!-- entry_type -->
7310
7311 <td class="entry_description">
7312 The minimum frame duration that is supported
7313 for each resolution in availableJpegSizes.<wbr> Should
7314 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007315 stream is active and captured in a burst,<wbr> with all
7316 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007317 </td>
7318
7319 <td class="entry_units">
7320 </td>
7321
7322 <td class="entry_range">
7323 </td>
7324
7325 <td class="entry_notes">
7326 When multiple streams are configured,<wbr> the minimum
7327 frame duration will be >= max(individual stream min
7328 durations)
7329 </td>
7330
7331 <td class="entry_tags">
7332 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007333 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007334 </ul>
7335 </td>
7336
7337 </tr> <!-- end of entry -->
7338
7339
7340 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7341 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007343 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007344 <span class="entry_type_container">x</span>
7345
7346 <span class="entry_type_array">
7347 n x 2
7348 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007349 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007350
7351
7352 </td> <!-- entry_type -->
7353
7354 <td class="entry_description">
7355 The resolutions available for output from
7356 the JPEG block.<wbr> Listed as width x height
7357 </td>
7358
7359 <td class="entry_units">
7360 </td>
7361
7362 <td class="entry_range">
7363 Must include: - sensor maximum resolution Should
7364 include: - half/<wbr>quarter max resolution
7365 </td>
7366
7367 <td class="entry_notes">
7368 </td>
7369
7370 <td class="entry_tags">
7371 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007372 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007373 </ul>
7374 </td>
7375
7376 </tr> <!-- end of entry -->
7377
7378
7379 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7380 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7381 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007382 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007383
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007384 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007385
7386
7387 </td> <!-- entry_type -->
7388
7389 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007390 The maximum ratio between active area width
7391 and crop region width,<wbr> or between active area height and
7392 crop region height,<wbr> if the crop region height is larger
7393 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007394 </td>
7395
7396 <td class="entry_units">
7397 </td>
7398
7399 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007400 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007401 </td>
7402
7403 <td class="entry_notes">
7404 </td>
7405
7406 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007407 <ul class="entry_tags">
7408 <li><a href="#tag_BC">BC</a></li>
7409 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007410 </td>
7411
7412 </tr> <!-- end of entry -->
7413
7414
7415 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7416 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007418 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007419 <span class="entry_type_container">x</span>
7420
7421 <span class="entry_type_array">
7422 n
7423 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007424 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007425
7426
7427 </td> <!-- entry_type -->
7428
7429 <td class="entry_description">
7430 The minimum frame duration that is supported
7431 for each resolution in availableProcessedSizes.<wbr> Should
7432 correspond to the frame duration when only that processed
7433 stream is active,<wbr> with all processing set to
7434 FAST
7435 </td>
7436
7437 <td class="entry_units">
7438 </td>
7439
7440 <td class="entry_range">
7441 </td>
7442
7443 <td class="entry_notes">
7444 When multiple streams are configured,<wbr> the minimum
7445 frame duration will be >= max(individual stream min
7446 durations)
7447 </td>
7448
7449 <td class="entry_tags">
7450 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007451 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007452 </ul>
7453 </td>
7454
7455 </tr> <!-- end of entry -->
7456
7457
7458 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7459 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7460 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007461 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007462 <span class="entry_type_container">x</span>
7463
7464 <span class="entry_type_array">
7465 n x 2
7466 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007467 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007468
7469
7470 </td> <!-- entry_type -->
7471
7472 <td class="entry_description">
7473 The resolutions available for use with
7474 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7475 platform opaque YUV/<wbr>RGB streams to the GPU or video
7476 encoders.<wbr> Listed as width,<wbr> height
7477 </td>
7478
7479 <td class="entry_units">
7480 </td>
7481
7482 <td class="entry_range">
7483 Must include: - sensor maximum resolution -
7484 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7485 resolutions
7486 </td>
7487
7488 <td class="entry_notes">
7489 </td>
7490
7491 <td class="entry_tags">
7492 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007493 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007494 </ul>
7495 </td>
7496
7497 </tr> <!-- end of entry -->
7498
7499
7500 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7501 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7502 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007503 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007504 <span class="entry_type_container">x</span>
7505
7506 <span class="entry_type_array">
7507 n
7508 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007509 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007510
7511
7512 </td> <!-- entry_type -->
7513
7514 <td class="entry_description">
7515 The minimum frame duration that is supported
7516 for each raw resolution in availableRawSizes.<wbr> Should
7517 correspond to the frame duration when only the raw stream
7518 is active.<wbr>
7519 </td>
7520
7521 <td class="entry_units">
7522 </td>
7523
7524 <td class="entry_range">
7525 </td>
7526
7527 <td class="entry_notes">
7528 When multiple streams are configured,<wbr> the minimum
7529 frame duration will be >= max(individual stream min
7530 durations)
7531 </td>
7532
7533 <td class="entry_tags">
7534 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007535 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007536 </ul>
7537 </td>
7538
7539 </tr> <!-- end of entry -->
7540
7541
7542 <tr class="entry" id="static_android.scaler.availableRawSizes">
7543 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7544 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007545 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007546 <span class="entry_type_container">x</span>
7547
7548 <span class="entry_type_array">
7549 n x 2
7550 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007551 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007552
7553
7554 </td> <!-- entry_type -->
7555
7556 <td class="entry_description">
7557 The resolutions available for use with raw
7558 sensor output streams,<wbr> listed as width,<wbr>
7559 height
7560 </td>
7561
7562 <td class="entry_units">
7563 </td>
7564
7565 <td class="entry_range">
7566 Must include: - sensor maximum resolution
7567 </td>
7568
7569 <td class="entry_notes">
7570 </td>
7571
7572 <td class="entry_tags">
7573 </td>
7574
7575 </tr> <!-- end of entry -->
7576
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007577
7578
7579 <!-- end of kind -->
7580 </tbody>
7581 <tr><td colspan="7" class="kind">dynamic</td></tr>
7582
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007583 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007584 <tr>
7585 <th class="th_name">Property Name</th>
7586 <th class="th_type">Type</th>
7587 <th class="th_description">Description</th>
7588 <th class="th_units">Units</th>
7589 <th class="th_range">Range</th>
7590 <th class="th_notes">Notes</th>
7591 <th class="th_tags">Tags</th>
7592 </tr>
7593 </thead>
7594
7595 <tbody>
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7607 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</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">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007613 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007614 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007615 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007616
7617
7618 </td> <!-- entry_type -->
7619
7620 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007621 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7622<br>
7623<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7624 (width,<wbr> height).<wbr> The region of the sensor that is used for
7625 output.<wbr> Each stream must use this rectangle to produce its
7626 output,<wbr> cropping to a smaller region if necessary to
7627 maintain the stream's aspect ratio.<wbr>
7628<br>
7629<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630 </td>
7631
7632 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007633 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7634 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007635 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636 </td>
7637
7638 <td class="entry_range">
7639 </td>
7640
7641 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007642
7643 Any additional per-stream cropping must be done to
7644 maximize the final pixel area of the stream.<wbr>
7645<br>
7646<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7647 ratio,<wbr> then 4:3 streams should use the exact crop
7648 region.<wbr> 16:9 streams should further crop vertically
7649 (letterbox).<wbr>
7650<br>
7651<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7652 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7653 streams should match exactly.<wbr> These additional crops must
7654 be centered within the crop region.<wbr>
7655<br>
7656<br> The output streams must maintain square pixels at all
7657 times,<wbr> no matter what the relative aspect ratios of the
7658 crop region and the stream are.<wbr> Negative values for
7659 corner are allowed for raw output if full pixel array is
7660 larger than active pixel array.<wbr> Width and height may be
7661 rounded to nearest larger supportable width,<wbr> especially
7662 for raw output,<wbr> where only a few fixed scales may be
7663 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007664 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007665 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007666 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007667 respectively.<wbr>
7668
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007669 </td>
7670
7671 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007672 <ul class="entry_tags">
7673 <li><a href="#tag_BC">BC</a></li>
7674 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007675 </td>
7676
7677 </tr> <!-- end of entry -->
7678
7679
7680
7681 <!-- end of kind -->
7682 </tbody>
7683
7684 <!-- end of section -->
7685 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7686
7687
7688 <tr><td colspan="7" class="kind">controls</td></tr>
7689
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007690 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007691 <tr>
7692 <th class="th_name">Property Name</th>
7693 <th class="th_type">Type</th>
7694 <th class="th_description">Description</th>
7695 <th class="th_units">Units</th>
7696 <th class="th_range">Range</th>
7697 <th class="th_notes">Notes</th>
7698 <th class="th_tags">Tags</th>
7699 </tr>
7700 </thead>
7701
7702 <tbody>
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713 <tr class="entry" id="controls_android.sensor.exposureTime">
7714 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7715 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007716 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007717
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007718 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007719
7720
7721 </td> <!-- entry_type -->
7722
7723 <td class="entry_description">
7724 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007725 light.<wbr>
7726<br>
7727<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7728 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7729
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007730 </td>
7731
7732 <td class="entry_units">
7733 nanoseconds
7734 </td>
7735
7736 <td class="entry_range">
7737 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7738 </td>
7739
7740 <td class="entry_notes">
7741 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7742 </td>
7743
7744 <td class="entry_tags">
7745 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007746 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007747 </ul>
7748 </td>
7749
7750 </tr> <!-- end of entry -->
7751
7752
7753 <tr class="entry" id="controls_android.sensor.frameDuration">
7754 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7755 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007756 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007757
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007758 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007759
7760
7761 </td> <!-- entry_type -->
7762
7763 <td class="entry_description">
7764 Duration from start of frame exposure to
7765 start of next frame exposure
7766 </td>
7767
7768 <td class="entry_units">
7769 nanoseconds
7770 </td>
7771
7772 <td class="entry_range">
7773 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7774 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7775 </td>
7776
7777 <td class="entry_notes">
7778 Exposure time has priority,<wbr> so duration is set to
7779 max(duration,<wbr> exposure time + overhead)
7780 </td>
7781
7782 <td class="entry_tags">
7783 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007784 <li><a href="#tag_V1">V1</a></li>
7785 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007786 </ul>
7787 </td>
7788
7789 </tr> <!-- end of entry -->
7790
7791
7792 <tr class="entry" id="controls_android.sensor.sensitivity">
7793 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7794 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007795 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007796
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007797 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007798
7799
7800 </td> <!-- entry_type -->
7801
7802 <td class="entry_description">
7803 Gain applied to image data.<wbr> Must be
7804 implemented through analog gain only if set to values
7805 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007806<br>
7807<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7808 gain to the nearest possible value (rather than gain more).<wbr>
7809
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007810 </td>
7811
7812 <td class="entry_units">
7813 ISO arithmetic units
7814 </td>
7815
7816 <td class="entry_range">
7817 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7818 </td>
7819
7820 <td class="entry_notes">
7821 ISO 12232:2006 REI method
7822 </td>
7823
7824 <td class="entry_tags">
7825 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007826 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007827 </ul>
7828 </td>
7829
7830 </tr> <!-- end of entry -->
7831
7832
7833
7834 <!-- end of kind -->
7835 </tbody>
7836 <tr><td colspan="7" class="kind">static</td></tr>
7837
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007838 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007839 <tr>
7840 <th class="th_name">Property Name</th>
7841 <th class="th_type">Type</th>
7842 <th class="th_description">Description</th>
7843 <th class="th_units">Units</th>
7844 <th class="th_range">Range</th>
7845 <th class="th_notes">Notes</th>
7846 <th class="th_tags">Tags</th>
7847 </tr>
7848 </thead>
7849
7850 <tbody>
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7864 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7865 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007866 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007867 <span class="entry_type_container">x</span>
7868
7869 <span class="entry_type_array">
7870 4
7871 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007872 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007873 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7874
7875
7876 </td> <!-- entry_type -->
7877
7878 <td class="entry_description">
7879 Area of raw data which corresponds to only
7880 active pixels; smaller or equal to
7881 pixelArraySize.<wbr>
7882 </td>
7883
7884 <td class="entry_units">
7885 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7886 pixel array is (0,<wbr>0)
7887 </td>
7888
7889 <td class="entry_range">
7890 </td>
7891
7892 <td class="entry_notes">
7893 </td>
7894
7895 <td class="entry_tags">
7896 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007897 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007898 </ul>
7899 </td>
7900
7901 </tr> <!-- end of entry -->
7902
7903
Zhijun He69fc0ea2013-07-17 09:42:58 -07007904 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
7905 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007906 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007907 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007908 <span class="entry_type_container">x</span>
7909
7910 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007911 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007913 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07007914 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007915
7916
7917 </td> <!-- entry_type -->
7918
7919 <td class="entry_description">
7920 Range of valid sensitivities
7921 </td>
7922
7923 <td class="entry_units">
7924 </td>
7925
7926 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007927 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007928 </td>
7929
7930 <td class="entry_notes">
7931 </td>
7932
7933 <td class="entry_tags">
7934 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007935 <li><a href="#tag_BC">BC</a></li>
7936 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007937 </ul>
7938 </td>
7939
7940 </tr> <!-- end of entry -->
7941
7942
7943 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7944 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7945 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007946 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007947
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007948 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007949
7950 <ul class="entry_type_enum">
7951 <li>
7952 <span class="entry_type_enum_name">RGGB</span>
7953 </li>
7954 <li>
7955 <span class="entry_type_enum_name">GRBG</span>
7956 </li>
7957 <li>
7958 <span class="entry_type_enum_name">GBRG</span>
7959 </li>
7960 <li>
7961 <span class="entry_type_enum_name">BGGR</span>
7962 </li>
7963 <li>
7964 <span class="entry_type_enum_name">RGB</span>
7965 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7966 values for each pixel,<wbr> instead of just 1 16-bit value
7967 per pixel.<wbr></span>
7968 </li>
7969 </ul>
7970
7971 </td> <!-- entry_type -->
7972
7973 <td class="entry_description">
7974 Arrangement of color filters on sensor;
7975 represents the colors in the top-left 2x2 section of
7976 the sensor,<wbr> in reading order
7977 </td>
7978
7979 <td class="entry_units">
7980 </td>
7981
7982 <td class="entry_range">
7983 </td>
7984
7985 <td class="entry_notes">
7986 </td>
7987
7988 <td class="entry_tags">
7989 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007990 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007991 </ul>
7992 </td>
7993
7994 </tr> <!-- end of entry -->
7995
7996
7997 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
7998 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
7999 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008000 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008001 <span class="entry_type_container">x</span>
8002
8003 <span class="entry_type_array">
8004 2
8005 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008006 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008007 <div class="entry_type_notes">nanoseconds</div>
8008
8009
8010 </td> <!-- entry_type -->
8011
8012 <td class="entry_description">
8013 Range of valid exposure
8014 times
8015 </td>
8016
8017 <td class="entry_units">
8018 </td>
8019
8020 <td class="entry_range">
8021 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8022 sec)
8023 </td>
8024
8025 <td class="entry_notes">
8026 </td>
8027
8028 <td class="entry_tags">
8029 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008030 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008031 </ul>
8032 </td>
8033
8034 </tr> <!-- end of entry -->
8035
8036
8037 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8038 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8039 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008040 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008041
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008042 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008043
8044
8045 </td> <!-- entry_type -->
8046
8047 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008048 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008049 rate)
8050 </td>
8051
8052 <td class="entry_units">
8053 nanoseconds
8054 </td>
8055
8056 <td class="entry_range">
8057 >= 30e9
8058 </td>
8059
8060 <td class="entry_notes">
8061 Minimum duration is a function of resolution,<wbr>
8062 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008063 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8064 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8065 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008066 </td>
8067
8068 <td class="entry_tags">
8069 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008070 <li><a href="#tag_BC">BC</a></li>
8071 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008072 </ul>
8073 </td>
8074
8075 </tr> <!-- end of entry -->
8076
8077
8078 <tr class="entry" id="static_android.sensor.info.physicalSize">
8079 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8080 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008081 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008082 <span class="entry_type_container">x</span>
8083
8084 <span class="entry_type_array">
8085 2
8086 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008087 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008088 <div class="entry_type_notes">width x height in millimeters</div>
8089
8090
8091 </td> <!-- entry_type -->
8092
8093 <td class="entry_description">
8094 The physical dimensions of the full pixel
8095 array
8096 </td>
8097
8098 <td class="entry_units">
8099 </td>
8100
8101 <td class="entry_range">
8102 </td>
8103
8104 <td class="entry_notes">
8105 Needed for FOV calculation for old API
8106 </td>
8107
8108 <td class="entry_tags">
8109 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008110 <li><a href="#tag_V1">V1</a></li>
8111 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008112 </ul>
8113 </td>
8114
8115 </tr> <!-- end of entry -->
8116
8117
8118 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8119 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8120 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008121 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008122 <span class="entry_type_container">x</span>
8123
8124 <span class="entry_type_array">
8125 2
8126 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008127 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008128
8129
8130 </td> <!-- entry_type -->
8131
8132 <td class="entry_description">
8133 Dimensions of full pixel array,<wbr> possibly
8134 including black calibration pixels
8135 </td>
8136
8137 <td class="entry_units">
8138 </td>
8139
8140 <td class="entry_range">
8141 </td>
8142
8143 <td class="entry_notes">
8144 Maximum output resolution for raw format must
8145 match this in
8146 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8147 </td>
8148
8149 <td class="entry_tags">
8150 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008151 <li><a href="#tag_DNG">DNG</a></li>
8152 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008153 </ul>
8154 </td>
8155
8156 </tr> <!-- end of entry -->
8157
8158
8159 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8160 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008162 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008163
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008164 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008165
8166
8167 </td> <!-- entry_type -->
8168
8169 <td class="entry_description">
8170 Maximum raw value output by
8171 sensor
8172 </td>
8173
8174 <td class="entry_units">
8175 </td>
8176
8177 <td class="entry_range">
8178 > 1024 (10-bit output)
8179 </td>
8180
8181 <td class="entry_notes">
8182 Defines sensor bit depth (10-14 bits is
8183 expected)
8184 </td>
8185
8186 <td class="entry_tags">
8187 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008188 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008189 </ul>
8190 </td>
8191
8192 </tr> <!-- end of entry -->
8193
8194
8195
8196
8197
8198 <tr class="entry" id="static_android.sensor.baseGainFactor">
8199 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8200 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008201 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008202
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008203 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008204
8205
8206 </td> <!-- entry_type -->
8207
8208 <td class="entry_description">
8209 Gain factor from electrons to raw units when
8210 ISO=100
8211 </td>
8212
8213 <td class="entry_units">
8214 </td>
8215
8216 <td class="entry_range">
8217 </td>
8218
8219 <td class="entry_notes">
8220 </td>
8221
8222 <td class="entry_tags">
8223 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008224 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008225 </ul>
8226 </td>
8227
8228 </tr> <!-- end of entry -->
8229
8230
8231 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8232 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8233 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008234 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008235 <span class="entry_type_container">x</span>
8236
8237 <span class="entry_type_array">
8238 4
8239 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008240 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008241 <div class="entry_type_notes">2x2 raw count block</div>
8242
8243
8244 </td> <!-- entry_type -->
8245
8246 <td class="entry_description">
8247 A fixed black level offset for each of the
8248 Bayer mosaic channels
8249 </td>
8250
8251 <td class="entry_units">
8252 </td>
8253
8254 <td class="entry_range">
8255 >= 0 each
8256 </td>
8257
8258 <td class="entry_notes">
8259 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8260 tags
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_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008266 </ul>
8267 </td>
8268
8269 </tr> <!-- end of entry -->
8270
8271
8272 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8273 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008275 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008276 <span class="entry_type_container">x</span>
8277
8278 <span class="entry_type_array">
8279 9
8280 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008281 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008282 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8283
8284
8285 </td> <!-- entry_type -->
8286
8287 <td class="entry_description">
8288 Per-device calibration on top of color space
8289 transform 1
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 </td>
8300
8301 <td class="entry_tags">
8302 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008303 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008304 </ul>
8305 </td>
8306
8307 </tr> <!-- end of entry -->
8308
8309
8310 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8311 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8312 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008313 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008314 <span class="entry_type_container">x</span>
8315
8316 <span class="entry_type_array">
8317 9
8318 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008319 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008320 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8321
8322
8323 </td> <!-- entry_type -->
8324
8325 <td class="entry_description">
8326 Per-device calibration on top of color space
8327 transform 2
8328 </td>
8329
8330 <td class="entry_units">
8331 </td>
8332
8333 <td class="entry_range">
8334 </td>
8335
8336 <td class="entry_notes">
8337 </td>
8338
8339 <td class="entry_tags">
8340 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008341 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008342 </ul>
8343 </td>
8344
8345 </tr> <!-- end of entry -->
8346
8347
8348 <tr class="entry" id="static_android.sensor.colorTransform1">
8349 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8350 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008351 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008352 <span class="entry_type_container">x</span>
8353
8354 <span class="entry_type_array">
8355 9
8356 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008357 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008358 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8359
8360
8361 </td> <!-- entry_type -->
8362
8363 <td class="entry_description">
8364 Linear mapping from XYZ (D50) color space to
8365 reference linear sensor color,<wbr> for first reference
8366 illuminant
8367 </td>
8368
8369 <td class="entry_units">
8370 </td>
8371
8372 <td class="entry_range">
8373 </td>
8374
8375 <td class="entry_notes">
8376 Use as follows XYZ = inv(transform) * clip( (raw -
8377 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8378 At least in the simple case
8379 </td>
8380
8381 <td class="entry_tags">
8382 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008383 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008384 </ul>
8385 </td>
8386
8387 </tr> <!-- end of entry -->
8388
8389
8390 <tr class="entry" id="static_android.sensor.colorTransform2">
8391 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8392 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008393 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008394 <span class="entry_type_container">x</span>
8395
8396 <span class="entry_type_array">
8397 9
8398 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008399 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008400 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8401
8402
8403 </td> <!-- entry_type -->
8404
8405 <td class="entry_description">
8406 Linear mapping from XYZ (D50) color space to
8407 reference linear sensor color,<wbr> for second reference
8408 illuminant
8409 </td>
8410
8411 <td class="entry_units">
8412 </td>
8413
8414 <td class="entry_range">
8415 </td>
8416
8417 <td class="entry_notes">
8418 </td>
8419
8420 <td class="entry_tags">
8421 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008422 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008423 </ul>
8424 </td>
8425
8426 </tr> <!-- end of entry -->
8427
8428
8429 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8430 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8431 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008432 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008433 <span class="entry_type_container">x</span>
8434
8435 <span class="entry_type_array">
8436 9
8437 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008438 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008439 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8440
8441
8442 </td> <!-- entry_type -->
8443
8444 <td class="entry_description">
8445 Used by DNG for better WB
8446 adaptation
8447 </td>
8448
8449 <td class="entry_units">
8450 </td>
8451
8452 <td class="entry_range">
8453 </td>
8454
8455 <td class="entry_notes">
8456 </td>
8457
8458 <td class="entry_tags">
8459 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008460 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008461 </ul>
8462 </td>
8463
8464 </tr> <!-- end of entry -->
8465
8466
8467 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8468 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8469 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008470 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008471 <span class="entry_type_container">x</span>
8472
8473 <span class="entry_type_array">
8474 9
8475 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008476 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008477 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8478
8479
8480 </td> <!-- entry_type -->
8481
8482 <td class="entry_description">
8483 Used by DNG for better WB
8484 adaptation
8485 </td>
8486
8487 <td class="entry_units">
8488 </td>
8489
8490 <td class="entry_range">
8491 </td>
8492
8493 <td class="entry_notes">
8494 </td>
8495
8496 <td class="entry_tags">
8497 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008498 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008499 </ul>
8500 </td>
8501
8502 </tr> <!-- end of entry -->
8503
8504
8505 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8506 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008508 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008509
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008510 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008511
8512
8513 </td> <!-- entry_type -->
8514
8515 <td class="entry_description">
8516 Maximum sensitivity that is implemented
8517 purely through analog gain
8518 </td>
8519
8520 <td class="entry_units">
8521 </td>
8522
8523 <td class="entry_range">
8524 </td>
8525
8526 <td class="entry_notes">
8527 For android.<wbr>sensor.<wbr>sensitivity values less than or
8528 equal to this,<wbr> all applied gain must be analog.<wbr> For
8529 values above this,<wbr> it can be a mix of analog and
8530 digital
8531 </td>
8532
8533 <td class="entry_tags">
8534 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008535 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008536 </ul>
8537 </td>
8538
8539 </tr> <!-- end of entry -->
8540
8541
8542 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8543 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8544 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008545 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008546 <span class="entry_type_container">x</span>
8547
8548 <span class="entry_type_array">
8549 2
8550 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008551 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008552 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8553
8554
8555 </td> <!-- entry_type -->
8556
8557 <td class="entry_description">
8558 Estimation of sensor noise
8559 characteristics
8560 </td>
8561
8562 <td class="entry_units">
8563 var(raw pixel value) = electrons * (baseGainFactor
8564 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8565 B
8566 </td>
8567
8568 <td class="entry_range">
8569 </td>
8570
8571 <td class="entry_notes">
8572 A represents sensor read noise before analog
8573 amplification; B represents noise from A/<wbr>D conversion and
8574 other circuits after amplification.<wbr> Both noise sources
8575 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8576 across the sensor
8577 </td>
8578
8579 <td class="entry_tags">
8580 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008581 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008582 </ul>
8583 </td>
8584
8585 </tr> <!-- end of entry -->
8586
8587
8588 <tr class="entry" id="static_android.sensor.orientation">
8589 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8590 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008591 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008592
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008593 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008594
8595
8596 </td> <!-- entry_type -->
8597
8598 <td class="entry_description">
8599 Clockwise angle through which the output
8600 image needs to be rotated to be upright on the device
8601 screen in its native orientation.<wbr> Also defines the
8602 direction of rolling shutter readout,<wbr> which is from top
8603 to bottom in the sensor's coordinate system
8604 </td>
8605
8606 <td class="entry_units">
8607 degrees clockwise rotation,<wbr> only multiples of
8608 90
8609 </td>
8610
8611 <td class="entry_range">
8612 0,<wbr>90,<wbr>180,<wbr>270
8613 </td>
8614
8615 <td class="entry_notes">
8616 </td>
8617
8618 <td class="entry_tags">
8619 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008620 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008621 </ul>
8622 </td>
8623
8624 </tr> <!-- end of entry -->
8625
8626
8627 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8628 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8629 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008630 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008631
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008632 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008633
8634 <ul class="entry_type_enum">
8635 <li>
8636 <span class="entry_type_enum_name">DAYLIGHT</span>
8637 <span class="entry_type_enum_value">1</span>
8638 </li>
8639 <li>
8640 <span class="entry_type_enum_name">FLUORESCENT</span>
8641 <span class="entry_type_enum_value">2</span>
8642 </li>
8643 <li>
8644 <span class="entry_type_enum_name">TUNGSTEN</span>
8645 <span class="entry_type_enum_value">3</span>
8646 <span class="entry_type_enum_notes">Incandescent light</span>
8647 </li>
8648 <li>
8649 <span class="entry_type_enum_name">FLASH</span>
8650 <span class="entry_type_enum_value">4</span>
8651 </li>
8652 <li>
8653 <span class="entry_type_enum_name">FINE_WEATHER</span>
8654 <span class="entry_type_enum_value">9</span>
8655 </li>
8656 <li>
8657 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8658 <span class="entry_type_enum_value">10</span>
8659 </li>
8660 <li>
8661 <span class="entry_type_enum_name">SHADE</span>
8662 <span class="entry_type_enum_value">11</span>
8663 </li>
8664 <li>
8665 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8666 <span class="entry_type_enum_value">12</span>
8667 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8668 </li>
8669 <li>
8670 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8671 <span class="entry_type_enum_value">13</span>
8672 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8673 </li>
8674 <li>
8675 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8676 <span class="entry_type_enum_value">14</span>
8677 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8678 </li>
8679 <li>
8680 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8681 <span class="entry_type_enum_value">15</span>
8682 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8683 </li>
8684 <li>
8685 <span class="entry_type_enum_name">STANDARD_A</span>
8686 <span class="entry_type_enum_value">17</span>
8687 </li>
8688 <li>
8689 <span class="entry_type_enum_name">STANDARD_B</span>
8690 <span class="entry_type_enum_value">18</span>
8691 </li>
8692 <li>
8693 <span class="entry_type_enum_name">STANDARD_C</span>
8694 <span class="entry_type_enum_value">19</span>
8695 </li>
8696 <li>
8697 <span class="entry_type_enum_name">D55</span>
8698 <span class="entry_type_enum_value">20</span>
8699 </li>
8700 <li>
8701 <span class="entry_type_enum_name">D65</span>
8702 <span class="entry_type_enum_value">21</span>
8703 </li>
8704 <li>
8705 <span class="entry_type_enum_name">D75</span>
8706 <span class="entry_type_enum_value">22</span>
8707 </li>
8708 <li>
8709 <span class="entry_type_enum_name">D50</span>
8710 <span class="entry_type_enum_value">23</span>
8711 </li>
8712 <li>
8713 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8714 <span class="entry_type_enum_value">24</span>
8715 </li>
8716 </ul>
8717
8718 </td> <!-- entry_type -->
8719
8720 <td class="entry_description">
8721 Light source used to define transform
8722 1
8723 </td>
8724
8725 <td class="entry_units">
8726 </td>
8727
8728 <td class="entry_range">
8729 </td>
8730
8731 <td class="entry_notes">
8732 [EXIF LightSource tag] Must all these be
8733 supported? Need CCT for each!
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_DNG">DNG</a></li>
8739 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008740 </ul>
8741 </td>
8742
8743 </tr> <!-- end of entry -->
8744
8745
8746 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8747 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8748 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008749 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008750
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008751 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008752
8753
8754 </td> <!-- entry_type -->
8755
8756 <td class="entry_description">
8757 Light source used to define transform
8758 2
8759 </td>
8760
8761 <td class="entry_units">
8762 Same as illuminant 1
8763 </td>
8764
8765 <td class="entry_range">
8766 </td>
8767
8768 <td class="entry_notes">
8769 </td>
8770
8771 <td class="entry_tags">
8772 </td>
8773
8774 </tr> <!-- end of entry -->
8775
8776
8777
8778 <!-- end of kind -->
8779 </tbody>
8780 <tr><td colspan="7" class="kind">dynamic</td></tr>
8781
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008782 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008783 <tr>
8784 <th class="th_name">Property Name</th>
8785 <th class="th_type">Type</th>
8786 <th class="th_description">Description</th>
8787 <th class="th_units">Units</th>
8788 <th class="th_range">Range</th>
8789 <th class="th_notes">Notes</th>
8790 <th class="th_tags">Tags</th>
8791 </tr>
8792 </thead>
8793
8794 <tbody>
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8806 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8807 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008808 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008809
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008810 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008811
8812
8813 </td> <!-- entry_type -->
8814
8815 <td class="entry_description">
8816 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008817 light.<wbr>
8818<br>
8819<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8820 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8821
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008822 </td>
8823
8824 <td class="entry_units">
8825 nanoseconds
8826 </td>
8827
8828 <td class="entry_range">
8829 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8830 </td>
8831
8832 <td class="entry_notes">
8833 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8834 </td>
8835
8836 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008837 <ul class="entry_tags">
8838 <li><a href="#tag_V1">V1</a></li>
8839 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008840 </td>
8841
8842 </tr> <!-- end of entry -->
8843
8844
8845 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8846 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008848 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008849
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008850 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008851
8852
8853 </td> <!-- entry_type -->
8854
8855 <td class="entry_description">
8856 Duration from start of frame exposure to
8857 start of next frame exposure
8858 </td>
8859
8860 <td class="entry_units">
8861 nanoseconds
8862 </td>
8863
8864 <td class="entry_range">
8865 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8866 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8867 </td>
8868
8869 <td class="entry_notes">
8870 Exposure time has priority,<wbr> so duration is set to
8871 max(duration,<wbr> exposure time + overhead)
8872 </td>
8873
8874 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008875 <ul class="entry_tags">
8876 <li><a href="#tag_V1">V1</a></li>
8877 <li><a href="#tag_BC">BC</a></li>
8878 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008879 </td>
8880
8881 </tr> <!-- end of entry -->
8882
8883
8884 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8885 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8886 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008887 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008888
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008889 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008890
8891
8892 </td> <!-- entry_type -->
8893
8894 <td class="entry_description">
8895 Gain applied to image data.<wbr> Must be
8896 implemented through analog gain only if set to values
8897 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008898<br>
8899<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8900 gain to the nearest possible value (rather than gain more).<wbr>
8901
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008902 </td>
8903
8904 <td class="entry_units">
8905 ISO arithmetic units
8906 </td>
8907
8908 <td class="entry_range">
8909 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8910 </td>
8911
8912 <td class="entry_notes">
8913 ISO 12232:2006 REI method
8914 </td>
8915
8916 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008917 <ul class="entry_tags">
8918 <li><a href="#tag_V1">V1</a></li>
8919 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008920 </td>
8921
8922 </tr> <!-- end of entry -->
8923
8924
8925 <tr class="entry" id="dynamic_android.sensor.timestamp">
8926 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8927 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008928 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008930 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008931
8932
8933 </td> <!-- entry_type -->
8934
8935 <td class="entry_description">
8936 Time at start of exposure of first
8937 row
8938 </td>
8939
8940 <td class="entry_units">
8941 nanoseconds
8942 </td>
8943
8944 <td class="entry_range">
8945 > 0
8946 </td>
8947
8948 <td class="entry_notes">
8949 Monotonic,<wbr> should be synced to other timestamps in
8950 system
8951 </td>
8952
8953 <td class="entry_tags">
8954 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008955 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008956 </ul>
8957 </td>
8958
8959 </tr> <!-- end of entry -->
8960
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008961
8962 <tr class="entry" id="dynamic_android.sensor.temperature">
8963 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8964 <td class="entry_type">
8965 <span class="entry_type_name">float</span>
8966
8967 <span class="entry_type_visibility"> [public]</span>
8968
8969
8970 </td> <!-- entry_type -->
8971
8972 <td class="entry_description">
8973 The temperature of the sensor,<wbr> sampled at the time
8974 exposure began for this frame.<wbr>
8975<br>
8976<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
8977 somewhere close to it.<wbr>
8978
8979 </td>
8980
8981 <td class="entry_units">
8982 celsius
8983 </td>
8984
8985 <td class="entry_range">
8986 Optional.<wbr> This value is missing if no temperature is available.<wbr>
8987 </td>
8988
8989 <td class="entry_notes">
8990 </td>
8991
8992 <td class="entry_tags">
8993 </td>
8994
8995 </tr> <!-- end of entry -->
8996
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008997
8998
8999 <!-- end of kind -->
9000 </tbody>
9001
9002 <!-- end of section -->
9003 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9004
9005
9006 <tr><td colspan="7" class="kind">controls</td></tr>
9007
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009008 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009009 <tr>
9010 <th class="th_name">Property Name</th>
9011 <th class="th_type">Type</th>
9012 <th class="th_description">Description</th>
9013 <th class="th_units">Units</th>
9014 <th class="th_range">Range</th>
9015 <th class="th_notes">Notes</th>
9016 <th class="th_tags">Tags</th>
9017 </tr>
9018 </thead>
9019
9020 <tbody>
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031 <tr class="entry" id="controls_android.shading.mode">
9032 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9033 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009034 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009035
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009036 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009037
9038 <ul class="entry_type_enum">
9039 <li>
9040 <span class="entry_type_enum_name">OFF</span>
9041 <span class="entry_type_enum_notes">No shading correction is applied</span>
9042 </li>
9043 <li>
9044 <span class="entry_type_enum_name">FAST</span>
9045 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9046 bayer output</span>
9047 </li>
9048 <li>
9049 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9050 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9051 quality</span>
9052 </li>
9053 </ul>
9054
9055 </td> <!-- entry_type -->
9056
9057 <td class="entry_description">
9058 Quality of lens shading correction applied
9059 to the image data
9060 </td>
9061
9062 <td class="entry_units">
9063 </td>
9064
9065 <td class="entry_range">
9066 </td>
9067
9068 <td class="entry_notes">
9069 </td>
9070
9071 <td class="entry_tags">
9072 </td>
9073
9074 </tr> <!-- end of entry -->
9075
9076
9077 <tr class="entry" id="controls_android.shading.strength">
9078 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9079 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009080 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009081
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009082 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009083
9084
9085 </td> <!-- entry_type -->
9086
9087 <td class="entry_description">
9088 Control the amount of shading correction
9089 applied to the images
9090 </td>
9091
9092 <td class="entry_units">
9093 unitless: 1-10; 10 is full shading
9094 compensation
9095 </td>
9096
9097 <td class="entry_range">
9098 </td>
9099
9100 <td class="entry_notes">
9101 </td>
9102
9103 <td class="entry_tags">
9104 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009105 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009106 </ul>
9107 </td>
9108
9109 </tr> <!-- end of entry -->
9110
9111
9112
9113 <!-- end of kind -->
9114 </tbody>
9115 <tr><td colspan="7" class="kind">dynamic</td></tr>
9116
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009117 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009118 <tr>
9119 <th class="th_name">Property Name</th>
9120 <th class="th_type">Type</th>
9121 <th class="th_description">Description</th>
9122 <th class="th_units">Units</th>
9123 <th class="th_range">Range</th>
9124 <th class="th_notes">Notes</th>
9125 <th class="th_tags">Tags</th>
9126 </tr>
9127 </thead>
9128
9129 <tbody>
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140 <tr class="entry" id="dynamic_android.shading.mode">
9141 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9142 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009143 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009144
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009145 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009146
9147 <ul class="entry_type_enum">
9148 <li>
9149 <span class="entry_type_enum_name">OFF</span>
9150 <span class="entry_type_enum_notes">No shading correction is applied</span>
9151 </li>
9152 <li>
9153 <span class="entry_type_enum_name">FAST</span>
9154 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9155 bayer output</span>
9156 </li>
9157 <li>
9158 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9159 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9160 quality</span>
9161 </li>
9162 </ul>
9163
9164 </td> <!-- entry_type -->
9165
9166 <td class="entry_description">
9167 Quality of lens shading correction applied
9168 to the image data
9169 </td>
9170
9171 <td class="entry_units">
9172 </td>
9173
9174 <td class="entry_range">
9175 </td>
9176
9177 <td class="entry_notes">
9178 </td>
9179
9180 <td class="entry_tags">
9181 </td>
9182
9183 </tr> <!-- end of entry -->
9184
9185
9186
9187 <!-- end of kind -->
9188 </tbody>
9189
9190 <!-- end of section -->
9191 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9192
9193
9194 <tr><td colspan="7" class="kind">controls</td></tr>
9195
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009196 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009197 <tr>
9198 <th class="th_name">Property Name</th>
9199 <th class="th_type">Type</th>
9200 <th class="th_description">Description</th>
9201 <th class="th_units">Units</th>
9202 <th class="th_range">Range</th>
9203 <th class="th_notes">Notes</th>
9204 <th class="th_tags">Tags</th>
9205 </tr>
9206 </thead>
9207
9208 <tbody>
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9220 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009222 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009224 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009225
9226 <ul class="entry_type_enum">
9227 <li>
9228 <span class="entry_type_enum_name">OFF</span>
9229 </li>
9230 <li>
9231 <span class="entry_type_enum_name">SIMPLE</span>
9232 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9233 only</span>
9234 </li>
9235 <li>
9236 <span class="entry_type_enum_name">FULL</span>
9237 <span class="entry_type_enum_notes">Optional Return all face
9238 metadata</span>
9239 </li>
9240 </ul>
9241
9242 </td> <!-- entry_type -->
9243
9244 <td class="entry_description">
9245 State of the face detector
9246 unit
9247 </td>
9248
9249 <td class="entry_units">
9250 </td>
9251
9252 <td class="entry_range">
9253
Zhijun He69fc0ea2013-07-17 09:42:58 -07009254 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009255 </td>
9256
9257 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009258 Whether face detection is enabled,<wbr> and whether it
9259 should output just the basic fields or the full set of
9260 fields.<wbr> Value must be one of the
9261 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009262 </td>
9263
9264 <td class="entry_tags">
9265 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009266 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009267 </ul>
9268 </td>
9269
9270 </tr> <!-- end of entry -->
9271
9272
9273 <tr class="entry" id="controls_android.statistics.histogramMode">
9274 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9275 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009276 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009277
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009278 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009279
9280 <ul class="entry_type_enum">
9281 <li>
9282 <span class="entry_type_enum_name">OFF</span>
9283 </li>
9284 <li>
9285 <span class="entry_type_enum_name">ON</span>
9286 </li>
9287 </ul>
9288
9289 </td> <!-- entry_type -->
9290
9291 <td class="entry_description">
9292 Operating mode for histogram
9293 generation
9294 </td>
9295
9296 <td class="entry_units">
9297 </td>
9298
9299 <td class="entry_range">
9300 </td>
9301
9302 <td class="entry_notes">
9303 </td>
9304
9305 <td class="entry_tags">
9306 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009307 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009308 </ul>
9309 </td>
9310
9311 </tr> <!-- end of entry -->
9312
9313
9314 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9315 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9316 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009317 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009318
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009319 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009320
9321 <ul class="entry_type_enum">
9322 <li>
9323 <span class="entry_type_enum_name">OFF</span>
9324 </li>
9325 <li>
9326 <span class="entry_type_enum_name">ON</span>
9327 </li>
9328 </ul>
9329
9330 </td> <!-- entry_type -->
9331
9332 <td class="entry_description">
9333 Operating mode for sharpness map
9334 generation
9335 </td>
9336
9337 <td class="entry_units">
9338 </td>
9339
9340 <td class="entry_range">
9341 </td>
9342
9343 <td class="entry_notes">
9344 </td>
9345
9346 <td class="entry_tags">
9347 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009348 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009349 </ul>
9350 </td>
9351
9352 </tr> <!-- end of entry -->
9353
Zhijun He69fc0ea2013-07-17 09:42:58 -07009354
9355 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9356 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9357 <td class="entry_type">
9358 <span class="entry_type_name entry_type_name_enum">byte</span>
9359
9360 <span class="entry_type_visibility"> [public]</span>
9361
9362 <ul class="entry_type_enum">
9363 <li>
9364 <span class="entry_type_enum_name">OFF</span>
9365 </li>
9366 <li>
9367 <span class="entry_type_enum_name">ON</span>
9368 </li>
9369 </ul>
9370
9371 </td> <!-- entry_type -->
9372
9373 <td class="entry_description">
9374 Whether the HAL needs to output the lens
9375 shading map in output result metadata
9376 </td>
9377
9378 <td class="entry_units">
9379 </td>
9380
9381 <td class="entry_range">
9382 </td>
9383
9384 <td class="entry_notes">
9385 When set to ON,<wbr>
9386 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9387 the output result metdata.<wbr>
9388 </td>
9389
9390 <td class="entry_tags">
9391 </td>
9392
9393 </tr> <!-- end of entry -->
9394
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009395
9396
9397 <!-- end of kind -->
9398 </tbody>
9399 <tr><td colspan="7" class="kind">static</td></tr>
9400
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009401 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009402 <tr>
9403 <th class="th_name">Property Name</th>
9404 <th class="th_type">Type</th>
9405 <th class="th_description">Description</th>
9406 <th class="th_units">Units</th>
9407 <th class="th_range">Range</th>
9408 <th class="th_notes">Notes</th>
9409 <th class="th_tags">Tags</th>
9410 </tr>
9411 </thead>
9412
9413 <tbody>
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9427 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009429 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009430 <span class="entry_type_container">x</span>
9431
9432 <span class="entry_type_array">
9433 n
9434 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009435 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009436 <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 -08009437
9438
9439 </td> <!-- entry_type -->
9440
9441 <td class="entry_description">
9442 Which face detection modes are available,<wbr>
9443 if any
9444 </td>
9445
9446 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009447 List of enum:
9448 OFF
9449 SIMPLE
9450 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009451 </td>
9452
9453 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009454 </td>
9455
9456 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009457 OFF means face detection is disabled,<wbr> it must
9458 be included in the list.<wbr>
9459<br>
9460<br> SIMPLE means the device supports the
9461 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9462 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9463<br>
9464<br> FULL means the device additionally supports the
9465 android.<wbr>statistics.<wbr>face<wbr>Ids and
9466 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9467
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009468 </td>
9469
9470 <td class="entry_tags">
9471 </td>
9472
9473 </tr> <!-- end of entry -->
9474
9475
9476 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9477 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9478 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009479 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009480
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009481 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009482
9483
9484 </td> <!-- entry_type -->
9485
9486 <td class="entry_description">
9487 Number of histogram buckets
9488 supported
9489 </td>
9490
9491 <td class="entry_units">
9492 </td>
9493
9494 <td class="entry_range">
9495 >= 64
9496 </td>
9497
9498 <td class="entry_notes">
9499 </td>
9500
9501 <td class="entry_tags">
9502 </td>
9503
9504 </tr> <!-- end of entry -->
9505
9506
9507 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9508 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9509 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009510 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009512 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009513
9514
9515 </td> <!-- entry_type -->
9516
9517 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009518 Maximum number of simultaneously detectable
9519 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009520 </td>
9521
9522 <td class="entry_units">
9523 </td>
9524
9525 <td class="entry_range">
9526 >= 4 if availableFaceDetectionModes lists
9527 modes besides OFF,<wbr> otherwise 0
9528 </td>
9529
9530 <td class="entry_notes">
9531 </td>
9532
9533 <td class="entry_tags">
9534 </td>
9535
9536 </tr> <!-- end of entry -->
9537
9538
9539 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9540 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9541 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009542 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009543
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009544 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009545
9546
9547 </td> <!-- entry_type -->
9548
9549 <td class="entry_description">
9550 Maximum value possible for a histogram
9551 bucket
9552 </td>
9553
9554 <td class="entry_units">
9555 </td>
9556
9557 <td class="entry_range">
9558 </td>
9559
9560 <td class="entry_notes">
9561 </td>
9562
9563 <td class="entry_tags">
9564 </td>
9565
9566 </tr> <!-- end of entry -->
9567
9568
9569 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9570 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9571 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009572 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009573
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009574 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009575
9576
9577 </td> <!-- entry_type -->
9578
9579 <td class="entry_description">
9580 Maximum value possible for a sharpness map
9581 region.<wbr>
9582 </td>
9583
9584 <td class="entry_units">
9585 </td>
9586
9587 <td class="entry_range">
9588 </td>
9589
9590 <td class="entry_notes">
9591 </td>
9592
9593 <td class="entry_tags">
9594 </td>
9595
9596 </tr> <!-- end of entry -->
9597
9598
9599 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9600 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009602 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009603 <span class="entry_type_container">x</span>
9604
9605 <span class="entry_type_array">
9606 2
9607 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009608 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009609 <div class="entry_type_notes">width x height</div>
9610
9611
9612 </td> <!-- entry_type -->
9613
9614 <td class="entry_description">
9615 Dimensions of the sharpness
9616 map
9617 </td>
9618
9619 <td class="entry_units">
9620 </td>
9621
9622 <td class="entry_range">
9623 Must be at least 32 x 32
9624 </td>
9625
9626 <td class="entry_notes">
9627 </td>
9628
9629 <td class="entry_tags">
9630 </td>
9631
9632 </tr> <!-- end of entry -->
9633
9634
9635
9636
9637
9638
9639 <!-- end of kind -->
9640 </tbody>
9641 <tr><td colspan="7" class="kind">dynamic</td></tr>
9642
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009643 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009644 <tr>
9645 <th class="th_name">Property Name</th>
9646 <th class="th_type">Type</th>
9647 <th class="th_description">Description</th>
9648 <th class="th_units">Units</th>
9649 <th class="th_range">Range</th>
9650 <th class="th_notes">Notes</th>
9651 <th class="th_tags">Tags</th>
9652 </tr>
9653 </thead>
9654
9655 <tbody>
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9667 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009669 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009670
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009671 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009672
9673 <ul class="entry_type_enum">
9674 <li>
9675 <span class="entry_type_enum_name">OFF</span>
9676 </li>
9677 <li>
9678 <span class="entry_type_enum_name">SIMPLE</span>
9679 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9680 only</span>
9681 </li>
9682 <li>
9683 <span class="entry_type_enum_name">FULL</span>
9684 <span class="entry_type_enum_notes">Optional Return all face
9685 metadata</span>
9686 </li>
9687 </ul>
9688
9689 </td> <!-- entry_type -->
9690
9691 <td class="entry_description">
9692 State of the face detector
9693 unit
9694 </td>
9695
9696 <td class="entry_units">
9697 </td>
9698
9699 <td class="entry_range">
9700
Zhijun He69fc0ea2013-07-17 09:42:58 -07009701 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009702 </td>
9703
9704 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009705 Whether face detection is enabled,<wbr> and whether it
9706 should output just the basic fields or the full set of
9707 fields.<wbr> Value must be one of the
9708 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009709 </td>
9710
9711 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009712 <ul class="entry_tags">
9713 <li><a href="#tag_BC">BC</a></li>
9714 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009715 </td>
9716
9717 </tr> <!-- end of entry -->
9718
9719
9720 <tr class="entry" id="dynamic_android.statistics.faceIds">
9721 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9722 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009723 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009724 <span class="entry_type_container">x</span>
9725
9726 <span class="entry_type_array">
9727 n
9728 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009729 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009730
9731
9732 </td> <!-- entry_type -->
9733
9734 <td class="entry_description">
9735 List of unique IDs for detected
9736 faces
9737 </td>
9738
9739 <td class="entry_units">
9740 </td>
9741
9742 <td class="entry_range">
9743 </td>
9744
9745 <td class="entry_notes">
9746 Only available if faceDetectMode == FULL
9747 </td>
9748
9749 <td class="entry_tags">
9750 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009751 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009752 </ul>
9753 </td>
9754
9755 </tr> <!-- end of entry -->
9756
9757
9758 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9759 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9760 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009761 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009762 <span class="entry_type_container">x</span>
9763
9764 <span class="entry_type_array">
9765 n x 6
9766 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009767 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009768 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9769
9770
9771 </td> <!-- entry_type -->
9772
9773 <td class="entry_description">
9774 List of landmarks for detected
9775 faces
9776 </td>
9777
9778 <td class="entry_units">
9779 </td>
9780
9781 <td class="entry_range">
9782 </td>
9783
9784 <td class="entry_notes">
9785 Only available if faceDetectMode == FULL
9786 </td>
9787
9788 <td class="entry_tags">
9789 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009790 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009791 </ul>
9792 </td>
9793
9794 </tr> <!-- end of entry -->
9795
9796
9797 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9798 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9799 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009800 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009801 <span class="entry_type_container">x</span>
9802
9803 <span class="entry_type_array">
9804 n x 4
9805 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009806 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009807 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9808
9809
9810 </td> <!-- entry_type -->
9811
9812 <td class="entry_description">
9813 List of the bounding rectangles for detected
9814 faces
9815 </td>
9816
9817 <td class="entry_units">
9818 </td>
9819
9820 <td class="entry_range">
9821 </td>
9822
9823 <td class="entry_notes">
9824 Only available if faceDetectMode != OFF
9825 </td>
9826
9827 <td class="entry_tags">
9828 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009829 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009830 </ul>
9831 </td>
9832
9833 </tr> <!-- end of entry -->
9834
9835
9836 <tr class="entry" id="dynamic_android.statistics.faceScores">
9837 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9838 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009839 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009840 <span class="entry_type_container">x</span>
9841
9842 <span class="entry_type_array">
9843 n
9844 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009845 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009846
9847
9848 </td> <!-- entry_type -->
9849
9850 <td class="entry_description">
9851 List of the face confidence scores for
9852 detected faces
9853 </td>
9854
9855 <td class="entry_units">
9856 </td>
9857
9858 <td class="entry_range">
9859 0-100
9860 </td>
9861
9862 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009863 Only available if faceDetectMode != OFF.<wbr> The value should be
9864 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009865 </td>
9866
9867 <td class="entry_tags">
9868 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009869 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009870 </ul>
9871 </td>
9872
9873 </tr> <!-- end of entry -->
9874
9875
9876 <tr class="entry" id="dynamic_android.statistics.histogram">
9877 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9878 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009879 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009880 <span class="entry_type_container">x</span>
9881
9882 <span class="entry_type_array">
9883 n x 3
9884 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009885 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009886 <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>
9887
9888
9889 </td> <!-- entry_type -->
9890
9891 <td class="entry_description">
9892 A 3-channel histogram based on the raw
9893 sensor data
9894 </td>
9895
9896 <td class="entry_units">
9897 </td>
9898
9899 <td class="entry_range">
9900 </td>
9901
9902 <td class="entry_notes">
9903 The k'th bucket (0-based) covers the input range
9904 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9905 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9906 supported,<wbr> all channels should have the same data
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_V1">V1</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.histogramMode">
9919 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9920 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009921 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009922
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009923 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009924
9925 <ul class="entry_type_enum">
9926 <li>
9927 <span class="entry_type_enum_name">OFF</span>
9928 </li>
9929 <li>
9930 <span class="entry_type_enum_name">ON</span>
9931 </li>
9932 </ul>
9933
9934 </td> <!-- entry_type -->
9935
9936 <td class="entry_description">
9937 Operating mode for histogram
9938 generation
9939 </td>
9940
9941 <td class="entry_units">
9942 </td>
9943
9944 <td class="entry_range">
9945 </td>
9946
9947 <td class="entry_notes">
9948 </td>
9949
9950 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009951 <ul class="entry_tags">
9952 <li><a href="#tag_V1">V1</a></li>
9953 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009954 </td>
9955
9956 </tr> <!-- end of entry -->
9957
9958
9959 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9960 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009962 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009963 <span class="entry_type_container">x</span>
9964
9965 <span class="entry_type_array">
9966 n x m x 3
9967 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009968 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009969 <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>
9970
9971
9972 </td> <!-- entry_type -->
9973
9974 <td class="entry_description">
9975 A 3-channel sharpness map,<wbr> based on the raw
9976 sensor data
9977 </td>
9978
9979 <td class="entry_units">
9980 </td>
9981
9982 <td class="entry_range">
9983 </td>
9984
9985 <td class="entry_notes">
9986 If only a monochrome sharpness map is supported,<wbr>
9987 all channels should have the same data
9988 </td>
9989
9990 <td class="entry_tags">
9991 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009992 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009993 </ul>
9994 </td>
9995
9996 </tr> <!-- end of entry -->
9997
9998
9999 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10000 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10001 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010002 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010003
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010004 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010005
10006 <ul class="entry_type_enum">
10007 <li>
10008 <span class="entry_type_enum_name">OFF</span>
10009 </li>
10010 <li>
10011 <span class="entry_type_enum_name">ON</span>
10012 </li>
10013 </ul>
10014
10015 </td> <!-- entry_type -->
10016
10017 <td class="entry_description">
10018 Operating mode for sharpness map
10019 generation
10020 </td>
10021
10022 <td class="entry_units">
10023 </td>
10024
10025 <td class="entry_range">
10026 </td>
10027
10028 <td class="entry_notes">
10029 </td>
10030
10031 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010032 <ul class="entry_tags">
10033 <li><a href="#tag_V1">V1</a></li>
10034 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010035 </td>
10036
10037 </tr> <!-- end of entry -->
10038
Zhijun He69fc0ea2013-07-17 09:42:58 -070010039
10040 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10041 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10042 <td class="entry_type">
10043 <span class="entry_type_name">float</span>
10044 <span class="entry_type_container">x</span>
10045
10046 <span class="entry_type_array">
10047 4 x n x m
10048 </span>
10049 <span class="entry_type_visibility"> [public]</span>
10050 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10051
10052
10053 </td> <!-- entry_type -->
10054
10055 <td class="entry_description">
10056 A low-resolution map of lens shading,<wbr> per
10057 color channel
10058 </td>
10059
10060 <td class="entry_units">
10061 </td>
10062
10063 <td class="entry_range">
10064 Each gain factor is >= 1
10065 </td>
10066
10067 <td class="entry_notes">
10068 Assume bilinear interpolation of map.<wbr> The least
10069 shaded section of the image should have a gain factor
10070 of 1; all other sections should have gains above 1.<wbr>
10071 the map should be on the order of 30-40 rows,<wbr> and
10072 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010073<br>
10074<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10075 must take into account the colorCorrection settings.<wbr>
10076
Zhijun He69fc0ea2013-07-17 09:42:58 -070010077 </td>
10078
10079 <td class="entry_tags">
10080 </td>
10081
10082 </tr> <!-- end of entry -->
10083
10084
10085 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10086 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10087 <td class="entry_type">
10088 <span class="entry_type_name">float</span>
10089 <span class="entry_type_container">x</span>
10090
10091 <span class="entry_type_array">
10092 4
10093 </span>
10094 <span class="entry_type_visibility"> [public]</span>
10095 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10096
10097
10098 </td> <!-- entry_type -->
10099
10100 <td class="entry_description">
10101 The best-fit color channel gains calculated
10102 by the HAL's statistics units for the current output frame
10103
10104 </td>
10105
10106 <td class="entry_units">
10107 </td>
10108
10109 <td class="entry_range">
10110 </td>
10111
10112 <td class="entry_notes">
10113
10114 This may be different than the gains used for this frame,<wbr>
10115 since statistics processing on data from a new frame
10116 typically completes after the transform has already been
10117 applied to that frame.<wbr>
10118<br>
10119<br> The 4 channel gains are defined in Bayer domain,<wbr>
10120 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010121<br>
10122<br> This value should always be calculated by the AWB block,<wbr>
10123 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10124
Zhijun He69fc0ea2013-07-17 09:42:58 -070010125 </td>
10126
10127 <td class="entry_tags">
10128 </td>
10129
10130 </tr> <!-- end of entry -->
10131
10132
10133 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10134 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10135 <td class="entry_type">
10136 <span class="entry_type_name">rational</span>
10137 <span class="entry_type_container">x</span>
10138
10139 <span class="entry_type_array">
10140 3 x 3
10141 </span>
10142 <span class="entry_type_visibility"> [public]</span>
10143 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10144
10145
10146 </td> <!-- entry_type -->
10147
10148 <td class="entry_description">
10149 The best-fit color transform matrix estimate
10150 calculated by the HAL's statistics units for the current
10151 output frame
10152 </td>
10153
10154 <td class="entry_units">
10155 </td>
10156
10157 <td class="entry_range">
10158 </td>
10159
10160 <td class="entry_notes">
10161 The HAL must provide the estimate from its
10162 statistics unit on the white balance transforms to use
10163 for the next frame.<wbr> These are the values the HAL believes
10164 are the best fit for the current output frame.<wbr> This may
10165 be different than the transform used for this frame,<wbr> since
10166 statistics processing on data from a new frame typically
10167 completes after the transform has already been applied to
10168 that frame.<wbr>
10169<br>
10170<br> These estimates must be provided for all frames,<wbr> even if
10171 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010172<br>
10173<br> This value should always be calculated by the AWB block,<wbr>
10174 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010175
10176 </td>
10177
10178 <td class="entry_tags">
10179 </td>
10180
10181 </tr> <!-- end of entry -->
10182
10183
10184 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10185 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10186 <td class="entry_type">
10187 <span class="entry_type_name entry_type_name_enum">byte</span>
10188
10189 <span class="entry_type_visibility"> [public]</span>
10190
10191 <ul class="entry_type_enum">
10192 <li>
10193 <span class="entry_type_enum_name">NONE</span>
10194 </li>
10195 <li>
10196 <span class="entry_type_enum_name">50HZ</span>
10197 </li>
10198 <li>
10199 <span class="entry_type_enum_name">60HZ</span>
10200 </li>
10201 </ul>
10202
10203 </td> <!-- entry_type -->
10204
10205 <td class="entry_description">
10206 The HAL estimated scene illumination lighting
10207 frequency
10208 </td>
10209
10210 <td class="entry_units">
10211 </td>
10212
10213 <td class="entry_range">
10214 </td>
10215
10216 <td class="entry_notes">
10217 Report NONE if there doesn't appear to be flickering
10218 illumination
10219 </td>
10220
10221 <td class="entry_tags">
10222 </td>
10223
10224 </tr> <!-- end of entry -->
10225
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010226
10227
10228 <!-- end of kind -->
10229 </tbody>
10230
10231 <!-- end of section -->
10232 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10233
10234
10235 <tr><td colspan="7" class="kind">controls</td></tr>
10236
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010237 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010238 <tr>
10239 <th class="th_name">Property Name</th>
10240 <th class="th_type">Type</th>
10241 <th class="th_description">Description</th>
10242 <th class="th_units">Units</th>
10243 <th class="th_range">Range</th>
10244 <th class="th_notes">Notes</th>
10245 <th class="th_tags">Tags</th>
10246 </tr>
10247 </thead>
10248
10249 <tbody>
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260 <tr class="entry" id="controls_android.tonemap.curveBlue">
10261 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10262 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010263 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010264 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010265
Zhijun He704d1282013-08-19 15:26:33 -070010266 <span class="entry_type_array">
10267 n x 2
10268 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010269 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010270 <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 -080010271
10272
10273 </td> <!-- entry_type -->
10274
10275 <td class="entry_description">
10276 Table mapping blue input values to output
10277 values
10278 </td>
10279
10280 <td class="entry_units">
10281 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10282 </td>
10283
10284 <td class="entry_range">
10285 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10286 </td>
10287
10288 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010289 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10290 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10291<br>
10292<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010293 </td>
10294
10295 <td class="entry_tags">
10296 </td>
10297
10298 </tr> <!-- end of entry -->
10299
10300
10301 <tr class="entry" id="controls_android.tonemap.curveGreen">
10302 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10303 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010304 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010305 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010306
Zhijun He704d1282013-08-19 15:26:33 -070010307 <span class="entry_type_array">
10308 n x 2
10309 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010310 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010311 <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 -080010312
10313
10314 </td> <!-- entry_type -->
10315
10316 <td class="entry_description">
10317 Table mapping green input values to output
10318 values
10319 </td>
10320
10321 <td class="entry_units">
10322 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10323 </td>
10324
10325 <td class="entry_range">
10326 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10327 </td>
10328
10329 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010330 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10331 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10332<br>
10333<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010334 </td>
10335
10336 <td class="entry_tags">
10337 </td>
10338
10339 </tr> <!-- end of entry -->
10340
10341
10342 <tr class="entry" id="controls_android.tonemap.curveRed">
10343 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10344 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010345 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010346 <span class="entry_type_container">x</span>
10347
10348 <span class="entry_type_array">
10349 n x 2
10350 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010351 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010352 <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 -080010353
10354
10355 </td> <!-- entry_type -->
10356
10357 <td class="entry_description">
10358 Table mapping red input values to output
10359 values
10360 </td>
10361
10362 <td class="entry_units">
10363 </td>
10364
10365 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010366 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010367 </td>
10368
10369 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010370 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10371 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10372<br>
10373<br> Since the input and output ranges may vary depending on
10374 the camera pipeline,<wbr> the input and output pixel values
10375 are represented by normalized floating-point values
10376 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10377<br>
10378<br> The curve should be linearly interpolated between the
10379 defined points.<wbr> The points will be listed in increasing
10380 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 -080010381 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10382 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10383 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10384 </td>
10385
10386 <td class="entry_tags">
10387 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010388 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010389 </ul>
10390 </td>
10391
10392 </tr> <!-- end of entry -->
10393
10394
10395 <tr class="entry" id="controls_android.tonemap.mode">
10396 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10397 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010398 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010399
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010400 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010401
10402 <ul class="entry_type_enum">
10403 <li>
10404 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10405 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10406 android.<wbr>tonemap.<wbr>curve</span>
10407 </li>
10408 <li>
10409 <span class="entry_type_enum_name">FAST</span>
10410 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10411 bayer output</span>
10412 </li>
10413 <li>
10414 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10415 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10416 quality</span>
10417 </li>
10418 </ul>
10419
10420 </td> <!-- entry_type -->
10421
10422 <td class="entry_description">
10423 </td>
10424
10425 <td class="entry_units">
10426 </td>
10427
10428 <td class="entry_range">
10429 </td>
10430
10431 <td class="entry_notes">
10432 </td>
10433
10434 <td class="entry_tags">
10435 </td>
10436
10437 </tr> <!-- end of entry -->
10438
10439
10440
10441 <!-- end of kind -->
10442 </tbody>
10443 <tr><td colspan="7" class="kind">static</td></tr>
10444
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010445 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010446 <tr>
10447 <th class="th_name">Property Name</th>
10448 <th class="th_type">Type</th>
10449 <th class="th_description">Description</th>
10450 <th class="th_units">Units</th>
10451 <th class="th_range">Range</th>
10452 <th class="th_notes">Notes</th>
10453 <th class="th_tags">Tags</th>
10454 </tr>
10455 </thead>
10456
10457 <tbody>
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10469 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010471 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010472
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010473 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010474
10475
10476 </td> <!-- entry_type -->
10477
10478 <td class="entry_description">
10479 Maximum number of supported points in the
10480 tonemap curve
10481 </td>
10482
10483 <td class="entry_units">
10484 </td>
10485
10486 <td class="entry_range">
10487 >= 128
10488 </td>
10489
10490 <td class="entry_notes">
10491 </td>
10492
10493 <td class="entry_tags">
10494 </td>
10495
10496 </tr> <!-- end of entry -->
10497
10498
10499
10500 <!-- end of kind -->
10501 </tbody>
10502 <tr><td colspan="7" class="kind">dynamic</td></tr>
10503
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010504 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010505 <tr>
10506 <th class="th_name">Property Name</th>
10507 <th class="th_type">Type</th>
10508 <th class="th_description">Description</th>
10509 <th class="th_units">Units</th>
10510 <th class="th_range">Range</th>
10511 <th class="th_notes">Notes</th>
10512 <th class="th_tags">Tags</th>
10513 </tr>
10514 </thead>
10515
10516 <tbody>
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10528 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10529 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010530 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010531 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010532
Zhijun He704d1282013-08-19 15:26:33 -070010533 <span class="entry_type_array">
10534 n x 2
10535 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010536 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010537 <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 -080010538
10539
10540 </td> <!-- entry_type -->
10541
10542 <td class="entry_description">
10543 Table mapping blue input values to output
10544 values
10545 </td>
10546
10547 <td class="entry_units">
10548 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10549 </td>
10550
10551 <td class="entry_range">
10552 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10553 </td>
10554
10555 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010556 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10557 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10558<br>
10559<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010560 </td>
10561
10562 <td class="entry_tags">
10563 </td>
10564
10565 </tr> <!-- end of entry -->
10566
10567
10568 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10569 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10570 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010571 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010572 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010573
Zhijun He704d1282013-08-19 15:26:33 -070010574 <span class="entry_type_array">
10575 n x 2
10576 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010577 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010578 <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 -080010579
10580
10581 </td> <!-- entry_type -->
10582
10583 <td class="entry_description">
10584 Table mapping green input values to output
10585 values
10586 </td>
10587
10588 <td class="entry_units">
10589 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10590 </td>
10591
10592 <td class="entry_range">
10593 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10594 </td>
10595
10596 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010597 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10598 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10599<br>
10600<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010601 </td>
10602
10603 <td class="entry_tags">
10604 </td>
10605
10606 </tr> <!-- end of entry -->
10607
10608
10609 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10610 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10611 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010612 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010613 <span class="entry_type_container">x</span>
10614
10615 <span class="entry_type_array">
10616 n x 2
10617 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010618 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010619 <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 -080010620
10621
10622 </td> <!-- entry_type -->
10623
10624 <td class="entry_description">
10625 Table mapping red input values to output
10626 values
10627 </td>
10628
10629 <td class="entry_units">
10630 </td>
10631
10632 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010633 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010634 </td>
10635
10636 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010637 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10638 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10639<br>
10640<br> Since the input and output ranges may vary depending on
10641 the camera pipeline,<wbr> the input and output pixel values
10642 are represented by normalized floating-point values
10643 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10644<br>
10645<br> The curve should be linearly interpolated between the
10646 defined points.<wbr> The points will be listed in increasing
10647 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 -080010648 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10649 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10650 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10651 </td>
10652
10653 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010654 <ul class="entry_tags">
10655 <li><a href="#tag_DNG">DNG</a></li>
10656 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010657 </td>
10658
10659 </tr> <!-- end of entry -->
10660
10661
10662 <tr class="entry" id="dynamic_android.tonemap.mode">
10663 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10664 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010665 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010666
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010667 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010668
10669 <ul class="entry_type_enum">
10670 <li>
10671 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10672 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10673 android.<wbr>tonemap.<wbr>curve</span>
10674 </li>
10675 <li>
10676 <span class="entry_type_enum_name">FAST</span>
10677 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10678 bayer output</span>
10679 </li>
10680 <li>
10681 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10682 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10683 quality</span>
10684 </li>
10685 </ul>
10686
10687 </td> <!-- entry_type -->
10688
10689 <td class="entry_description">
10690 </td>
10691
10692 <td class="entry_units">
10693 </td>
10694
10695 <td class="entry_range">
10696 </td>
10697
10698 <td class="entry_notes">
10699 </td>
10700
10701 <td class="entry_tags">
10702 </td>
10703
10704 </tr> <!-- end of entry -->
10705
10706
10707
10708 <!-- end of kind -->
10709 </tbody>
10710
10711 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010712 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10713
10714
10715 <tr><td colspan="7" class="kind">controls</td></tr>
10716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010717 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010718 <tr>
10719 <th class="th_name">Property Name</th>
10720 <th class="th_type">Type</th>
10721 <th class="th_description">Description</th>
10722 <th class="th_units">Units</th>
10723 <th class="th_range">Range</th>
10724 <th class="th_notes">Notes</th>
10725 <th class="th_tags">Tags</th>
10726 </tr>
10727 </thead>
10728
10729 <tbody>
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740 <tr class="entry" id="controls_android.led.transmit">
10741 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10742 <td class="entry_type">
10743 <span class="entry_type_name entry_type_name_enum">byte</span>
10744
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010745 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010746
10747 <ul class="entry_type_enum">
10748 <li>
10749 <span class="entry_type_enum_name">OFF</span>
10750 </li>
10751 <li>
10752 <span class="entry_type_enum_name">ON</span>
10753 </li>
10754 </ul>
10755
10756 </td> <!-- entry_type -->
10757
10758 <td class="entry_description">
10759 This LED is nominally used to indicate to the user
10760 that the camera is powered on and may be streaming images back to the
10761 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10762 disable this when video is processed locally and not transmitted to
10763 any untrusted applications.<wbr>
10764<br>
10765<br> In particular,<wbr> the LED *must* always be on when the data could be
10766 transmitted off the device.<wbr> The LED *should* always be on whenever
10767 data is stored locally on the device.<wbr>
10768<br>
10769<br> The LED *may* be off if a trusted application is using the data that
10770 doesn't violate the above rules.<wbr>
10771
10772 </td>
10773
10774 <td class="entry_units">
10775 </td>
10776
10777 <td class="entry_range">
10778 </td>
10779
10780 <td class="entry_notes">
10781 </td>
10782
10783 <td class="entry_tags">
10784 </td>
10785
10786 </tr> <!-- end of entry -->
10787
10788
10789
10790 <!-- end of kind -->
10791 </tbody>
10792 <tr><td colspan="7" class="kind">dynamic</td></tr>
10793
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010794 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010795 <tr>
10796 <th class="th_name">Property Name</th>
10797 <th class="th_type">Type</th>
10798 <th class="th_description">Description</th>
10799 <th class="th_units">Units</th>
10800 <th class="th_range">Range</th>
10801 <th class="th_notes">Notes</th>
10802 <th class="th_tags">Tags</th>
10803 </tr>
10804 </thead>
10805
10806 <tbody>
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817 <tr class="entry" id="dynamic_android.led.transmit">
10818 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10819 <td class="entry_type">
10820 <span class="entry_type_name entry_type_name_enum">byte</span>
10821
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010822 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010823
10824 <ul class="entry_type_enum">
10825 <li>
10826 <span class="entry_type_enum_name">OFF</span>
10827 </li>
10828 <li>
10829 <span class="entry_type_enum_name">ON</span>
10830 </li>
10831 </ul>
10832
10833 </td> <!-- entry_type -->
10834
10835 <td class="entry_description">
10836 This LED is nominally used to indicate to the user
10837 that the camera is powered on and may be streaming images back to the
10838 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10839 disable this when video is processed locally and not transmitted to
10840 any untrusted applications.<wbr>
10841<br>
10842<br> In particular,<wbr> the LED *must* always be on when the data could be
10843 transmitted off the device.<wbr> The LED *should* always be on whenever
10844 data is stored locally on the device.<wbr>
10845<br>
10846<br> The LED *may* be off if a trusted application is using the data that
10847 doesn't violate the above rules.<wbr>
10848
10849 </td>
10850
10851 <td class="entry_units">
10852 </td>
10853
10854 <td class="entry_range">
10855 </td>
10856
10857 <td class="entry_notes">
10858 </td>
10859
10860 <td class="entry_tags">
10861 </td>
10862
10863 </tr> <!-- end of entry -->
10864
10865
10866
10867 <!-- end of kind -->
10868 </tbody>
10869 <tr><td colspan="7" class="kind">static</td></tr>
10870
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010871 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010872 <tr>
10873 <th class="th_name">Property Name</th>
10874 <th class="th_type">Type</th>
10875 <th class="th_description">Description</th>
10876 <th class="th_units">Units</th>
10877 <th class="th_range">Range</th>
10878 <th class="th_notes">Notes</th>
10879 <th class="th_tags">Tags</th>
10880 </tr>
10881 </thead>
10882
10883 <tbody>
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894 <tr class="entry" id="static_android.led.availableLeds">
10895 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10896 <td class="entry_type">
10897 <span class="entry_type_name entry_type_name_enum">byte</span>
10898 <span class="entry_type_container">x</span>
10899
10900 <span class="entry_type_array">
10901 n
10902 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010903 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010904
10905 <ul class="entry_type_enum">
10906 <li>
10907 <span class="entry_type_enum_name">TRANSMIT</span>
10908 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10909 </li>
10910 </ul>
10911
10912 </td> <!-- entry_type -->
10913
10914 <td class="entry_description">
10915 A list of camera LEDs that are available on this system.<wbr>
10916
10917 </td>
10918
10919 <td class="entry_units">
10920 </td>
10921
10922 <td class="entry_range">
10923 </td>
10924
10925 <td class="entry_notes">
10926 </td>
10927
10928 <td class="entry_tags">
10929 </td>
10930
10931 </tr> <!-- end of entry -->
10932
10933
10934
10935 <!-- end of kind -->
10936 </tbody>
10937
10938 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010939 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10940
10941
10942 <tr><td colspan="7" class="kind">static</td></tr>
10943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010944 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010945 <tr>
10946 <th class="th_name">Property Name</th>
10947 <th class="th_type">Type</th>
10948 <th class="th_description">Description</th>
10949 <th class="th_units">Units</th>
10950 <th class="th_range">Range</th>
10951 <th class="th_notes">Notes</th>
10952 <th class="th_tags">Tags</th>
10953 </tr>
10954 </thead>
10955
10956 <tbody>
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10968 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10969 <td class="entry_type">
10970 <span class="entry_type_name entry_type_name_enum">byte</span>
10971
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010972 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010973
10974 <ul class="entry_type_enum">
10975 <li>
10976 <span class="entry_type_enum_name">LIMITED</span>
10977 </li>
10978 <li>
10979 <span class="entry_type_enum_name">FULL</span>
10980 </li>
10981 </ul>
10982
10983 </td> <!-- entry_type -->
10984
10985 <td class="entry_description">
10986
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010987 The camera 3 HAL device can implement one of two possible
10988 operational modes; limited and full.<wbr> Full support is
10989 expected from new higher-end devices.<wbr> Limited mode has
10990 hardware requirements roughly in line with those for a
10991 camera HAL device v1 implementation,<wbr> and is expected from
10992 older or inexpensive devices.<wbr> Full is a strict superset of
10993 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010994<br>
10995<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
10996
10997 </td>
10998
10999 <td class="entry_units">
11000 </td>
11001
11002 <td class="entry_range">
11003 Optional.<wbr> Default value is LIMITED.<wbr>
11004 </td>
11005
11006 <td class="entry_notes">
11007 </td>
11008
11009 <td class="entry_tags">
11010 </td>
11011
11012 </tr> <!-- end of entry -->
11013
11014
11015
11016 <!-- end of kind -->
11017 </tbody>
11018
11019 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011020 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11021
11022
11023 <tr><td colspan="7" class="kind">controls</td></tr>
11024
11025 <thead class="entries_header">
11026 <tr>
11027 <th class="th_name">Property Name</th>
11028 <th class="th_type">Type</th>
11029 <th class="th_description">Description</th>
11030 <th class="th_units">Units</th>
11031 <th class="th_range">Range</th>
11032 <th class="th_notes">Notes</th>
11033 <th class="th_tags">Tags</th>
11034 </tr>
11035 </thead>
11036
11037 <tbody>
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048 <tr class="entry" id="controls_android.blackLevel.lock">
11049 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11050 <td class="entry_type">
11051 <span class="entry_type_name entry_type_name_enum">byte</span>
11052
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011053 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011054
11055 <ul class="entry_type_enum">
11056 <li>
11057 <span class="entry_type_enum_name">OFF</span>
11058 </li>
11059 <li>
11060 <span class="entry_type_enum_name">ON</span>
11061 </li>
11062 </ul>
11063
11064 </td> <!-- entry_type -->
11065
11066 <td class="entry_description">
11067 Whether black-level compensation is locked
11068 to its current values,<wbr> or is free to vary
11069 </td>
11070
11071 <td class="entry_units">
11072 </td>
11073
11074 <td class="entry_range">
11075 </td>
11076
11077 <td class="entry_notes">
11078 When set to ON,<wbr> the values used for black-level
11079 compensation must not change until the lock is set to
11080 OFF
11081<br>
11082<br> Since changes to certain capture parameters (such as
11083 exposure time) may require resetting of black level
11084 compensation,<wbr> the HAL must report whether setting the
11085 black level lock was successful in the output result
11086 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011087<br>
11088<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11089 If for some reason black level locking is no longer legal (for example,<wbr>
11090 the analog gain has changed,<wbr> which forces black levels to be
11091 recalculated),<wbr> then the HAL is free to override this request (and it
11092 must report 'OFF' when this does happen) until the next time locking
11093 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011094 </td>
11095
11096 <td class="entry_tags">
11097 <ul class="entry_tags">
11098 <li><a href="#tag_HAL2">HAL2</a></li>
11099 </ul>
11100 </td>
11101
11102 </tr> <!-- end of entry -->
11103
11104
11105
11106 <!-- end of kind -->
11107 </tbody>
11108 <tr><td colspan="7" class="kind">dynamic</td></tr>
11109
11110 <thead class="entries_header">
11111 <tr>
11112 <th class="th_name">Property Name</th>
11113 <th class="th_type">Type</th>
11114 <th class="th_description">Description</th>
11115 <th class="th_units">Units</th>
11116 <th class="th_range">Range</th>
11117 <th class="th_notes">Notes</th>
11118 <th class="th_tags">Tags</th>
11119 </tr>
11120 </thead>
11121
11122 <tbody>
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133 <tr class="entry" id="dynamic_android.blackLevel.lock">
11134 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11135 <td class="entry_type">
11136 <span class="entry_type_name entry_type_name_enum">byte</span>
11137
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011138 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011139
11140 <ul class="entry_type_enum">
11141 <li>
11142 <span class="entry_type_enum_name">OFF</span>
11143 </li>
11144 <li>
11145 <span class="entry_type_enum_name">ON</span>
11146 </li>
11147 </ul>
11148
11149 </td> <!-- entry_type -->
11150
11151 <td class="entry_description">
11152 Whether black-level compensation is locked
11153 to its current values,<wbr> or is free to vary
11154 </td>
11155
11156 <td class="entry_units">
11157 </td>
11158
11159 <td class="entry_range">
11160 </td>
11161
11162 <td class="entry_notes">
11163 When set to ON,<wbr> the values used for black-level
11164 compensation must not change until the lock is set to
11165 OFF
11166<br>
11167<br> Since changes to certain capture parameters (such as
11168 exposure time) may require resetting of black level
11169 compensation,<wbr> the HAL must report whether setting the
11170 black level lock was successful in the output result
11171 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011172<br>
11173<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11174 If for some reason black level locking is no longer legal (for example,<wbr>
11175 the analog gain has changed,<wbr> which forces black levels to be
11176 recalculated),<wbr> then the HAL is free to override this request (and it
11177 must report 'OFF' when this does happen) until the next time locking
11178 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011179 </td>
11180
11181 <td class="entry_tags">
11182 <ul class="entry_tags">
11183 <li><a href="#tag_HAL2">HAL2</a></li>
11184 </ul>
11185 </td>
11186
11187 </tr> <!-- end of entry -->
11188
11189
11190
11191 <!-- end of kind -->
11192 </tbody>
11193
11194 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011195<!-- </namespace> -->
11196 </table>
11197
11198 <div class="tags" id="tag_index">
11199 <h2>Tags</h2>
11200 <ul>
11201 <li id="tag_AWB">AWB -
11202 Needed for auto white balance
11203
11204 <ul class="tags_entries">
11205 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11206 </ul>
11207 </li> <!-- tag_AWB -->
11208 <li id="tag_BC">BC -
11209 Needed for backwards compatibility with old Java API
11210
11211 <ul class="tags_entries">
11212 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11213 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11214 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11215 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11216 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011217 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011218 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11219 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011220 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011221 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11222 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11223 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11224 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11225 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11226 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11227 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11228 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11229 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11230 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11231 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11232 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11233 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11234 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11235 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11236 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11237 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11238 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11239 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11240 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11241 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11242 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11243 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11244 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11245 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11246 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11247 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11248 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11249 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11250 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11251 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11252 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11253 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11254 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11255 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11256 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011257 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011258 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11259 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11260 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011261 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011262 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011263 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11264 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11265 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11266 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11267 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11268 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11269 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11270 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11271 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11272 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11273 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11274 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11275 </ul>
11276 </li> <!-- tag_BC -->
11277 <li id="tag_V1">V1 -
11278 New features for first camera 2 release (API1)
11279
11280 <ul class="tags_entries">
11281 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11282 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11283 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11284 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11285 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11286 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11287 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11288 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11289 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11290 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11291 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11292 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11293 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11294 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11295 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11296 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11297 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11298 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11299 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11300 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11301 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11302 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11303 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11304 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011305 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011306 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11307 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11308 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11309 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11310 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11311 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11312 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11313 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11314 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11315 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11316 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11317 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11318 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11319 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11320 </ul>
11321 </li> <!-- tag_V1 -->
11322 <li id="tag_ADV">ADV - None
11323 <ul class="tags_entries">
11324 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11325 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11326 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11327 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11328 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11329 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11330 </ul>
11331 </li> <!-- tag_ADV -->
11332 <li id="tag_DNG">DNG -
11333 Needed for DNG file support
11334
11335 <ul class="tags_entries">
11336 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011337 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11338 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11339 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11340 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11341 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11342 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11343 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11344 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11345 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11346 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11347 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11348 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11349 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11350 </ul>
11351 </li> <!-- tag_DNG -->
11352 <li id="tag_EXIF">EXIF - None
11353 <ul class="tags_entries">
11354 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11355 </ul>
11356 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011357 <li id="tag_HAL2">HAL2 -
11358 Tag only used by camera device HAL 2.x
11359
11360 <ul class="tags_entries">
11361 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11362 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11363 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011364 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011365 </ul>
11366 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011367 </ul>
11368 </div>
11369
11370 [ <a href="#">top</a> ]
11371
11372</body>
11373</html>