blob: 1a57bc291c95925964ee8abc41800255279aef7a [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">
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700733 When android.<wbr>sensor.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
734 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>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001224 xmax,<wbr> ymax,<wbr> weight.<wbr>
1225<br>
1226<br> The coordinate system is based on the active pixel array,<wbr>
1227 with (0,<wbr>0) being the top-left of the active pixel array,<wbr> and
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001228 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1229 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1230 bottom-right point of the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001231 should be nonnegative.<wbr>
1232<br>
1233<br> If all regions have 0 weight,<wbr> then no specific metering area
1234 needs to be used by the HAL.<wbr> If the metering region is
1235 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1236 should ignore the sections outside the region and output the
1237 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001238 </td>
1239
1240 <td class="entry_tags">
1241 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001242 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001243 </ul>
1244 </td>
1245
1246 </tr> <!-- end of entry -->
1247
1248
1249 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1250 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1251 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001252 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001253 <span class="entry_type_container">x</span>
1254
1255 <span class="entry_type_array">
1256 2
1257 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001258 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001259
1260
1261 </td> <!-- entry_type -->
1262
1263 <td class="entry_description">
1264 Range over which fps can be adjusted to
1265 maintain exposure
1266 </td>
1267
1268 <td class="entry_units">
1269 </td>
1270
1271 <td class="entry_range">
1272 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1273 </td>
1274
1275 <td class="entry_notes">
1276 Only constrains AE algorithm,<wbr> not manual control
1277 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1278 </td>
1279
1280 <td class="entry_tags">
1281 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001282 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001283 </ul>
1284 </td>
1285
1286 </tr> <!-- end of entry -->
1287
1288
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001289 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1290 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1291 <td class="entry_type">
1292 <span class="entry_type_name entry_type_name_enum">byte</span>
1293
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001294 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001295
1296 <ul class="entry_type_enum">
1297 <li>
1298 <span class="entry_type_enum_name">IDLE</span>
1299 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1300 </li>
1301 <li>
1302 <span class="entry_type_enum_name">START</span>
1303 <span class="entry_type_enum_notes">The precapture metering sequence
1304 must be started.<wbr> The exact effect of the precapture
1305 trigger depends on the current AE mode and
1306 state.<wbr></span>
1307 </li>
1308 </ul>
1309
1310 </td> <!-- entry_type -->
1311
1312 <td class="entry_description">
1313 Whether the HAL must trigger precapture
1314 metering.<wbr>
1315 </td>
1316
1317 <td class="entry_units">
1318 </td>
1319
1320 <td class="entry_range">
1321 </td>
1322
1323 <td class="entry_notes">
1324 This entry is normally set to IDLE,<wbr> or is not
1325 included at all in the request settings.<wbr> When included and
1326 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001327 precapture metering sequence.<wbr>
1328<br>
1329<br> The effect of AE precapture trigger depends on the current
1330 AE mode and state; see the camera HAL device v3 header for
1331 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001332 </td>
1333
1334 <td class="entry_tags">
1335 <ul class="entry_tags">
1336 <li><a href="#tag_BC">BC</a></li>
1337 </ul>
1338 </td>
1339
1340 </tr> <!-- end of entry -->
1341
1342
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001343 <tr class="entry" id="controls_android.control.afMode">
1344 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1345 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001346 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001347
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001348 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001349
1350 <ul class="entry_type_enum">
1351 <li>
1352 <span class="entry_type_enum_name">OFF</span>
1353 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001354 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001355 application</span>
1356 </li>
1357 <li>
1358 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001359 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1360
1361 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1362 is fixed focus In this mode,<wbr> the lens does not move unless
1363 the autofocus trigger action is called.<wbr> When that trigger
1364 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1365 the outcome of the scan (FOCUSED or
1366 NOT_<wbr>FOCUSED).<wbr>
1367
1368 Triggering cancel AF resets the lens position to default,<wbr>
1369 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001370 </li>
1371 <li>
1372 <span class="entry_type_enum_name">MACRO</span>
1373 <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 -07001374 autofocus trigger action is called.<wbr>
1375
1376 When that trigger is activated,<wbr> AF must transition to
1377 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1378 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1379 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001380 INACTIVE.<wbr></span>
1381 </li>
1382 <li>
1383 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1384 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1385 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001386 constantly-in-focus image stream.<wbr>
1387
1388 The focusing behavior should be suitable for good quality
1389 video recording; typically this means slower focus
1390 movement and no overshoots.<wbr> When the AF trigger is not
1391 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1392 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1393 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1394 the algorithm should immediately transition into
1395 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1396 lens position until a cancel AF trigger is received.<wbr>
1397
1398 Once cancel is received,<wbr> the algorithm should transition
1399 back to INACTIVE and resume passive scan.<wbr> Note that this
1400 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1401 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001402 canceled.<wbr></span>
1403 </li>
1404 <li>
1405 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1406 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1407 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001408 constantly-in-focus image stream.<wbr>
1409
1410 The focusing behavior should be suitable for still image
1411 capture; typically this means focusing as fast as
1412 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1413 algorithm should start in INACTIVE state,<wbr> and then
1414 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1415 appropriate as it attempts to maintain focus.<wbr> When the AF
1416 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001417 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001418 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1419 lens position until a cancel AF trigger is received.<wbr>
1420
1421 When the AF cancel trigger is activated,<wbr> the algorithm
1422 should transition back to INACTIVE and then act as if it
1423 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001424 </li>
1425 <li>
1426 <span class="entry_type_enum_name">EDOF</span>
1427 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1428 trigger is ignored,<wbr> AF state should always be
1429 INACTIVE.<wbr></span>
1430 </li>
1431 </ul>
1432
1433 </td> <!-- entry_type -->
1434
1435 <td class="entry_description">
1436 Whether AF is currently enabled,<wbr> and what
1437 mode it is set to
1438 </td>
1439
1440 <td class="entry_units">
1441 </td>
1442
1443 <td class="entry_range">
1444 </td>
1445
1446 <td class="entry_notes">
1447 </td>
1448
1449 <td class="entry_tags">
1450 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001451 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001452 </ul>
1453 </td>
1454
1455 </tr> <!-- end of entry -->
1456
1457
1458 <tr class="entry" id="controls_android.control.afRegions">
1459 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1460 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001461 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001462 <span class="entry_type_container">x</span>
1463
1464 <span class="entry_type_array">
1465 5 x area_count
1466 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001467 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001468
1469
1470 </td> <!-- entry_type -->
1471
1472 <td class="entry_description">
1473 List of areas to use for focus
1474 estimation
1475 </td>
1476
1477 <td class="entry_units">
1478 </td>
1479
1480 <td class="entry_range">
1481 </td>
1482
1483 <td class="entry_notes">
1484 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001485 xmax,<wbr> ymax,<wbr> weight.<wbr>
1486<br>
1487<br> The coordinate system is based on the active pixel array,<wbr>
1488 with (0,<wbr>0) being the top-left of the active pixel array,<wbr> and
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001489 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1490 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1491 bottom-right point of the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001492 should be nonnegative.<wbr>
1493<br>
1494<br> If all regions have 0 weight,<wbr> then no specific focus area
1495 needs to be used by the HAL.<wbr> If the focusing region is
1496 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1497 should ignore the sections outside the region and output the
1498 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001499 </td>
1500
1501 <td class="entry_tags">
1502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001503 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001504 </ul>
1505 </td>
1506
1507 </tr> <!-- end of entry -->
1508
1509
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001510 <tr class="entry" id="controls_android.control.afTrigger">
1511 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1512 <td class="entry_type">
1513 <span class="entry_type_name entry_type_name_enum">byte</span>
1514
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001515 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001516
1517 <ul class="entry_type_enum">
1518 <li>
1519 <span class="entry_type_enum_name">IDLE</span>
1520 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1521 </li>
1522 <li>
1523 <span class="entry_type_enum_name">START</span>
1524 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1525 </li>
1526 <li>
1527 <span class="entry_type_enum_name">CANCEL</span>
1528 <span class="entry_type_enum_notes">Autofocus must return to initial
1529 state,<wbr> and cancel any active trigger.<wbr></span>
1530 </li>
1531 </ul>
1532
1533 </td> <!-- entry_type -->
1534
1535 <td class="entry_description">
1536 Whether the HAL must trigger autofocus.<wbr>
1537 </td>
1538
1539 <td class="entry_units">
1540 </td>
1541
1542 <td class="entry_range">
1543 </td>
1544
1545 <td class="entry_notes">
1546 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001547 included at all in the request settings.<wbr>
1548<br>
1549<br> When included and set to START,<wbr> the HAL must trigger the
1550 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1551 current AF mode and state; see the camera HAL device v3
1552 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1553 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001554 </td>
1555
1556 <td class="entry_tags">
1557 <ul class="entry_tags">
1558 <li><a href="#tag_BC">BC</a></li>
1559 </ul>
1560 </td>
1561
1562 </tr> <!-- end of entry -->
1563
1564
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001565 <tr class="entry" id="controls_android.control.awbLock">
1566 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1567 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001568 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001569
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001570 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001571
1572 <ul class="entry_type_enum">
1573 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001574 <span class="entry_type_enum_name">OFF</span>
1575 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1576 algorithm is free to update its parameters if in AUTO
1577 mode.<wbr></span>
1578 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001579 <li>
1580 <span class="entry_type_enum_name">ON</span>
1581 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1582 algorithm must not update the exposure and sensitivity
1583 parameters while the lock is active</span>
1584 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001585 </ul>
1586
1587 </td> <!-- entry_type -->
1588
1589 <td class="entry_description">
1590 Whether AWB is currently locked to its
1591 latest calculated values
1592 </td>
1593
1594 <td class="entry_units">
1595 </td>
1596
1597 <td class="entry_range">
1598 </td>
1599
1600 <td class="entry_notes">
1601 Note that AWB lock is only meaningful for AUTO
1602 mode; in other modes,<wbr> AWB is already fixed to a specific
1603 setting
1604 </td>
1605
1606 <td class="entry_tags">
1607 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001608 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001609 </ul>
1610 </td>
1611
1612 </tr> <!-- end of entry -->
1613
1614
1615 <tr class="entry" id="controls_android.control.awbMode">
1616 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1617 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001618 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001619
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001620 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001621
1622 <ul class="entry_type_enum">
1623 <li>
1624 <span class="entry_type_enum_name">OFF</span>
1625 </li>
1626 <li>
1627 <span class="entry_type_enum_name">AUTO</span>
1628 </li>
1629 <li>
1630 <span class="entry_type_enum_name">INCANDESCENT</span>
1631 </li>
1632 <li>
1633 <span class="entry_type_enum_name">FLUORESCENT</span>
1634 </li>
1635 <li>
1636 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">DAYLIGHT</span>
1640 </li>
1641 <li>
1642 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1643 </li>
1644 <li>
1645 <span class="entry_type_enum_name">TWILIGHT</span>
1646 </li>
1647 <li>
1648 <span class="entry_type_enum_name">SHADE</span>
1649 </li>
1650 </ul>
1651
1652 </td> <!-- entry_type -->
1653
1654 <td class="entry_description">
1655 Whether AWB is currently setting the color
1656 transform fields,<wbr> and what its illumination target
1657 is
1658 </td>
1659
1660 <td class="entry_units">
1661 </td>
1662
1663 <td class="entry_range">
1664 </td>
1665
1666 <td class="entry_notes">
1667 [BC - AWB lock,<wbr>AWB modes]
1668 </td>
1669
1670 <td class="entry_tags">
1671 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001672 <li><a href="#tag_BC">BC</a></li>
1673 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001674 </ul>
1675 </td>
1676
1677 </tr> <!-- end of entry -->
1678
1679
1680 <tr class="entry" id="controls_android.control.awbRegions">
1681 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1682 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001683 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001684 <span class="entry_type_container">x</span>
1685
1686 <span class="entry_type_array">
1687 5 x area_count
1688 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001689 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001690
1691
1692 </td> <!-- entry_type -->
1693
1694 <td class="entry_description">
1695 List of areas to use for illuminant
1696 estimation
1697 </td>
1698
1699 <td class="entry_units">
1700 </td>
1701
1702 <td class="entry_range">
1703 </td>
1704
1705 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001706 Only used in AUTO mode.<wbr>
1707<br>
1708<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr>
1709 ymax,<wbr> weight.<wbr> The coordinate system is based on the active
1710 pixel array,<wbr> with (0,<wbr>0) being the top-left of the active
1711 pixel array,<wbr> and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001712 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1713 bottom-right point of the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001714 should be nonnegative.<wbr>
1715<br>
1716<br> If all regions have 0 weight,<wbr> then no specific metering area
1717 needs to be used by the HAL.<wbr> If the metering region is
1718 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1719 should ignore the sections outside the region and output the
1720 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001721 </td>
1722
1723 <td class="entry_tags">
1724 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001725 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 </ul>
1727 </td>
1728
1729 </tr> <!-- end of entry -->
1730
1731
1732 <tr class="entry" id="controls_android.control.captureIntent">
1733 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001735 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001737 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001738
1739 <ul class="entry_type_enum">
1740 <li>
1741 <span class="entry_type_enum_name">CUSTOM</span>
1742 <span class="entry_type_enum_notes">This request doesn't fall into the other
1743 categories.<wbr> Default to preview-like
1744 behavior.<wbr></span>
1745 </li>
1746 <li>
1747 <span class="entry_type_enum_name">PREVIEW</span>
1748 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1749 precapture trigger may be used to start off a metering
1750 w/<wbr>flash sequence</span>
1751 </li>
1752 <li>
1753 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1754 <span class="entry_type_enum_notes">This request is for a still capture-type
1755 usecase.<wbr></span>
1756 </li>
1757 <li>
1758 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1759 <span class="entry_type_enum_notes">This request is for a video recording
1760 usecase.<wbr></span>
1761 </li>
1762 <li>
1763 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1764 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1765 image while recording video) usecase</span>
1766 </li>
1767 <li>
1768 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1769 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1770 application will stream full-resolution images and
1771 reprocess one or several later for a final
1772 capture</span>
1773 </li>
1774 </ul>
1775
1776 </td> <!-- entry_type -->
1777
1778 <td class="entry_description">
1779 Information to 3A routines about the purpose
1780 of this capture,<wbr> to help decide optimal 3A
1781 strategy
1782 </td>
1783
1784 <td class="entry_units">
1785 </td>
1786
1787 <td class="entry_range">
1788 all must be supported
1789 </td>
1790
1791 <td class="entry_notes">
1792 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1793 </td>
1794
1795 <td class="entry_tags">
1796 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001797 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001798 </ul>
1799 </td>
1800
1801 </tr> <!-- end of entry -->
1802
1803
1804 <tr class="entry" id="controls_android.control.effectMode">
1805 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1806 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001807 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001808
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001809 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001810
1811 <ul class="entry_type_enum">
1812 <li>
1813 <span class="entry_type_enum_name">OFF</span>
1814 </li>
1815 <li>
1816 <span class="entry_type_enum_name">MONO</span>
1817 <span class="entry_type_enum_optional">optional</span>
1818 </li>
1819 <li>
1820 <span class="entry_type_enum_name">NEGATIVE</span>
1821 <span class="entry_type_enum_optional">optional</span>
1822 </li>
1823 <li>
1824 <span class="entry_type_enum_name">SOLARIZE</span>
1825 <span class="entry_type_enum_optional">optional</span>
1826 </li>
1827 <li>
1828 <span class="entry_type_enum_name">SEPIA</span>
1829 <span class="entry_type_enum_optional">optional</span>
1830 </li>
1831 <li>
1832 <span class="entry_type_enum_name">POSTERIZE</span>
1833 <span class="entry_type_enum_optional">optional</span>
1834 </li>
1835 <li>
1836 <span class="entry_type_enum_name">WHITEBOARD</span>
1837 <span class="entry_type_enum_optional">optional</span>
1838 </li>
1839 <li>
1840 <span class="entry_type_enum_name">BLACKBOARD</span>
1841 <span class="entry_type_enum_optional">optional</span>
1842 </li>
1843 <li>
1844 <span class="entry_type_enum_name">AQUA</span>
1845 <span class="entry_type_enum_optional">optional</span>
1846 </li>
1847 </ul>
1848
1849 </td> <!-- entry_type -->
1850
1851 <td class="entry_description">
1852 Whether any special color effect is in use.<wbr>
1853 Only used if android.<wbr>control.<wbr>mode != OFF
1854 </td>
1855
1856 <td class="entry_units">
1857 </td>
1858
1859 <td class="entry_range">
1860 android.<wbr>control.<wbr>available<wbr>Effects
1861 </td>
1862
1863 <td class="entry_notes">
1864 </td>
1865
1866 <td class="entry_tags">
1867 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001868 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001869 </ul>
1870 </td>
1871
1872 </tr> <!-- end of entry -->
1873
1874
1875 <tr class="entry" id="controls_android.control.mode">
1876 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1877 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001878 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001879
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001880 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001881
1882 <ul class="entry_type_enum">
1883 <li>
1884 <span class="entry_type_enum_name">OFF</span>
1885 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1886 routines are disabled,<wbr> no other settings in
1887 android.<wbr>control.<wbr>* have any effect</span>
1888 </li>
1889 <li>
1890 <span class="entry_type_enum_name">AUTO</span>
1891 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1892 Manual control of capture parameters is disabled.<wbr> All
1893 controls in android.<wbr>control.<wbr>* besides sceneMode take
1894 effect</span>
1895 </li>
1896 <li>
1897 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1898 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1899 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1900 controls; the HAL must ignore those settings while
1901 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1902 scene mode).<wbr> Other control entries are still active.<wbr>
1903 This setting can only be used if availableSceneModes !=
1904 UNSUPPORTED</span>
1905 </li>
1906 </ul>
1907
1908 </td> <!-- entry_type -->
1909
1910 <td class="entry_description">
1911 Overall mode of 3A control
1912 routines
1913 </td>
1914
1915 <td class="entry_units">
1916 </td>
1917
1918 <td class="entry_range">
1919 all must be supported
1920 </td>
1921
1922 <td class="entry_notes">
1923 </td>
1924
1925 <td class="entry_tags">
1926 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001927 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001928 </ul>
1929 </td>
1930
1931 </tr> <!-- end of entry -->
1932
1933
1934 <tr class="entry" id="controls_android.control.sceneMode">
1935 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1936 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001937 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001938
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001939 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001940
1941 <ul class="entry_type_enum">
1942 <li>
1943 <span class="entry_type_enum_name">UNSUPPORTED</span>
1944 <span class="entry_type_enum_value">0</span>
1945 </li>
1946 <li>
1947 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1948 <span class="entry_type_enum_notes">if face detection support exists Use face
1949 detection data to drive 3A routines.<wbr> If face detection
1950 statistics are disabled,<wbr> should still operate correctly
1951 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001952 framework).<wbr>
1953
1954 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1955 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1956 compatibility concerns with the old camera
1957 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001958 </li>
1959 <li>
1960 <span class="entry_type_enum_name">ACTION</span>
1961 <span class="entry_type_enum_optional">optional</span>
1962 </li>
1963 <li>
1964 <span class="entry_type_enum_name">PORTRAIT</span>
1965 <span class="entry_type_enum_optional">optional</span>
1966 </li>
1967 <li>
1968 <span class="entry_type_enum_name">LANDSCAPE</span>
1969 <span class="entry_type_enum_optional">optional</span>
1970 </li>
1971 <li>
1972 <span class="entry_type_enum_name">NIGHT</span>
1973 <span class="entry_type_enum_optional">optional</span>
1974 </li>
1975 <li>
1976 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1977 <span class="entry_type_enum_optional">optional</span>
1978 </li>
1979 <li>
1980 <span class="entry_type_enum_name">THEATRE</span>
1981 <span class="entry_type_enum_optional">optional</span>
1982 </li>
1983 <li>
1984 <span class="entry_type_enum_name">BEACH</span>
1985 <span class="entry_type_enum_optional">optional</span>
1986 </li>
1987 <li>
1988 <span class="entry_type_enum_name">SNOW</span>
1989 <span class="entry_type_enum_optional">optional</span>
1990 </li>
1991 <li>
1992 <span class="entry_type_enum_name">SUNSET</span>
1993 <span class="entry_type_enum_optional">optional</span>
1994 </li>
1995 <li>
1996 <span class="entry_type_enum_name">STEADYPHOTO</span>
1997 <span class="entry_type_enum_optional">optional</span>
1998 </li>
1999 <li>
2000 <span class="entry_type_enum_name">FIREWORKS</span>
2001 <span class="entry_type_enum_optional">optional</span>
2002 </li>
2003 <li>
2004 <span class="entry_type_enum_name">SPORTS</span>
2005 <span class="entry_type_enum_optional">optional</span>
2006 </li>
2007 <li>
2008 <span class="entry_type_enum_name">PARTY</span>
2009 <span class="entry_type_enum_optional">optional</span>
2010 </li>
2011 <li>
2012 <span class="entry_type_enum_name">CANDLELIGHT</span>
2013 <span class="entry_type_enum_optional">optional</span>
2014 </li>
2015 <li>
2016 <span class="entry_type_enum_name">BARCODE</span>
2017 <span class="entry_type_enum_optional">optional</span>
2018 </li>
2019 </ul>
2020
2021 </td> <!-- entry_type -->
2022
2023 <td class="entry_description">
2024 Which scene mode is active when
2025 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2026 </td>
2027
2028 <td class="entry_units">
2029 </td>
2030
2031 <td class="entry_range">
2032 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2033 </td>
2034
2035 <td class="entry_notes">
2036 </td>
2037
2038 <td class="entry_tags">
2039 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002040 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002041 </ul>
2042 </td>
2043
2044 </tr> <!-- end of entry -->
2045
2046
2047 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2048 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2049 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002050 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002051
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002052 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002053
2054 <ul class="entry_type_enum">
2055 <li>
2056 <span class="entry_type_enum_name">OFF</span>
2057 </li>
2058 <li>
2059 <span class="entry_type_enum_name">ON</span>
2060 </li>
2061 </ul>
2062
2063 </td> <!-- entry_type -->
2064
2065 <td class="entry_description">
2066 Whether video stabilization is
2067 active
2068 </td>
2069
2070 <td class="entry_units">
2071 </td>
2072
2073 <td class="entry_range">
2074 </td>
2075
2076 <td class="entry_notes">
2077 If enabled,<wbr> video stabilization can modify the
2078 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2079 stabilized
2080 </td>
2081
2082 <td class="entry_tags">
2083 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002084 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002085 </ul>
2086 </td>
2087
2088 </tr> <!-- end of entry -->
2089
2090
2091
2092 <!-- end of kind -->
2093 </tbody>
2094 <tr><td colspan="7" class="kind">static</td></tr>
2095
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002096 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002097 <tr>
2098 <th class="th_name">Property Name</th>
2099 <th class="th_type">Type</th>
2100 <th class="th_description">Description</th>
2101 <th class="th_units">Units</th>
2102 <th class="th_range">Range</th>
2103 <th class="th_notes">Notes</th>
2104 <th class="th_tags">Tags</th>
2105 </tr>
2106 </thead>
2107
2108 <tbody>
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2120 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2121 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002122 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002123 <span class="entry_type_container">x</span>
2124
2125 <span class="entry_type_array">
2126 n
2127 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002128 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002129 <div class="entry_type_notes">list of enums</div>
2130
2131
2132 </td> <!-- entry_type -->
2133
2134 <td class="entry_description">
2135 Which set of antibanding modes are
2136 supported
2137 </td>
2138
2139 <td class="entry_units">
2140 </td>
2141
2142 <td class="entry_range">
2143 </td>
2144
2145 <td class="entry_notes">
2146 </td>
2147
2148 <td class="entry_tags">
2149 </td>
2150
2151 </tr> <!-- end of entry -->
2152
2153
2154 <tr class="entry" id="static_android.control.aeAvailableModes">
2155 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2156 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002157 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002158 <span class="entry_type_container">x</span>
2159
2160 <span class="entry_type_array">
2161 n
2162 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002163 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002164 <div class="entry_type_notes">list of enums</div>
2165
2166
2167 </td> <!-- entry_type -->
2168
2169 <td class="entry_description">
2170 Which subset of AE modes is
2171 supported
2172 </td>
2173
2174 <td class="entry_units">
2175 </td>
2176
2177 <td class="entry_range">
2178 OFF,<wbr> ON must be supported.<wbr>
2179 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2180 unit is available
2181 </td>
2182
2183 <td class="entry_notes">
2184 </td>
2185
2186 <td class="entry_tags">
2187 </td>
2188
2189 </tr> <!-- end of entry -->
2190
2191
2192 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2193 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2194 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002195 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002196 <span class="entry_type_container">x</span>
2197
2198 <span class="entry_type_array">
2199 2 x n
2200 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002201 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002202 <div class="entry_type_notes">list of pairs of frame rates</div>
2203
2204
2205 </td> <!-- entry_type -->
2206
2207 <td class="entry_description">
2208 List of frame rate ranges supported by the
2209 AE algorithm/<wbr>hardware
2210 </td>
2211
2212 <td class="entry_units">
2213 </td>
2214
2215 <td class="entry_range">
2216 </td>
2217
2218 <td class="entry_notes">
2219 </td>
2220
2221 <td class="entry_tags">
2222 </td>
2223
2224 </tr> <!-- end of entry -->
2225
2226
2227 <tr class="entry" id="static_android.control.aeCompensationRange">
2228 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2229 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002230 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002231 <span class="entry_type_container">x</span>
2232
2233 <span class="entry_type_array">
2234 2
2235 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002236 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002237
2238
2239 </td> <!-- entry_type -->
2240
2241 <td class="entry_description">
2242 Maximum and minimum exposure compensation
2243 setting,<wbr> in counts of
2244 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2245 </td>
2246
2247 <td class="entry_units">
2248 </td>
2249
2250 <td class="entry_range">
2251 At least (-2,<wbr>2)/<wbr>(exp compensation step
2252 size)
2253 </td>
2254
2255 <td class="entry_notes">
2256 </td>
2257
2258 <td class="entry_tags">
2259 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002260 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002261 </ul>
2262 </td>
2263
2264 </tr> <!-- end of entry -->
2265
2266
2267 <tr class="entry" id="static_android.control.aeCompensationStep">
2268 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2269 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002270 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002271
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002272 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002273
2274
2275 </td> <!-- entry_type -->
2276
2277 <td class="entry_description">
2278 Smallest step by which exposure compensation
2279 can be changed
2280 </td>
2281
2282 <td class="entry_units">
2283 </td>
2284
2285 <td class="entry_range">
2286 <= 1/<wbr>2
2287 </td>
2288
2289 <td class="entry_notes">
2290 </td>
2291
2292 <td class="entry_tags">
2293 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002294 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002295 </ul>
2296 </td>
2297
2298 </tr> <!-- end of entry -->
2299
2300
2301 <tr class="entry" id="static_android.control.afAvailableModes">
2302 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2303 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002304 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002305 <span class="entry_type_container">x</span>
2306
2307 <span class="entry_type_array">
2308 n
2309 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002310 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002311 <div class="entry_type_notes">List of enums</div>
2312
2313
2314 </td> <!-- entry_type -->
2315
2316 <td class="entry_description">
2317 List of AF modes that can be
2318 selected
2319 </td>
2320
2321 <td class="entry_units">
2322 </td>
2323
2324 <td class="entry_range">
2325 OFF must be included.<wbr> AUTO must be supported if
2326 lens allows for changing focus
2327 </td>
2328
2329 <td class="entry_notes">
2330 </td>
2331
2332 <td class="entry_tags">
2333 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002334 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002335 </ul>
2336 </td>
2337
2338 </tr> <!-- end of entry -->
2339
2340
2341 <tr class="entry" id="static_android.control.availableEffects">
2342 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2343 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002344 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002345 <span class="entry_type_container">x</span>
2346
2347 <span class="entry_type_array">
2348 n
2349 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002350 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002351 <div class="entry_type_notes">list of enums</div>
2352
2353
2354 </td> <!-- entry_type -->
2355
2356 <td class="entry_description">
2357 what subset of the full color effect enum
2358 list is supported
2359 </td>
2360
2361 <td class="entry_units">
2362 </td>
2363
2364 <td class="entry_range">
2365 OFF must be listed
2366 </td>
2367
2368 <td class="entry_notes">
2369 </td>
2370
2371 <td class="entry_tags">
2372 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002373 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002374 </ul>
2375 </td>
2376
2377 </tr> <!-- end of entry -->
2378
2379
2380 <tr class="entry" id="static_android.control.availableSceneModes">
2381 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2382 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002383 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002384 <span class="entry_type_container">x</span>
2385
2386 <span class="entry_type_array">
2387 n
2388 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002389 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002390 <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>
2391
2392
2393 </td> <!-- entry_type -->
2394
2395 <td class="entry_description">
2396 what subset of the scene mode enum list is
2397 supported.<wbr>
2398 </td>
2399
2400 <td class="entry_units">
2401 </td>
2402
2403 <td class="entry_range">
2404 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2405 detection is supported
2406 </td>
2407
2408 <td class="entry_notes">
2409 </td>
2410
2411 <td class="entry_tags">
2412 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002413 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002414 </ul>
2415 </td>
2416
2417 </tr> <!-- end of entry -->
2418
2419
2420 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2421 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2422 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002423 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002424 <span class="entry_type_container">x</span>
2425
2426 <span class="entry_type_array">
2427 n
2428 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002429 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002430 <div class="entry_type_notes">List of enums.<wbr></div>
2431
2432
2433 </td> <!-- entry_type -->
2434
2435 <td class="entry_description">
2436 List of video stabilization modes that can
2437 be supported
2438 </td>
2439
2440 <td class="entry_units">
2441 </td>
2442
2443 <td class="entry_range">
2444 OFF must be included
2445 </td>
2446
2447 <td class="entry_notes">
2448 </td>
2449
2450 <td class="entry_tags">
2451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002452 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002453 </ul>
2454 </td>
2455
2456 </tr> <!-- end of entry -->
2457
2458
2459 <tr class="entry" id="static_android.control.awbAvailableModes">
2460 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2461 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002462 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002463 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002464
Alex Raya4251d92013-04-30 16:43:44 -07002465 <span class="entry_type_array">
2466 n
2467 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002468 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002469 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002470
2471
2472 </td> <!-- entry_type -->
2473
2474 <td class="entry_description">
2475 </td>
2476
2477 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002478 </td>
2479
2480 <td class="entry_range">
2481 OFF,<wbr> AUTO must be included
2482 </td>
2483
2484 <td class="entry_notes">
2485 </td>
2486
2487 <td class="entry_tags">
2488 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002489 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002490 </ul>
2491 </td>
2492
2493 </tr> <!-- end of entry -->
2494
2495
2496 <tr class="entry" id="static_android.control.maxRegions">
2497 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2498 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002499 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002500
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002501 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002502
2503
2504 </td> <!-- entry_type -->
2505
2506 <td class="entry_description">
2507 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2508 regions can be listed for metering?
2509 </td>
2510
2511 <td class="entry_units">
2512 </td>
2513
2514 <td class="entry_range">
2515 >= 1
2516 </td>
2517
2518 <td class="entry_notes">
2519 </td>
2520
2521 <td class="entry_tags">
2522 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002523 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002524 </ul>
2525 </td>
2526
2527 </tr> <!-- end of entry -->
2528
2529
2530 <tr class="entry" id="static_android.control.sceneModeOverrides">
2531 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2532 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002533 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002534 <span class="entry_type_container">x</span>
2535
2536 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002537 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002538 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002539 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002540
2541
2542 </td> <!-- entry_type -->
2543
2544 <td class="entry_description">
2545 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2546 each available scene mode
2547 </td>
2548
2549 <td class="entry_units">
2550 </td>
2551
2552 <td class="entry_range">
2553 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2554 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002555 scene mode.<wbr>
2556
2557 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2558 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002559 </td>
2560
2561 <td class="entry_notes">
2562 When a scene mode is enabled,<wbr> the HAL is expected
2563 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002564 preferred settings for that scene mode.<wbr>
2565<br>
2566<br> To simplify communication with old camera API applications,<wbr>
2567 the service wants this override list in the static metadata.<wbr>
2568 The order of this list matches that of availableSceneModes,<wbr>
2569 with 3 entires for each scene mode.<wbr> The overrides listed
2570 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2571 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2572 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2573 AUTO.<wbr>
2574<br>
2575<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2576 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2577 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2578 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2579 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2580 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002581 </td>
2582
2583 <td class="entry_tags">
2584 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002585 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002586 </ul>
2587 </td>
2588
2589 </tr> <!-- end of entry -->
2590
2591
2592
2593 <!-- end of kind -->
2594 </tbody>
2595 <tr><td colspan="7" class="kind">dynamic</td></tr>
2596
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002597 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002598 <tr>
2599 <th class="th_name">Property Name</th>
2600 <th class="th_type">Type</th>
2601 <th class="th_description">Description</th>
2602 <th class="th_units">Units</th>
2603 <th class="th_range">Range</th>
2604 <th class="th_notes">Notes</th>
2605 <th class="th_tags">Tags</th>
2606 </tr>
2607 </thead>
2608
2609 <tbody>
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2621 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2622 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002623 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002624
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002625 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002626
2627
2628 </td> <!-- entry_type -->
2629
2630 <td class="entry_description">
2631 The ID sent with the latest
2632 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2633 </td>
2634
2635 <td class="entry_units">
2636 </td>
2637
2638 <td class="entry_range">
2639 </td>
2640
2641 <td class="entry_notes">
2642 Must be 0 if no
2643 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2644 by HAL.<wbr> Always updated even if AE algorithm ignores the
2645 trigger
2646 </td>
2647
2648 <td class="entry_tags">
2649 </td>
2650
2651 </tr> <!-- end of entry -->
2652
2653
2654 <tr class="entry" id="dynamic_android.control.aeRegions">
2655 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2656 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002657 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002658 <span class="entry_type_container">x</span>
2659
2660 <span class="entry_type_array">
2661 5 x area_count
2662 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002663 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002664
2665
2666 </td> <!-- entry_type -->
2667
2668 <td class="entry_description">
2669 List of areas to use for
2670 metering
2671 </td>
2672
2673 <td class="entry_units">
2674 </td>
2675
2676 <td class="entry_range">
2677 </td>
2678
2679 <td class="entry_notes">
2680 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002681 xmax,<wbr> ymax,<wbr> weight.<wbr>
2682<br>
2683<br> The coordinate system is based on the active pixel array,<wbr>
2684 with (0,<wbr>0) being the top-left of the active pixel array,<wbr> and
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002685 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2686 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2687 bottom-right point of the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002688 should be nonnegative.<wbr>
2689<br>
2690<br> If all regions have 0 weight,<wbr> then no specific metering area
2691 needs to be used by the HAL.<wbr> If the metering region is
2692 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2693 should ignore the sections outside the region and output the
2694 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002695 </td>
2696
2697 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002698 <ul class="entry_tags">
2699 <li><a href="#tag_BC">BC</a></li>
2700 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002701 </td>
2702
2703 </tr> <!-- end of entry -->
2704
2705
2706 <tr class="entry" id="dynamic_android.control.aeState">
2707 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2708 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002709 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002710
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002711 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002712
2713 <ul class="entry_type_enum">
2714 <li>
2715 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002716 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2717 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002718 </li>
2719 <li>
2720 <span class="entry_type_enum_name">SEARCHING</span>
2721 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2722 for the current scene</span>
2723 </li>
2724 <li>
2725 <span class="entry_type_enum_name">CONVERGED</span>
2726 <span class="entry_type_enum_notes">AE has a good set of control values for the
2727 current scene</span>
2728 </li>
2729 <li>
2730 <span class="entry_type_enum_name">LOCKED</span>
2731 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2732 LOCKED)</span>
2733 </li>
2734 <li>
2735 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2736 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2737 needs to be fired for good quality still
2738 capture</span>
2739 </li>
2740 <li>
2741 <span class="entry_type_enum_name">PRECAPTURE</span>
2742 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2743 (through the
2744 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2745 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2746 completes,<wbr> AE will transition to CONVERGED or
2747 FLASH_<wbr>REQUIRED as appropriate</span>
2748 </li>
2749 </ul>
2750
2751 </td> <!-- entry_type -->
2752
2753 <td class="entry_description">
2754 Current state of AE algorithm
2755 </td>
2756
2757 <td class="entry_units">
2758 </td>
2759
2760 <td class="entry_range">
2761 </td>
2762
2763 <td class="entry_notes">
2764 Whenever the AE algorithm state changes,<wbr> a
2765 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2766 notification callback is registered.<wbr>
2767 </td>
2768
2769 <td class="entry_tags">
2770 </td>
2771
2772 </tr> <!-- end of entry -->
2773
2774
2775 <tr class="entry" id="dynamic_android.control.afMode">
2776 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2777 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002778 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002779
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002780 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002781
2782 <ul class="entry_type_enum">
2783 <li>
2784 <span class="entry_type_enum_name">OFF</span>
2785 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002786 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002787 application</span>
2788 </li>
2789 <li>
2790 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002791 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2792
2793 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2794 is fixed focus In this mode,<wbr> the lens does not move unless
2795 the autofocus trigger action is called.<wbr> When that trigger
2796 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2797 the outcome of the scan (FOCUSED or
2798 NOT_<wbr>FOCUSED).<wbr>
2799
2800 Triggering cancel AF resets the lens position to default,<wbr>
2801 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002802 </li>
2803 <li>
2804 <span class="entry_type_enum_name">MACRO</span>
2805 <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 -07002806 autofocus trigger action is called.<wbr>
2807
2808 When that trigger is activated,<wbr> AF must transition to
2809 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2810 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2811 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002812 INACTIVE.<wbr></span>
2813 </li>
2814 <li>
2815 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2816 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2817 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002818 constantly-in-focus image stream.<wbr>
2819
2820 The focusing behavior should be suitable for good quality
2821 video recording; typically this means slower focus
2822 movement and no overshoots.<wbr> When the AF trigger is not
2823 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2824 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2825 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2826 the algorithm should immediately transition into
2827 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2828 lens position until a cancel AF trigger is received.<wbr>
2829
2830 Once cancel is received,<wbr> the algorithm should transition
2831 back to INACTIVE and resume passive scan.<wbr> Note that this
2832 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2833 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002834 canceled.<wbr></span>
2835 </li>
2836 <li>
2837 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2838 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2839 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002840 constantly-in-focus image stream.<wbr>
2841
2842 The focusing behavior should be suitable for still image
2843 capture; typically this means focusing as fast as
2844 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2845 algorithm should start in INACTIVE state,<wbr> and then
2846 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2847 appropriate as it attempts to maintain focus.<wbr> When the AF
2848 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002849 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002850 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2851 lens position until a cancel AF trigger is received.<wbr>
2852
2853 When the AF cancel trigger is activated,<wbr> the algorithm
2854 should transition back to INACTIVE and then act as if it
2855 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002856 </li>
2857 <li>
2858 <span class="entry_type_enum_name">EDOF</span>
2859 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2860 trigger is ignored,<wbr> AF state should always be
2861 INACTIVE.<wbr></span>
2862 </li>
2863 </ul>
2864
2865 </td> <!-- entry_type -->
2866
2867 <td class="entry_description">
2868 Whether AF is currently enabled,<wbr> and what
2869 mode it is set to
2870 </td>
2871
2872 <td class="entry_units">
2873 </td>
2874
2875 <td class="entry_range">
2876 </td>
2877
2878 <td class="entry_notes">
2879 </td>
2880
2881 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002882 <ul class="entry_tags">
2883 <li><a href="#tag_BC">BC</a></li>
2884 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002885 </td>
2886
2887 </tr> <!-- end of entry -->
2888
2889
2890 <tr class="entry" id="dynamic_android.control.afRegions">
2891 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2892 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002893 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002894 <span class="entry_type_container">x</span>
2895
2896 <span class="entry_type_array">
2897 5 x area_count
2898 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002899 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900
2901
2902 </td> <!-- entry_type -->
2903
2904 <td class="entry_description">
2905 List of areas to use for focus
2906 estimation
2907 </td>
2908
2909 <td class="entry_units">
2910 </td>
2911
2912 <td class="entry_range">
2913 </td>
2914
2915 <td class="entry_notes">
2916 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002917 xmax,<wbr> ymax,<wbr> weight.<wbr>
2918<br>
2919<br> The coordinate system is based on the active pixel array,<wbr>
2920 with (0,<wbr>0) being the top-left of the active pixel array,<wbr> and
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002921 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2922 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2923 bottom-right point of the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002924 should be nonnegative.<wbr>
2925<br>
2926<br> If all regions have 0 weight,<wbr> then no specific focus area
2927 needs to be used by the HAL.<wbr> If the focusing region is
2928 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2929 should ignore the sections outside the region and output the
2930 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002931 </td>
2932
2933 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002934 <ul class="entry_tags">
2935 <li><a href="#tag_BC">BC</a></li>
2936 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002937 </td>
2938
2939 </tr> <!-- end of entry -->
2940
2941
2942 <tr class="entry" id="dynamic_android.control.afState">
2943 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2944 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002945 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002946
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002947 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002948
2949 <ul class="entry_type_enum">
2950 <li>
2951 <span class="entry_type_enum_name">INACTIVE</span>
2952 <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 -07002953 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2954 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002955 </li>
2956 <li>
2957 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2958 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2959 currently doing an AF scan initiated by a continuous
2960 autofocus mode</span>
2961 </li>
2962 <li>
2963 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2964 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2965 believes it is in focus,<wbr> but may restart scanning at
2966 any time.<wbr></span>
2967 </li>
2968 <li>
2969 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2970 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2971 an AF scan because it was triggered by AF
2972 trigger</span>
2973 </li>
2974 <li>
2975 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2976 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2977 believes it is focused correctly and is
2978 locked</span>
2979 </li>
2980 <li>
2981 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2982 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2983 failed to focus successfully and is
2984 locked</span>
2985 </li>
2986 </ul>
2987
2988 </td> <!-- entry_type -->
2989
2990 <td class="entry_description">
2991 Current state of AF algorithm
2992 </td>
2993
2994 <td class="entry_units">
2995 </td>
2996
2997 <td class="entry_range">
2998 </td>
2999
3000 <td class="entry_notes">
3001 Whenever the AF algorithm state changes,<wbr> a
3002 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3003 callback is registered.<wbr>
3004 </td>
3005
3006 <td class="entry_tags">
3007 </td>
3008
3009 </tr> <!-- end of entry -->
3010
3011
3012 <tr class="entry" id="dynamic_android.control.afTriggerId">
3013 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003015 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003016
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003017 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003018
3019
3020 </td> <!-- entry_type -->
3021
3022 <td class="entry_description">
3023 The ID sent with the latest
3024 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3025 </td>
3026
3027 <td class="entry_units">
3028 </td>
3029
3030 <td class="entry_range">
3031 </td>
3032
3033 <td class="entry_notes">
3034 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3035 received yet by HAL.<wbr> Always updated even if AF algorithm
3036 ignores the trigger
3037 </td>
3038
3039 <td class="entry_tags">
3040 </td>
3041
3042 </tr> <!-- end of entry -->
3043
3044
3045 <tr class="entry" id="dynamic_android.control.awbMode">
3046 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3047 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003048 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003049
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003050 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003051
3052 <ul class="entry_type_enum">
3053 <li>
3054 <span class="entry_type_enum_name">OFF</span>
3055 </li>
3056 <li>
3057 <span class="entry_type_enum_name">AUTO</span>
3058 </li>
3059 <li>
3060 <span class="entry_type_enum_name">INCANDESCENT</span>
3061 </li>
3062 <li>
3063 <span class="entry_type_enum_name">FLUORESCENT</span>
3064 </li>
3065 <li>
3066 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3067 </li>
3068 <li>
3069 <span class="entry_type_enum_name">DAYLIGHT</span>
3070 </li>
3071 <li>
3072 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3073 </li>
3074 <li>
3075 <span class="entry_type_enum_name">TWILIGHT</span>
3076 </li>
3077 <li>
3078 <span class="entry_type_enum_name">SHADE</span>
3079 </li>
3080 </ul>
3081
3082 </td> <!-- entry_type -->
3083
3084 <td class="entry_description">
3085 Whether AWB is currently setting the color
3086 transform fields,<wbr> and what its illumination target
3087 is
3088 </td>
3089
3090 <td class="entry_units">
3091 </td>
3092
3093 <td class="entry_range">
3094 </td>
3095
3096 <td class="entry_notes">
3097 [BC - AWB lock,<wbr>AWB modes]
3098 </td>
3099
3100 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003101 <ul class="entry_tags">
3102 <li><a href="#tag_BC">BC</a></li>
3103 <li><a href="#tag_AWB">AWB</a></li>
3104 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003105 </td>
3106
3107 </tr> <!-- end of entry -->
3108
3109
3110 <tr class="entry" id="dynamic_android.control.awbRegions">
3111 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3112 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003113 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003114 <span class="entry_type_container">x</span>
3115
3116 <span class="entry_type_array">
3117 5 x area_count
3118 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003119 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003120
3121
3122 </td> <!-- entry_type -->
3123
3124 <td class="entry_description">
3125 List of areas to use for illuminant
3126 estimation
3127 </td>
3128
3129 <td class="entry_units">
3130 </td>
3131
3132 <td class="entry_range">
3133 </td>
3134
3135 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003136 Only used in AUTO mode.<wbr>
3137<br>
3138<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr>
3139 ymax,<wbr> weight.<wbr> The coordinate system is based on the active
3140 pixel array,<wbr> with (0,<wbr>0) being the top-left of the active
3141 pixel array,<wbr> and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003142 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
3143 bottom-right point of the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003144 should be nonnegative.<wbr>
3145<br>
3146<br> If all regions have 0 weight,<wbr> then no specific metering area
3147 needs to be used by the HAL.<wbr> If the metering region is
3148 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3149 should ignore the sections outside the region and output the
3150 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003151 </td>
3152
3153 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003154 <ul class="entry_tags">
3155 <li><a href="#tag_BC">BC</a></li>
3156 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003157 </td>
3158
3159 </tr> <!-- end of entry -->
3160
3161
3162 <tr class="entry" id="dynamic_android.control.awbState">
3163 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3164 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003165 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003166
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003167 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003168
3169 <ul class="entry_type_enum">
3170 <li>
3171 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003172 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3173 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003174 </li>
3175 <li>
3176 <span class="entry_type_enum_name">SEARCHING</span>
3177 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3178 values for the current scene</span>
3179 </li>
3180 <li>
3181 <span class="entry_type_enum_name">CONVERGED</span>
3182 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3183 current scene</span>
3184 </li>
3185 <li>
3186 <span class="entry_type_enum_name">LOCKED</span>
3187 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3188 LOCKED)</span>
3189 </li>
3190 </ul>
3191
3192 </td> <!-- entry_type -->
3193
3194 <td class="entry_description">
3195 Current state of AWB algorithm
3196 </td>
3197
3198 <td class="entry_units">
3199 </td>
3200
3201 <td class="entry_range">
3202 </td>
3203
3204 <td class="entry_notes">
3205 Whenever the AWB algorithm state changes,<wbr> a
3206 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3207 notification callback is registered.<wbr>
3208 </td>
3209
3210 <td class="entry_tags">
3211 </td>
3212
3213 </tr> <!-- end of entry -->
3214
3215
3216 <tr class="entry" id="dynamic_android.control.mode">
3217 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3218 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003219 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003220
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003221 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003222
3223 <ul class="entry_type_enum">
3224 <li>
3225 <span class="entry_type_enum_name">OFF</span>
3226 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3227 routines are disabled,<wbr> no other settings in
3228 android.<wbr>control.<wbr>* have any effect</span>
3229 </li>
3230 <li>
3231 <span class="entry_type_enum_name">AUTO</span>
3232 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3233 Manual control of capture parameters is disabled.<wbr> All
3234 controls in android.<wbr>control.<wbr>* besides sceneMode take
3235 effect</span>
3236 </li>
3237 <li>
3238 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3239 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3240 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3241 controls; the HAL must ignore those settings while
3242 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3243 scene mode).<wbr> Other control entries are still active.<wbr>
3244 This setting can only be used if availableSceneModes !=
3245 UNSUPPORTED</span>
3246 </li>
3247 </ul>
3248
3249 </td> <!-- entry_type -->
3250
3251 <td class="entry_description">
3252 Overall mode of 3A control
3253 routines
3254 </td>
3255
3256 <td class="entry_units">
3257 </td>
3258
3259 <td class="entry_range">
3260 all must be supported
3261 </td>
3262
3263 <td class="entry_notes">
3264 </td>
3265
3266 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003267 <ul class="entry_tags">
3268 <li><a href="#tag_BC">BC</a></li>
3269 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003270 </td>
3271
3272 </tr> <!-- end of entry -->
3273
3274
3275
3276 <!-- end of kind -->
3277 </tbody>
3278
3279 <!-- end of section -->
3280 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3281
3282
3283 <tr><td colspan="7" class="kind">controls</td></tr>
3284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003285 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003286 <tr>
3287 <th class="th_name">Property Name</th>
3288 <th class="th_type">Type</th>
3289 <th class="th_description">Description</th>
3290 <th class="th_units">Units</th>
3291 <th class="th_range">Range</th>
3292 <th class="th_notes">Notes</th>
3293 <th class="th_tags">Tags</th>
3294 </tr>
3295 </thead>
3296
3297 <tbody>
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308 <tr class="entry" id="controls_android.demosaic.mode">
3309 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3310 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003311 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003312
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003313 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003314
3315 <ul class="entry_type_enum">
3316 <li>
3317 <span class="entry_type_enum_name">FAST</span>
3318 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3319 Bayer RAW output</span>
3320 </li>
3321 <li>
3322 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3323 <span class="entry_type_enum_notes">High-quality may reduce output frame
3324 rate</span>
3325 </li>
3326 </ul>
3327
3328 </td> <!-- entry_type -->
3329
3330 <td class="entry_description">
3331 Controls the quality of the demosaicing
3332 processing
3333 </td>
3334
3335 <td class="entry_units">
3336 </td>
3337
3338 <td class="entry_range">
3339 </td>
3340
3341 <td class="entry_notes">
3342 </td>
3343
3344 <td class="entry_tags">
3345 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003346 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003347 </ul>
3348 </td>
3349
3350 </tr> <!-- end of entry -->
3351
3352
3353
3354 <!-- end of kind -->
3355 </tbody>
3356
3357 <!-- end of section -->
3358 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3359
3360
3361 <tr><td colspan="7" class="kind">controls</td></tr>
3362
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003363 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003364 <tr>
3365 <th class="th_name">Property Name</th>
3366 <th class="th_type">Type</th>
3367 <th class="th_description">Description</th>
3368 <th class="th_units">Units</th>
3369 <th class="th_range">Range</th>
3370 <th class="th_notes">Notes</th>
3371 <th class="th_tags">Tags</th>
3372 </tr>
3373 </thead>
3374
3375 <tbody>
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386 <tr class="entry" id="controls_android.edge.mode">
3387 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3388 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003389 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003390
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003391 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003392
3393 <ul class="entry_type_enum">
3394 <li>
3395 <span class="entry_type_enum_name">OFF</span>
3396 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3397 </li>
3398 <li>
3399 <span class="entry_type_enum_name">FAST</span>
3400 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3401 bayer output</span>
3402 </li>
3403 <li>
3404 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3405 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3406 quality</span>
3407 </li>
3408 </ul>
3409
3410 </td> <!-- entry_type -->
3411
3412 <td class="entry_description">
3413 Operation mode for edge
3414 enhancement
3415 </td>
3416
3417 <td class="entry_units">
3418 </td>
3419
3420 <td class="entry_range">
3421 </td>
3422
3423 <td class="entry_notes">
3424 </td>
3425
3426 <td class="entry_tags">
3427 </td>
3428
3429 </tr> <!-- end of entry -->
3430
3431
3432 <tr class="entry" id="controls_android.edge.strength">
3433 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003435 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003436
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003437 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003438
3439
3440 </td> <!-- entry_type -->
3441
3442 <td class="entry_description">
3443 Control the amount of edge enhancement
3444 applied to the images
3445 </td>
3446
3447 <td class="entry_units">
3448 1-10; 10 is maximum sharpening
3449 </td>
3450
3451 <td class="entry_range">
3452 </td>
3453
3454 <td class="entry_notes">
3455 </td>
3456
3457 <td class="entry_tags">
3458 </td>
3459
3460 </tr> <!-- end of entry -->
3461
3462
3463
3464 <!-- end of kind -->
3465 </tbody>
3466 <tr><td colspan="7" class="kind">dynamic</td></tr>
3467
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003468 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003469 <tr>
3470 <th class="th_name">Property Name</th>
3471 <th class="th_type">Type</th>
3472 <th class="th_description">Description</th>
3473 <th class="th_units">Units</th>
3474 <th class="th_range">Range</th>
3475 <th class="th_notes">Notes</th>
3476 <th class="th_tags">Tags</th>
3477 </tr>
3478 </thead>
3479
3480 <tbody>
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491 <tr class="entry" id="dynamic_android.edge.mode">
3492 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3493 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003494 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003495
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003496 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003497
3498 <ul class="entry_type_enum">
3499 <li>
3500 <span class="entry_type_enum_name">OFF</span>
3501 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3502 </li>
3503 <li>
3504 <span class="entry_type_enum_name">FAST</span>
3505 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3506 bayer output</span>
3507 </li>
3508 <li>
3509 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3510 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3511 quality</span>
3512 </li>
3513 </ul>
3514
3515 </td> <!-- entry_type -->
3516
3517 <td class="entry_description">
3518 Operation mode for edge
3519 enhancement
3520 </td>
3521
3522 <td class="entry_units">
3523 </td>
3524
3525 <td class="entry_range">
3526 </td>
3527
3528 <td class="entry_notes">
3529 </td>
3530
3531 <td class="entry_tags">
3532 </td>
3533
3534 </tr> <!-- end of entry -->
3535
3536
3537
3538 <!-- end of kind -->
3539 </tbody>
3540
3541 <!-- end of section -->
3542 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3543
3544
3545 <tr><td colspan="7" class="kind">controls</td></tr>
3546
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003547 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003548 <tr>
3549 <th class="th_name">Property Name</th>
3550 <th class="th_type">Type</th>
3551 <th class="th_description">Description</th>
3552 <th class="th_units">Units</th>
3553 <th class="th_range">Range</th>
3554 <th class="th_notes">Notes</th>
3555 <th class="th_tags">Tags</th>
3556 </tr>
3557 </thead>
3558
3559 <tbody>
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570 <tr class="entry" id="controls_android.flash.firingPower">
3571 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3572 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003573 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003574
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003575 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003576
3577
3578 </td> <!-- entry_type -->
3579
3580 <td class="entry_description">
3581 Power for flash firing/<wbr>torch
3582 </td>
3583
3584 <td class="entry_units">
3585 10 is max power; 0 is no flash.<wbr> Linear
3586 </td>
3587
3588 <td class="entry_range">
3589 0 - 10
3590 </td>
3591
3592 <td class="entry_notes">
3593 Power for snapshot may use a different scale than
3594 for torch mode.<wbr> Only one entry for torch mode will be
3595 used
3596 </td>
3597
3598 <td class="entry_tags">
3599 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003600 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003601 </ul>
3602 </td>
3603
3604 </tr> <!-- end of entry -->
3605
3606
3607 <tr class="entry" id="controls_android.flash.firingTime">
3608 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3609 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003610 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003611
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003612 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003613
3614
3615 </td> <!-- entry_type -->
3616
3617 <td class="entry_description">
3618 Firing time of flash relative to start of
3619 exposure
3620 </td>
3621
3622 <td class="entry_units">
3623 nanoseconds
3624 </td>
3625
3626 <td class="entry_range">
3627 0-(exposure time-flash duration)
3628 </td>
3629
3630 <td class="entry_notes">
3631 Clamped to (0,<wbr> exposure time - flash
3632 duration).<wbr>
3633 </td>
3634
3635 <td class="entry_tags">
3636 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003637 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003638 </ul>
3639 </td>
3640
3641 </tr> <!-- end of entry -->
3642
3643
3644 <tr class="entry" id="controls_android.flash.mode">
3645 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3646 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003647 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003648
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003649 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003650
3651 <ul class="entry_type_enum">
3652 <li>
3653 <span class="entry_type_enum_name">OFF</span>
3654 <span class="entry_type_enum_notes">Do not fire the flash for this
3655 capture</span>
3656 </li>
3657 <li>
3658 <span class="entry_type_enum_name">SINGLE</span>
3659 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3660 for this capture based on firingPower,<wbr>
3661 firingTime.<wbr></span>
3662 </li>
3663 <li>
3664 <span class="entry_type_enum_name">TORCH</span>
3665 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3666 continuously on,<wbr> power set by
3667 firingPower</span>
3668 </li>
3669 </ul>
3670
3671 </td> <!-- entry_type -->
3672
3673 <td class="entry_description">
3674 Select flash operation mode
3675 </td>
3676
3677 <td class="entry_units">
3678 </td>
3679
3680 <td class="entry_range">
3681 </td>
3682
3683 <td class="entry_notes">
3684 </td>
3685
3686 <td class="entry_tags">
3687 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003688 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003689 </ul>
3690 </td>
3691
3692 </tr> <!-- end of entry -->
3693
3694
3695
3696 <!-- end of kind -->
3697 </tbody>
3698 <tr><td colspan="7" class="kind">static</td></tr>
3699
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003700 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003701 <tr>
3702 <th class="th_name">Property Name</th>
3703 <th class="th_type">Type</th>
3704 <th class="th_description">Description</th>
3705 <th class="th_units">Units</th>
3706 <th class="th_range">Range</th>
3707 <th class="th_notes">Notes</th>
3708 <th class="th_tags">Tags</th>
3709 </tr>
3710 </thead>
3711
3712 <tbody>
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725 <tr class="entry" id="static_android.flash.info.available">
3726 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003728 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003729
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003730 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003731
3732
3733 </td> <!-- entry_type -->
3734
3735 <td class="entry_description">
3736 Whether this camera has a
3737 flash
3738 </td>
3739
3740 <td class="entry_units">
3741 boolean (0 = false,<wbr> otherwise true)
3742 </td>
3743
3744 <td class="entry_range">
3745 </td>
3746
3747 <td class="entry_notes">
3748 If no flash,<wbr> none of the flash controls do
3749 anything.<wbr> All other metadata should return 0
3750 </td>
3751
3752 <td class="entry_tags">
3753 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003754 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003755 </ul>
3756 </td>
3757
3758 </tr> <!-- end of entry -->
3759
3760
3761 <tr class="entry" id="static_android.flash.info.chargeDuration">
3762 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3763 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003764 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003765
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003766 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003767
3768
3769 </td> <!-- entry_type -->
3770
3771 <td class="entry_description">
3772 Time taken before flash can fire
3773 again
3774 </td>
3775
3776 <td class="entry_units">
3777 nanoseconds
3778 </td>
3779
3780 <td class="entry_range">
3781 0-1e9
3782 </td>
3783
3784 <td class="entry_notes">
3785 1 second too long/<wbr>too short for recharge? Should
3786 this be power-dependent?
3787 </td>
3788
3789 <td class="entry_tags">
3790 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003791 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003792 </ul>
3793 </td>
3794
3795 </tr> <!-- end of entry -->
3796
3797
3798
3799
3800
3801 <tr class="entry" id="static_android.flash.colorTemperature">
3802 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3803 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003804 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003805
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003806 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003807
3808
3809 </td> <!-- entry_type -->
3810
3811 <td class="entry_description">
3812 The x,<wbr>y whitepoint of the
3813 flash
3814 </td>
3815
3816 <td class="entry_units">
3817 pair of floats
3818 </td>
3819
3820 <td class="entry_range">
3821 0-1 for both
3822 </td>
3823
3824 <td class="entry_notes">
3825 </td>
3826
3827 <td class="entry_tags">
3828 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003829 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003830 </ul>
3831 </td>
3832
3833 </tr> <!-- end of entry -->
3834
3835
3836 <tr class="entry" id="static_android.flash.maxEnergy">
3837 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3838 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003839 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003840
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003841 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003842
3843
3844 </td> <!-- entry_type -->
3845
3846 <td class="entry_description">
3847 Max energy output of the flash for a full
3848 power single flash
3849 </td>
3850
3851 <td class="entry_units">
3852 lumen-seconds
3853 </td>
3854
3855 <td class="entry_range">
3856 >= 0
3857 </td>
3858
3859 <td class="entry_notes">
3860 </td>
3861
3862 <td class="entry_tags">
3863 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003864 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003865 </ul>
3866 </td>
3867
3868 </tr> <!-- end of entry -->
3869
3870
3871
3872 <!-- end of kind -->
3873 </tbody>
3874 <tr><td colspan="7" class="kind">dynamic</td></tr>
3875
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003876 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003877 <tr>
3878 <th class="th_name">Property Name</th>
3879 <th class="th_type">Type</th>
3880 <th class="th_description">Description</th>
3881 <th class="th_units">Units</th>
3882 <th class="th_range">Range</th>
3883 <th class="th_notes">Notes</th>
3884 <th class="th_tags">Tags</th>
3885 </tr>
3886 </thead>
3887
3888 <tbody>
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899 <tr class="entry" id="dynamic_android.flash.firingPower">
3900 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3901 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003902 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003903
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003904 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003905
3906
3907 </td> <!-- entry_type -->
3908
3909 <td class="entry_description">
3910 Power for flash firing/<wbr>torch
3911 </td>
3912
3913 <td class="entry_units">
3914 10 is max power; 0 is no flash.<wbr> Linear
3915 </td>
3916
3917 <td class="entry_range">
3918 0 - 10
3919 </td>
3920
3921 <td class="entry_notes">
3922 Power for snapshot may use a different scale than
3923 for torch mode.<wbr> Only one entry for torch mode will be
3924 used
3925 </td>
3926
3927 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003928 <ul class="entry_tags">
3929 <li><a href="#tag_V1">V1</a></li>
3930 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003931 </td>
3932
3933 </tr> <!-- end of entry -->
3934
3935
3936 <tr class="entry" id="dynamic_android.flash.firingTime">
3937 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3938 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003939 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003940
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003941 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003942
3943
3944 </td> <!-- entry_type -->
3945
3946 <td class="entry_description">
3947 Firing time of flash relative to start of
3948 exposure
3949 </td>
3950
3951 <td class="entry_units">
3952 nanoseconds
3953 </td>
3954
3955 <td class="entry_range">
3956 0-(exposure time-flash duration)
3957 </td>
3958
3959 <td class="entry_notes">
3960 Clamped to (0,<wbr> exposure time - flash
3961 duration).<wbr>
3962 </td>
3963
3964 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003965 <ul class="entry_tags">
3966 <li><a href="#tag_V1">V1</a></li>
3967 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003968 </td>
3969
3970 </tr> <!-- end of entry -->
3971
3972
3973 <tr class="entry" id="dynamic_android.flash.mode">
3974 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3975 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003976 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003977
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003978 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003979
3980 <ul class="entry_type_enum">
3981 <li>
3982 <span class="entry_type_enum_name">OFF</span>
3983 <span class="entry_type_enum_notes">Do not fire the flash for this
3984 capture</span>
3985 </li>
3986 <li>
3987 <span class="entry_type_enum_name">SINGLE</span>
3988 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3989 for this capture based on firingPower,<wbr>
3990 firingTime.<wbr></span>
3991 </li>
3992 <li>
3993 <span class="entry_type_enum_name">TORCH</span>
3994 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3995 continuously on,<wbr> power set by
3996 firingPower</span>
3997 </li>
3998 </ul>
3999
4000 </td> <!-- entry_type -->
4001
4002 <td class="entry_description">
4003 Select flash operation mode
4004 </td>
4005
4006 <td class="entry_units">
4007 </td>
4008
4009 <td class="entry_range">
4010 </td>
4011
4012 <td class="entry_notes">
4013 </td>
4014
4015 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004016 <ul class="entry_tags">
4017 <li><a href="#tag_BC">BC</a></li>
4018 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004019 </td>
4020
4021 </tr> <!-- end of entry -->
4022
4023
4024 <tr class="entry" id="dynamic_android.flash.state">
4025 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4026 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004027 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004028
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004029 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004030
4031 <ul class="entry_type_enum">
4032 <li>
4033 <span class="entry_type_enum_name">UNAVAILABLE</span>
4034 <span class="entry_type_enum_notes">No flash on camera</span>
4035 </li>
4036 <li>
4037 <span class="entry_type_enum_name">CHARGING</span>
4038 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4039 charging and cannot be fired</span>
4040 </li>
4041 <li>
4042 <span class="entry_type_enum_name">READY</span>
4043 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4044 ready to fire</span>
4045 </li>
4046 <li>
4047 <span class="entry_type_enum_name">FIRED</span>
4048 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4049 for this capture</span>
4050 </li>
4051 </ul>
4052
4053 </td> <!-- entry_type -->
4054
4055 <td class="entry_description">
4056 Current state of the flash
4057 unit
4058 </td>
4059
4060 <td class="entry_units">
4061 </td>
4062
4063 <td class="entry_range">
4064 </td>
4065
4066 <td class="entry_notes">
4067 </td>
4068
4069 <td class="entry_tags">
4070 </td>
4071
4072 </tr> <!-- end of entry -->
4073
4074
4075
4076 <!-- end of kind -->
4077 </tbody>
4078
4079 <!-- end of section -->
4080 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4081
4082
4083 <tr><td colspan="7" class="kind">controls</td></tr>
4084
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004085 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004086 <tr>
4087 <th class="th_name">Property Name</th>
4088 <th class="th_type">Type</th>
4089 <th class="th_description">Description</th>
4090 <th class="th_units">Units</th>
4091 <th class="th_range">Range</th>
4092 <th class="th_notes">Notes</th>
4093 <th class="th_tags">Tags</th>
4094 </tr>
4095 </thead>
4096
4097 <tbody>
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108 <tr class="entry" id="controls_android.geometric.mode">
4109 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4110 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004111 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004112
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004113 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004114
4115 <ul class="entry_type_enum">
4116 <li>
4117 <span class="entry_type_enum_name">OFF</span>
4118 <span class="entry_type_enum_notes">No geometric correction is
4119 applied</span>
4120 </li>
4121 <li>
4122 <span class="entry_type_enum_name">FAST</span>
4123 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4124 bayer output</span>
4125 </li>
4126 <li>
4127 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4128 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4129 quality</span>
4130 </li>
4131 </ul>
4132
4133 </td> <!-- entry_type -->
4134
4135 <td class="entry_description">
4136 Operating mode of geometric
4137 correction
4138 </td>
4139
4140 <td class="entry_units">
4141 </td>
4142
4143 <td class="entry_range">
4144 </td>
4145
4146 <td class="entry_notes">
4147 </td>
4148
4149 <td class="entry_tags">
4150 </td>
4151
4152 </tr> <!-- end of entry -->
4153
4154
4155 <tr class="entry" id="controls_android.geometric.strength">
4156 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4157 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004158 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004159
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004160 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004161
4162
4163 </td> <!-- entry_type -->
4164
4165 <td class="entry_description">
4166 Control the amount of shading correction
4167 applied to the images
4168 </td>
4169
4170 <td class="entry_units">
4171 unitless: 1-10; 10 is full shading
4172 compensation
4173 </td>
4174
4175 <td class="entry_range">
4176 </td>
4177
4178 <td class="entry_notes">
4179 </td>
4180
4181 <td class="entry_tags">
4182 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004183 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004184 </ul>
4185 </td>
4186
4187 </tr> <!-- end of entry -->
4188
4189
4190
4191 <!-- end of kind -->
4192 </tbody>
4193
4194 <!-- end of section -->
4195 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4196
4197
4198 <tr><td colspan="7" class="kind">controls</td></tr>
4199
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004200 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004201 <tr>
4202 <th class="th_name">Property Name</th>
4203 <th class="th_type">Type</th>
4204 <th class="th_description">Description</th>
4205 <th class="th_units">Units</th>
4206 <th class="th_range">Range</th>
4207 <th class="th_notes">Notes</th>
4208 <th class="th_tags">Tags</th>
4209 </tr>
4210 </thead>
4211
4212 <tbody>
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223 <tr class="entry" id="controls_android.hotPixel.mode">
4224 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4225 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004226 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004227
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004228 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004229
4230 <ul class="entry_type_enum">
4231 <li>
4232 <span class="entry_type_enum_name">OFF</span>
4233 <span class="entry_type_enum_notes">No hot pixel correction can be
4234 applied</span>
4235 </li>
4236 <li>
4237 <span class="entry_type_enum_name">FAST</span>
4238 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4239 Bayer output</span>
4240 </li>
4241 <li>
4242 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4243 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4244 quality</span>
4245 </li>
4246 </ul>
4247
4248 </td> <!-- entry_type -->
4249
4250 <td class="entry_description">
4251 Set operational mode for hot pixel
4252 correction
4253 </td>
4254
4255 <td class="entry_units">
4256 </td>
4257
4258 <td class="entry_range">
4259 </td>
4260
4261 <td class="entry_notes">
4262 </td>
4263
4264 <td class="entry_tags">
4265 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004266 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004267 </ul>
4268 </td>
4269
4270 </tr> <!-- end of entry -->
4271
4272
4273
4274 <!-- end of kind -->
4275 </tbody>
4276 <tr><td colspan="7" class="kind">static</td></tr>
4277
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004278 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004279 <tr>
4280 <th class="th_name">Property Name</th>
4281 <th class="th_type">Type</th>
4282 <th class="th_description">Description</th>
4283 <th class="th_units">Units</th>
4284 <th class="th_range">Range</th>
4285 <th class="th_notes">Notes</th>
4286 <th class="th_tags">Tags</th>
4287 </tr>
4288 </thead>
4289
4290 <tbody>
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303 <tr class="entry" id="static_android.hotPixel.info.map">
4304 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4305 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004306 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004307 <span class="entry_type_container">x</span>
4308
4309 <span class="entry_type_array">
4310 2 x n
4311 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004312 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004313 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4314
4315
4316 </td> <!-- entry_type -->
4317
4318 <td class="entry_description">
4319 Location of hot/<wbr>defective pixels on
4320 sensor
4321 </td>
4322
4323 <td class="entry_units">
4324 </td>
4325
4326 <td class="entry_range">
4327 </td>
4328
4329 <td class="entry_notes">
4330 </td>
4331
4332 <td class="entry_tags">
4333 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004334 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004335 </ul>
4336 </td>
4337
4338 </tr> <!-- end of entry -->
4339
4340
4341
4342
4343
4344
4345 <!-- end of kind -->
4346 </tbody>
4347 <tr><td colspan="7" class="kind">dynamic</td></tr>
4348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004349 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004350 <tr>
4351 <th class="th_name">Property Name</th>
4352 <th class="th_type">Type</th>
4353 <th class="th_description">Description</th>
4354 <th class="th_units">Units</th>
4355 <th class="th_range">Range</th>
4356 <th class="th_notes">Notes</th>
4357 <th class="th_tags">Tags</th>
4358 </tr>
4359 </thead>
4360
4361 <tbody>
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372 <tr class="entry" id="dynamic_android.hotPixel.mode">
4373 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4374 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004375 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004376
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004377 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004378
4379 <ul class="entry_type_enum">
4380 <li>
4381 <span class="entry_type_enum_name">OFF</span>
4382 <span class="entry_type_enum_notes">No hot pixel correction can be
4383 applied</span>
4384 </li>
4385 <li>
4386 <span class="entry_type_enum_name">FAST</span>
4387 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4388 Bayer output</span>
4389 </li>
4390 <li>
4391 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4392 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4393 quality</span>
4394 </li>
4395 </ul>
4396
4397 </td> <!-- entry_type -->
4398
4399 <td class="entry_description">
4400 Set operational mode for hot pixel
4401 correction
4402 </td>
4403
4404 <td class="entry_units">
4405 </td>
4406
4407 <td class="entry_range">
4408 </td>
4409
4410 <td class="entry_notes">
4411 </td>
4412
4413 <td class="entry_tags">
4414 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004415 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004416 </ul>
4417 </td>
4418
4419 </tr> <!-- end of entry -->
4420
4421
4422
4423 <!-- end of kind -->
4424 </tbody>
4425
4426 <!-- end of section -->
4427 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4428
4429
4430 <tr><td colspan="7" class="kind">controls</td></tr>
4431
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004432 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004433 <tr>
4434 <th class="th_name">Property Name</th>
4435 <th class="th_type">Type</th>
4436 <th class="th_description">Description</th>
4437 <th class="th_units">Units</th>
4438 <th class="th_range">Range</th>
4439 <th class="th_notes">Notes</th>
4440 <th class="th_tags">Tags</th>
4441 </tr>
4442 </thead>
4443
4444 <tbody>
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4456 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004458 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004459 <span class="entry_type_container">x</span>
4460
4461 <span class="entry_type_array">
4462 3
4463 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004464 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004465 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4466
4467
4468 </td> <!-- entry_type -->
4469
4470 <td class="entry_description">
4471 GPS coordinates to include in output JPEG
4472 EXIF
4473 </td>
4474
4475 <td class="entry_units">
4476 </td>
4477
4478 <td class="entry_range">
4479 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4480 </td>
4481
4482 <td class="entry_notes">
4483 </td>
4484
4485 <td class="entry_tags">
4486 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004487 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004488 </ul>
4489 </td>
4490
4491 </tr> <!-- end of entry -->
4492
4493
4494 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4495 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4496 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004497 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004498
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004499 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004500
4501
4502 </td> <!-- entry_type -->
4503
4504 <td class="entry_description">
4505 32 characters describing GPS algorithm to
4506 include in EXIF
4507 </td>
4508
4509 <td class="entry_units">
4510 UTF-8 null-terminated string
4511 </td>
4512
4513 <td class="entry_range">
4514 </td>
4515
4516 <td class="entry_notes">
4517 </td>
4518
4519 <td class="entry_tags">
4520 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004521 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004522 </ul>
4523 </td>
4524
4525 </tr> <!-- end of entry -->
4526
4527
4528 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4529 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4530 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004531 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004532
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004533 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004534
4535
4536 </td> <!-- entry_type -->
4537
4538 <td class="entry_description">
4539 Time GPS fix was made to include in
4540 EXIF
4541 </td>
4542
4543 <td class="entry_units">
4544 UTC in seconds since January 1,<wbr> 1970
4545 </td>
4546
4547 <td class="entry_range">
4548 </td>
4549
4550 <td class="entry_notes">
4551 </td>
4552
4553 <td class="entry_tags">
4554 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004555 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004556 </ul>
4557 </td>
4558
4559 </tr> <!-- end of entry -->
4560
4561
4562 <tr class="entry" id="controls_android.jpeg.orientation">
4563 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004565 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004566
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004567 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004568
4569
4570 </td> <!-- entry_type -->
4571
4572 <td class="entry_description">
4573 Orientation of JPEG image to
4574 write
4575 </td>
4576
4577 <td class="entry_units">
4578 Degrees in multiples of 90
4579 </td>
4580
4581 <td class="entry_range">
4582 0,<wbr> 90,<wbr> 180,<wbr> 270
4583 </td>
4584
4585 <td class="entry_notes">
4586 </td>
4587
4588 <td class="entry_tags">
4589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004591 </ul>
4592 </td>
4593
4594 </tr> <!-- end of entry -->
4595
4596
4597 <tr class="entry" id="controls_android.jpeg.quality">
4598 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4599 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004600 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004602 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004603
4604
4605 </td> <!-- entry_type -->
4606
4607 <td class="entry_description">
4608 Compression quality of the final JPEG
4609 image
4610 </td>
4611
4612 <td class="entry_units">
4613 </td>
4614
4615 <td class="entry_range">
4616 1-100; larger is higher quality
4617 </td>
4618
4619 <td class="entry_notes">
4620 85-95 is typical usage range
4621 </td>
4622
4623 <td class="entry_tags">
4624 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004625 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004626 </ul>
4627 </td>
4628
4629 </tr> <!-- end of entry -->
4630
4631
4632 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4633 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4634 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004635 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004636
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004637 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004638
4639
4640 </td> <!-- entry_type -->
4641
4642 <td class="entry_description">
4643 Compression quality of JPEG
4644 thumbnail
4645 </td>
4646
4647 <td class="entry_units">
4648 </td>
4649
4650 <td class="entry_range">
4651 1-100; larger is higher quality
4652 </td>
4653
4654 <td class="entry_notes">
4655 </td>
4656
4657 <td class="entry_tags">
4658 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004659 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004660 </ul>
4661 </td>
4662
4663 </tr> <!-- end of entry -->
4664
4665
4666 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4667 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004669 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004670 <span class="entry_type_container">x</span>
4671
4672 <span class="entry_type_array">
4673 2
4674 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004675 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004676
4677
4678 </td> <!-- entry_type -->
4679
4680 <td class="entry_description">
4681 Resolution of embedded JPEG
4682 thumbnail
4683 </td>
4684
4685 <td class="entry_units">
4686 </td>
4687
4688 <td class="entry_range">
4689 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4690 </td>
4691
4692 <td class="entry_notes">
4693 </td>
4694
4695 <td class="entry_tags">
4696 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004697 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004698 </ul>
4699 </td>
4700
4701 </tr> <!-- end of entry -->
4702
4703
4704
4705 <!-- end of kind -->
4706 </tbody>
4707 <tr><td colspan="7" class="kind">static</td></tr>
4708
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004709 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004710 <tr>
4711 <th class="th_name">Property Name</th>
4712 <th class="th_type">Type</th>
4713 <th class="th_description">Description</th>
4714 <th class="th_units">Units</th>
4715 <th class="th_range">Range</th>
4716 <th class="th_notes">Notes</th>
4717 <th class="th_tags">Tags</th>
4718 </tr>
4719 </thead>
4720
4721 <tbody>
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4733 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004735 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004736 <span class="entry_type_container">x</span>
4737
4738 <span class="entry_type_array">
4739 2 x n
4740 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004741 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004742 <div class="entry_type_notes">list of resolution pairs</div>
4743
4744
4745 </td> <!-- entry_type -->
4746
4747 <td class="entry_description">
4748 Supported resolutions for the JPEG
4749 thumbnail
4750 </td>
4751
4752 <td class="entry_units">
4753 </td>
4754
4755 <td class="entry_range">
4756 Must include at least one valid resolution,<wbr> plus
4757 (0,<wbr>0) for no thumbnail generation
4758 </td>
4759
4760 <td class="entry_notes">
4761 </td>
4762
4763 <td class="entry_tags">
4764 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004765 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004766 </ul>
4767 </td>
4768
4769 </tr> <!-- end of entry -->
4770
4771
4772 <tr class="entry" id="static_android.jpeg.maxSize">
4773 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4774 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004775 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004776
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004777 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004778
4779
4780 </td> <!-- entry_type -->
4781
4782 <td class="entry_description">
4783 Maximum size in bytes for the compressed
4784 JPEG buffer
4785 </td>
4786
4787 <td class="entry_units">
4788 </td>
4789
4790 <td class="entry_range">
4791 Must be large enough to fit any JPEG produced by
4792 the camera
4793 </td>
4794
4795 <td class="entry_notes">
4796 This is used for sizing the gralloc buffers for
4797 JPEG
4798 </td>
4799
4800 <td class="entry_tags">
4801 </td>
4802
4803 </tr> <!-- end of entry -->
4804
4805
4806
4807 <!-- end of kind -->
4808 </tbody>
4809 <tr><td colspan="7" class="kind">dynamic</td></tr>
4810
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004811 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004812 <tr>
4813 <th class="th_name">Property Name</th>
4814 <th class="th_type">Type</th>
4815 <th class="th_description">Description</th>
4816 <th class="th_units">Units</th>
4817 <th class="th_range">Range</th>
4818 <th class="th_notes">Notes</th>
4819 <th class="th_tags">Tags</th>
4820 </tr>
4821 </thead>
4822
4823 <tbody>
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4835 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4836 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004837 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004838 <span class="entry_type_container">x</span>
4839
4840 <span class="entry_type_array">
4841 3
4842 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004843 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004844 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4845
4846
4847 </td> <!-- entry_type -->
4848
4849 <td class="entry_description">
4850 GPS coordinates to include in output JPEG
4851 EXIF
4852 </td>
4853
4854 <td class="entry_units">
4855 </td>
4856
4857 <td class="entry_range">
4858 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4859 </td>
4860
4861 <td class="entry_notes">
4862 </td>
4863
4864 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004865 <ul class="entry_tags">
4866 <li><a href="#tag_BC">BC</a></li>
4867 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004868 </td>
4869
4870 </tr> <!-- end of entry -->
4871
4872
4873 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4874 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4875 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004876 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004877
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004878 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004879
4880
4881 </td> <!-- entry_type -->
4882
4883 <td class="entry_description">
4884 32 characters describing GPS algorithm to
4885 include in EXIF
4886 </td>
4887
4888 <td class="entry_units">
4889 UTF-8 null-terminated string
4890 </td>
4891
4892 <td class="entry_range">
4893 </td>
4894
4895 <td class="entry_notes">
4896 </td>
4897
4898 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004899 <ul class="entry_tags">
4900 <li><a href="#tag_BC">BC</a></li>
4901 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004902 </td>
4903
4904 </tr> <!-- end of entry -->
4905
4906
4907 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4908 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4909 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004910 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004911
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004912 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004913
4914
4915 </td> <!-- entry_type -->
4916
4917 <td class="entry_description">
4918 Time GPS fix was made to include in
4919 EXIF
4920 </td>
4921
4922 <td class="entry_units">
4923 UTC in seconds since January 1,<wbr> 1970
4924 </td>
4925
4926 <td class="entry_range">
4927 </td>
4928
4929 <td class="entry_notes">
4930 </td>
4931
4932 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004933 <ul class="entry_tags">
4934 <li><a href="#tag_BC">BC</a></li>
4935 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004936 </td>
4937
4938 </tr> <!-- end of entry -->
4939
4940
4941 <tr class="entry" id="dynamic_android.jpeg.orientation">
4942 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4943 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004944 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004945
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004946 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004947
4948
4949 </td> <!-- entry_type -->
4950
4951 <td class="entry_description">
4952 Orientation of JPEG image to
4953 write
4954 </td>
4955
4956 <td class="entry_units">
4957 Degrees in multiples of 90
4958 </td>
4959
4960 <td class="entry_range">
4961 0,<wbr> 90,<wbr> 180,<wbr> 270
4962 </td>
4963
4964 <td class="entry_notes">
4965 </td>
4966
4967 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004968 <ul class="entry_tags">
4969 <li><a href="#tag_BC">BC</a></li>
4970 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004971 </td>
4972
4973 </tr> <!-- end of entry -->
4974
4975
4976 <tr class="entry" id="dynamic_android.jpeg.quality">
4977 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4978 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004979 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004980
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004981 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004982
4983
4984 </td> <!-- entry_type -->
4985
4986 <td class="entry_description">
4987 Compression quality of the final JPEG
4988 image
4989 </td>
4990
4991 <td class="entry_units">
4992 </td>
4993
4994 <td class="entry_range">
4995 1-100; larger is higher quality
4996 </td>
4997
4998 <td class="entry_notes">
4999 85-95 is typical usage range
5000 </td>
5001
5002 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005003 <ul class="entry_tags">
5004 <li><a href="#tag_BC">BC</a></li>
5005 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005006 </td>
5007
5008 </tr> <!-- end of entry -->
5009
5010
5011 <tr class="entry" id="dynamic_android.jpeg.size">
5012 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5013 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005014 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005015
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005016 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005017
5018
5019 </td> <!-- entry_type -->
5020
5021 <td class="entry_description">
5022 The size of the compressed JPEG image,<wbr> in
5023 bytes
5024 </td>
5025
5026 <td class="entry_units">
5027 </td>
5028
5029 <td class="entry_range">
5030 >= 0
5031 </td>
5032
5033 <td class="entry_notes">
5034 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005035 this must be 0.<wbr>
5036<br>
5037<br> Otherwise,<wbr> this describes the real size of the compressed
5038 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5039 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5040 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5041 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5042 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005043 </td>
5044
5045 <td class="entry_tags">
5046 </td>
5047
5048 </tr> <!-- end of entry -->
5049
5050
5051 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5052 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5053 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005054 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005055
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005056 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005057
5058
5059 </td> <!-- entry_type -->
5060
5061 <td class="entry_description">
5062 Compression quality of JPEG
5063 thumbnail
5064 </td>
5065
5066 <td class="entry_units">
5067 </td>
5068
5069 <td class="entry_range">
5070 1-100; larger is higher quality
5071 </td>
5072
5073 <td class="entry_notes">
5074 </td>
5075
5076 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005077 <ul class="entry_tags">
5078 <li><a href="#tag_BC">BC</a></li>
5079 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080 </td>
5081
5082 </tr> <!-- end of entry -->
5083
5084
5085 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5086 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5087 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005088 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005089 <span class="entry_type_container">x</span>
5090
5091 <span class="entry_type_array">
5092 2
5093 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005094 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005095
5096
5097 </td> <!-- entry_type -->
5098
5099 <td class="entry_description">
5100 Resolution of embedded JPEG
5101 thumbnail
5102 </td>
5103
5104 <td class="entry_units">
5105 </td>
5106
5107 <td class="entry_range">
5108 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5109 </td>
5110
5111 <td class="entry_notes">
5112 </td>
5113
5114 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005115 <ul class="entry_tags">
5116 <li><a href="#tag_BC">BC</a></li>
5117 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005118 </td>
5119
5120 </tr> <!-- end of entry -->
5121
5122
5123
5124 <!-- end of kind -->
5125 </tbody>
5126
5127 <!-- end of section -->
5128 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5129
5130
5131 <tr><td colspan="7" class="kind">controls</td></tr>
5132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005133 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134 <tr>
5135 <th class="th_name">Property Name</th>
5136 <th class="th_type">Type</th>
5137 <th class="th_description">Description</th>
5138 <th class="th_units">Units</th>
5139 <th class="th_range">Range</th>
5140 <th class="th_notes">Notes</th>
5141 <th class="th_tags">Tags</th>
5142 </tr>
5143 </thead>
5144
5145 <tbody>
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156 <tr class="entry" id="controls_android.lens.aperture">
5157 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5158 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005159 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005160
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005161 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005162
5163
5164 </td> <!-- entry_type -->
5165
5166 <td class="entry_description">
5167 Size of the lens aperture
5168 </td>
5169
5170 <td class="entry_units">
5171 f-number (f/<wbr>NNN)
5172 </td>
5173
5174 <td class="entry_range">
5175 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5176 </td>
5177
5178 <td class="entry_notes">
5179 Will not be supported on most devices.<wbr> Can only
5180 pick from supported list
5181 </td>
5182
5183 <td class="entry_tags">
5184 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005185 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005186 </ul>
5187 </td>
5188
5189 </tr> <!-- end of entry -->
5190
5191
5192 <tr class="entry" id="controls_android.lens.filterDensity">
5193 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5194 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005195 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005197 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005198
5199
5200 </td> <!-- entry_type -->
5201
5202 <td class="entry_description">
5203 State of lens neutral density
5204 filter(s)
5205 </td>
5206
5207 <td class="entry_units">
5208 number of stops of filtering
5209 </td>
5210
5211 <td class="entry_range">
5212 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5213 </td>
5214
5215 <td class="entry_notes">
5216 Will not be supported on most devices.<wbr> Can only
5217 pick from supported list
5218 </td>
5219
5220 <td class="entry_tags">
5221 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005222 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005223 </ul>
5224 </td>
5225
5226 </tr> <!-- end of entry -->
5227
5228
5229 <tr class="entry" id="controls_android.lens.focalLength">
5230 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5231 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005232 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005233
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005234 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005235
5236
5237 </td> <!-- entry_type -->
5238
5239 <td class="entry_description">
5240 Lens optical zoom setting
5241 </td>
5242
5243 <td class="entry_units">
5244 focal length in mm
5245 </td>
5246
5247 <td class="entry_range">
5248 > 0
5249 </td>
5250
5251 <td class="entry_notes">
5252 Will not be supported on most devices.<wbr>
5253 </td>
5254
5255 <td class="entry_tags">
5256 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005257 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005258 </ul>
5259 </td>
5260
5261 </tr> <!-- end of entry -->
5262
5263
5264 <tr class="entry" id="controls_android.lens.focusDistance">
5265 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5266 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005267 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005268
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005269 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005270
5271
5272 </td> <!-- entry_type -->
5273
5274 <td class="entry_description">
5275 Distance to plane of sharpest focus,<wbr>
5276 measured from frontmost surface of the lens
5277 </td>
5278
5279 <td class="entry_units">
5280 diopters (1/<wbr>m)
5281 </td>
5282
5283 <td class="entry_range">
5284 >= 0
5285 </td>
5286
5287 <td class="entry_notes">
5288 0 = infinity focus.<wbr> Used value should be clamped
5289 to (0,<wbr>minimum focus distance)
5290 </td>
5291
5292 <td class="entry_tags">
5293 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005294 <li><a href="#tag_BC">BC</a></li>
5295 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005296 </ul>
5297 </td>
5298
5299 </tr> <!-- end of entry -->
5300
5301
5302 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5303 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5304 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005305 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005306
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005307 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005308
5309 <ul class="entry_type_enum">
5310 <li>
5311 <span class="entry_type_enum_name">OFF</span>
5312 </li>
5313 <li>
5314 <span class="entry_type_enum_name">ON</span>
5315 <span class="entry_type_enum_optional">optional</span>
5316 </li>
5317 </ul>
5318
5319 </td> <!-- entry_type -->
5320
5321 <td class="entry_description">
5322 Whether optical image stabilization is
5323 enabled.<wbr>
5324 </td>
5325
5326 <td class="entry_units">
5327 </td>
5328
5329 <td class="entry_range">
5330 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5331 </td>
5332
5333 <td class="entry_notes">
5334 Will not be supported on most devices.<wbr>
5335 </td>
5336
5337 <td class="entry_tags">
5338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005339 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005340 </ul>
5341 </td>
5342
5343 </tr> <!-- end of entry -->
5344
5345
5346
5347 <!-- end of kind -->
5348 </tbody>
5349 <tr><td colspan="7" class="kind">static</td></tr>
5350
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005351 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005352 <tr>
5353 <th class="th_name">Property Name</th>
5354 <th class="th_type">Type</th>
5355 <th class="th_description">Description</th>
5356 <th class="th_units">Units</th>
5357 <th class="th_range">Range</th>
5358 <th class="th_notes">Notes</th>
5359 <th class="th_tags">Tags</th>
5360 </tr>
5361 </thead>
5362
5363 <tbody>
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376 <tr class="entry" id="static_android.lens.info.availableApertures">
5377 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5378 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005379 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005380 <span class="entry_type_container">x</span>
5381
5382 <span class="entry_type_array">
5383 n
5384 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005385 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005386
5387
5388 </td> <!-- entry_type -->
5389
5390 <td class="entry_description">
5391 List of supported aperture
5392 values
5393 </td>
5394
5395 <td class="entry_units">
5396 </td>
5397
5398 <td class="entry_range">
5399 one entry required,<wbr> > 0
5400 </td>
5401
5402 <td class="entry_notes">
5403 If variable aperture not available,<wbr> only setting
5404 should be for the fixed aperture
5405 </td>
5406
5407 <td class="entry_tags">
5408 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005409 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005410 </ul>
5411 </td>
5412
5413 </tr> <!-- end of entry -->
5414
5415
5416 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5417 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5418 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005419 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005420 <span class="entry_type_container">x</span>
5421
5422 <span class="entry_type_array">
5423 n
5424 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005425 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005426
5427
5428 </td> <!-- entry_type -->
5429
5430 <td class="entry_description">
5431 List of supported ND filter
5432 values
5433 </td>
5434
5435 <td class="entry_units">
5436 </td>
5437
5438 <td class="entry_range">
5439 one entry required,<wbr> >= 0
5440 </td>
5441
5442 <td class="entry_notes">
5443 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5444 lists the available exposure index values for dimming
5445 (2 would mean the filter is set to reduce incoming
5446 light by two stops)
5447 </td>
5448
5449 <td class="entry_tags">
5450 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005451 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005452 </ul>
5453 </td>
5454
5455 </tr> <!-- end of entry -->
5456
5457
5458 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5459 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5460 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005461 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005462 <span class="entry_type_container">x</span>
5463
5464 <span class="entry_type_array">
5465 n
5466 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005467 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 <div class="entry_type_notes">the list of available focal lengths</div>
5469
5470
5471 </td> <!-- entry_type -->
5472
5473 <td class="entry_description">
5474 If fitted with optical zoom,<wbr> what focal
5475 lengths are available.<wbr> If not,<wbr> the static focal
5476 length
5477 </td>
5478
5479 <td class="entry_units">
5480 </td>
5481
5482 <td class="entry_range">
5483 > 0
5484 </td>
5485
5486 <td class="entry_notes">
5487 If optical zoom not supported,<wbr> only one value
5488 should be reported
5489 </td>
5490
5491 <td class="entry_tags">
5492 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005493 <li><a href="#tag_BC">BC</a></li>
5494 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005495 </ul>
5496 </td>
5497
5498 </tr> <!-- end of entry -->
5499
5500
5501 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5502 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005504 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005505 <span class="entry_type_container">x</span>
5506
5507 <span class="entry_type_array">
5508 n
5509 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005510 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005511 <div class="entry_type_notes">list of enums</div>
5512
5513
5514 </td> <!-- entry_type -->
5515
5516 <td class="entry_description">
5517 List of supported optical image
5518 stabilization modes
5519 </td>
5520
5521 <td class="entry_units">
5522 </td>
5523
5524 <td class="entry_range">
5525 </td>
5526
5527 <td class="entry_notes">
5528 </td>
5529
5530 <td class="entry_tags">
5531 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005532 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005533 </ul>
5534 </td>
5535
5536 </tr> <!-- end of entry -->
5537
5538
5539 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5540 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5541 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005542 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005543 <span class="entry_type_container">x</span>
5544
5545 <span class="entry_type_array">
5546 2 x 3 x n x m
5547 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005548 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005549 <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>
5550
5551
5552 </td> <!-- entry_type -->
5553
5554 <td class="entry_description">
5555 A low-resolution map for correction of
5556 geometric distortions and chromatic aberrations,<wbr> per
5557 color channel
5558 </td>
5559
5560 <td class="entry_units">
5561 </td>
5562
5563 <td class="entry_range">
5564 N,<wbr> M >= 2
5565 </td>
5566
5567 <td class="entry_notes">
5568 [DNG wants a function instead].<wbr> What's easiest
5569 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5570 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5571 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5572 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5573 </td>
5574
5575 <td class="entry_tags">
5576 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005577 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005578 </ul>
5579 </td>
5580
5581 </tr> <!-- end of entry -->
5582
5583
5584 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5585 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5586 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005587 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005588 <span class="entry_type_container">x</span>
5589
5590 <span class="entry_type_array">
5591 2
5592 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005593 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005594 <div class="entry_type_notes">width and height of geometric correction map</div>
5595
5596
5597 </td> <!-- entry_type -->
5598
5599 <td class="entry_description">
5600 Dimensions of geometric correction
5601 map
5602 </td>
5603
5604 <td class="entry_units">
5605 </td>
5606
5607 <td class="entry_range">
5608 Both values >= 2
5609 </td>
5610
5611 <td class="entry_notes">
5612 </td>
5613
5614 <td class="entry_tags">
5615 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005616 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005617 </ul>
5618 </td>
5619
5620 </tr> <!-- end of entry -->
5621
5622
5623 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5624 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005626 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005628 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005629
5630
5631 </td> <!-- entry_type -->
5632
5633 <td class="entry_description">
5634 Hyperfocal distance for this lens; set to
5635 0 if fixed focus
5636 </td>
5637
5638 <td class="entry_units">
5639 diopters
5640 </td>
5641
5642 <td class="entry_range">
5643 >= 0
5644 </td>
5645
5646 <td class="entry_notes">
5647 The hyperfocal distance is used for the old
5648 API's 'fixed' setting
5649 </td>
5650
5651 <td class="entry_tags">
5652 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005653 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005654 </ul>
5655 </td>
5656
5657 </tr> <!-- end of entry -->
5658
5659
5660 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5661 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5662 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005663 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005665 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005666
5667
5668 </td> <!-- entry_type -->
5669
5670 <td class="entry_description">
5671 Shortest distance from frontmost surface
5672 of the lens that can be focused correctly
5673 </td>
5674
5675 <td class="entry_units">
5676 diopters
5677 </td>
5678
5679 <td class="entry_range">
5680 >= 0
5681 </td>
5682
5683 <td class="entry_notes">
5684 If the lens is fixed-focus,<wbr> this should be
5685 0
5686 </td>
5687
5688 <td class="entry_tags">
5689 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005690 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005691 </ul>
5692 </td>
5693
5694 </tr> <!-- end of entry -->
5695
5696
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005697 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5698 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5699 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005700 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005701 <span class="entry_type_container">x</span>
5702
5703 <span class="entry_type_array">
5704 2
5705 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005706 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005707 <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 -08005708
5709
5710 </td> <!-- entry_type -->
5711
5712 <td class="entry_description">
5713 Dimensions of lens shading
5714 map
5715 </td>
5716
5717 <td class="entry_units">
5718 </td>
5719
5720 <td class="entry_range">
5721 Both values >= 1
5722 </td>
5723
5724 <td class="entry_notes">
5725 </td>
5726
5727 <td class="entry_tags">
5728 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005729 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005730 </ul>
5731 </td>
5732
5733 </tr> <!-- end of entry -->
5734
5735
5736
5737
5738
5739 <tr class="entry" id="static_android.lens.facing">
5740 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5741 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005742 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005743
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005744 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005745
5746 <ul class="entry_type_enum">
5747 <li>
5748 <span class="entry_type_enum_name">FRONT</span>
5749 </li>
5750 <li>
5751 <span class="entry_type_enum_name">BACK</span>
5752 </li>
5753 </ul>
5754
5755 </td> <!-- entry_type -->
5756
5757 <td class="entry_description">
5758 Direction the camera faces relative to
5759 device screen
5760 </td>
5761
5762 <td class="entry_units">
5763 </td>
5764
5765 <td class="entry_range">
5766 </td>
5767
5768 <td class="entry_notes">
5769 </td>
5770
5771 <td class="entry_tags">
5772 </td>
5773
5774 </tr> <!-- end of entry -->
5775
5776
5777 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5778 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5779 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005780 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005781 <span class="entry_type_container">x</span>
5782
5783 <span class="entry_type_array">
5784 2
5785 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005786 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005787 <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>
5788
5789
5790 </td> <!-- entry_type -->
5791
5792 <td class="entry_description">
5793 Relative angle of camera optical axis to the
5794 perpendicular axis from the display
5795 </td>
5796
5797 <td class="entry_units">
5798 </td>
5799
5800 <td class="entry_range">
5801 [0-90) for first angle,<wbr> [0-360) for second
5802 </td>
5803
5804 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005805 Examples:
5806<br>
5807<br> (0,<wbr>0) means that the camera optical axis
5808 is perpendicular to the display surface;
5809<br>
5810<br> (45,<wbr>0) means that the camera points 45 degrees up when
5811 device is held upright;
5812<br>
5813<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5814 the device is held upright.<wbr>
5815<br>
5816<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005817 direction
5818 </td>
5819
5820 <td class="entry_tags">
5821 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005822 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005823 </ul>
5824 </td>
5825
5826 </tr> <!-- end of entry -->
5827
5828
5829 <tr class="entry" id="static_android.lens.position">
5830 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5831 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005832 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 <span class="entry_type_container">x</span>
5834
5835 <span class="entry_type_array">
5836 3, location in mm, in the sensor coordinate
5837 system
5838 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005839 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005840
5841
5842 </td> <!-- entry_type -->
5843
5844 <td class="entry_description">
5845 Coordinates of camera optical axis on
5846 device
5847 </td>
5848
5849 <td class="entry_units">
5850 </td>
5851
5852 <td class="entry_range">
5853 </td>
5854
5855 <td class="entry_notes">
5856 </td>
5857
5858 <td class="entry_tags">
5859 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005860 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005861 </ul>
5862 </td>
5863
5864 </tr> <!-- end of entry -->
5865
5866
5867
5868 <!-- end of kind -->
5869 </tbody>
5870 <tr><td colspan="7" class="kind">dynamic</td></tr>
5871
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005872 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005873 <tr>
5874 <th class="th_name">Property Name</th>
5875 <th class="th_type">Type</th>
5876 <th class="th_description">Description</th>
5877 <th class="th_units">Units</th>
5878 <th class="th_range">Range</th>
5879 <th class="th_notes">Notes</th>
5880 <th class="th_tags">Tags</th>
5881 </tr>
5882 </thead>
5883
5884 <tbody>
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895 <tr class="entry" id="dynamic_android.lens.aperture">
5896 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5897 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005898 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005899
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005900 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005901
5902
5903 </td> <!-- entry_type -->
5904
5905 <td class="entry_description">
5906 Size of the lens aperture
5907 </td>
5908
5909 <td class="entry_units">
5910 f-number (f/<wbr>NNN)
5911 </td>
5912
5913 <td class="entry_range">
5914 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5915 </td>
5916
5917 <td class="entry_notes">
5918 Will not be supported on most devices.<wbr> Can only
5919 pick from supported list
5920 </td>
5921
5922 <td class="entry_tags">
5923 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005924 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005925 </ul>
5926 </td>
5927
5928 </tr> <!-- end of entry -->
5929
5930
5931 <tr class="entry" id="dynamic_android.lens.filterDensity">
5932 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5933 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005934 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005936 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005937
5938
5939 </td> <!-- entry_type -->
5940
5941 <td class="entry_description">
5942 State of lens neutral density
5943 filter(s)
5944 </td>
5945
5946 <td class="entry_units">
5947 number of stops of filtering
5948 </td>
5949
5950 <td class="entry_range">
5951 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5952 </td>
5953
5954 <td class="entry_notes">
5955 Will not be supported on most devices.<wbr> Can only
5956 pick from supported list
5957 </td>
5958
5959 <td class="entry_tags">
5960 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005961 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005962 </ul>
5963 </td>
5964
5965 </tr> <!-- end of entry -->
5966
5967
5968 <tr class="entry" id="dynamic_android.lens.focalLength">
5969 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5970 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005971 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005973 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005974
5975
5976 </td> <!-- entry_type -->
5977
5978 <td class="entry_description">
5979 Lens optical zoom setting
5980 </td>
5981
5982 <td class="entry_units">
5983 focal length in mm
5984 </td>
5985
5986 <td class="entry_range">
5987 > 0
5988 </td>
5989
5990 <td class="entry_notes">
5991 Will not be supported on most devices.<wbr>
5992 </td>
5993
5994 <td class="entry_tags">
5995 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005996 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005997 </ul>
5998 </td>
5999
6000 </tr> <!-- end of entry -->
6001
6002
6003 <tr class="entry" id="dynamic_android.lens.focusDistance">
6004 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6005 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006006 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006007
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006008 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006009
6010
6011 </td> <!-- entry_type -->
6012
6013 <td class="entry_description">
6014 Distance to plane of sharpest focus,<wbr>
6015 measured from frontmost surface of the lens
6016 </td>
6017
6018 <td class="entry_units">
6019 diopters (1/<wbr>m)
6020 </td>
6021
6022 <td class="entry_range">
6023 >= 0
6024 </td>
6025
6026 <td class="entry_notes">
6027 Should be zero for fixed-focus cameras
6028 </td>
6029
6030 <td class="entry_tags">
6031 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006032 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006033 </ul>
6034 </td>
6035
6036 </tr> <!-- end of entry -->
6037
6038
6039 <tr class="entry" id="dynamic_android.lens.focusRange">
6040 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6041 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006042 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006043
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006044 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006045
6046
6047 </td> <!-- entry_type -->
6048
6049 <td class="entry_description">
6050 The range of scene distances that are in
6051 sharp focus (depth of field)
6052 </td>
6053
6054 <td class="entry_units">
6055 pair of focus distances in diopters: (near,<wbr>
6056 far)
6057 </td>
6058
6059 <td class="entry_range">
6060 >=0
6061 </td>
6062
6063 <td class="entry_notes">
6064 If variable focus not supported,<wbr> can still report
6065 fixed depth of field range
6066 </td>
6067
6068 <td class="entry_tags">
6069 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006070 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006071 </ul>
6072 </td>
6073
6074 </tr> <!-- end of entry -->
6075
6076
6077 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6078 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6079 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006080 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006082 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006083
6084 <ul class="entry_type_enum">
6085 <li>
6086 <span class="entry_type_enum_name">OFF</span>
6087 </li>
6088 <li>
6089 <span class="entry_type_enum_name">ON</span>
6090 <span class="entry_type_enum_optional">optional</span>
6091 </li>
6092 </ul>
6093
6094 </td> <!-- entry_type -->
6095
6096 <td class="entry_description">
6097 Whether optical image stabilization is
6098 enabled.<wbr>
6099 </td>
6100
6101 <td class="entry_units">
6102 </td>
6103
6104 <td class="entry_range">
6105 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6106 </td>
6107
6108 <td class="entry_notes">
6109 Will not be supported on most devices.<wbr>
6110 </td>
6111
6112 <td class="entry_tags">
6113 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006114 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006115 </ul>
6116 </td>
6117
6118 </tr> <!-- end of entry -->
6119
6120
6121 <tr class="entry" id="dynamic_android.lens.state">
6122 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6123 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006124 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006125
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006126 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006127
6128 <ul class="entry_type_enum">
6129 <li>
6130 <span class="entry_type_enum_name">STATIONARY</span>
6131 </li>
6132 </ul>
6133
6134 </td> <!-- entry_type -->
6135
6136 <td class="entry_description">
6137 Current lens status
6138 </td>
6139
6140 <td class="entry_units">
6141 </td>
6142
6143 <td class="entry_range">
6144 </td>
6145
6146 <td class="entry_notes">
6147 </td>
6148
6149 <td class="entry_tags">
6150 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006151 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006152 </ul>
6153 </td>
6154
6155 </tr> <!-- end of entry -->
6156
6157
6158
6159 <!-- end of kind -->
6160 </tbody>
6161
6162 <!-- end of section -->
6163 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6164
6165
6166 <tr><td colspan="7" class="kind">controls</td></tr>
6167
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006168 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006169 <tr>
6170 <th class="th_name">Property Name</th>
6171 <th class="th_type">Type</th>
6172 <th class="th_description">Description</th>
6173 <th class="th_units">Units</th>
6174 <th class="th_range">Range</th>
6175 <th class="th_notes">Notes</th>
6176 <th class="th_tags">Tags</th>
6177 </tr>
6178 </thead>
6179
6180 <tbody>
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191 <tr class="entry" id="controls_android.noiseReduction.mode">
6192 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6193 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006194 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006195
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006196 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006197
6198 <ul class="entry_type_enum">
6199 <li>
6200 <span class="entry_type_enum_name">OFF</span>
6201 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6202 </li>
6203 <li>
6204 <span class="entry_type_enum_name">FAST</span>
6205 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6206 bayer output</span>
6207 </li>
6208 <li>
6209 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6210 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6211 quality</span>
6212 </li>
6213 </ul>
6214
6215 </td> <!-- entry_type -->
6216
6217 <td class="entry_description">
6218 Mode of operation for the noise reduction
6219 algorithm
6220 </td>
6221
6222 <td class="entry_units">
6223 </td>
6224
6225 <td class="entry_range">
6226 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6227 </td>
6228
6229 <td class="entry_notes">
6230 </td>
6231
6232 <td class="entry_tags">
6233 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006234 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006235 </ul>
6236 </td>
6237
6238 </tr> <!-- end of entry -->
6239
6240
6241 <tr class="entry" id="controls_android.noiseReduction.strength">
6242 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6243 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006244 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006245
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006246 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006247
6248
6249 </td> <!-- entry_type -->
6250
6251 <td class="entry_description">
6252 Control the amount of noise reduction
6253 applied to the images
6254 </td>
6255
6256 <td class="entry_units">
6257 1-10; 10 is max noise reduction
6258 </td>
6259
6260 <td class="entry_range">
6261 1 - 10
6262 </td>
6263
6264 <td class="entry_notes">
6265 </td>
6266
6267 <td class="entry_tags">
6268 </td>
6269
6270 </tr> <!-- end of entry -->
6271
6272
6273
6274 <!-- end of kind -->
6275 </tbody>
6276 <tr><td colspan="7" class="kind">dynamic</td></tr>
6277
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006278 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006279 <tr>
6280 <th class="th_name">Property Name</th>
6281 <th class="th_type">Type</th>
6282 <th class="th_description">Description</th>
6283 <th class="th_units">Units</th>
6284 <th class="th_range">Range</th>
6285 <th class="th_notes">Notes</th>
6286 <th class="th_tags">Tags</th>
6287 </tr>
6288 </thead>
6289
6290 <tbody>
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6302 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6303 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006304 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006305
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006306 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006307
6308 <ul class="entry_type_enum">
6309 <li>
6310 <span class="entry_type_enum_name">OFF</span>
6311 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6312 </li>
6313 <li>
6314 <span class="entry_type_enum_name">FAST</span>
6315 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6316 bayer output</span>
6317 </li>
6318 <li>
6319 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6320 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6321 quality</span>
6322 </li>
6323 </ul>
6324
6325 </td> <!-- entry_type -->
6326
6327 <td class="entry_description">
6328 Mode of operation for the noise reduction
6329 algorithm
6330 </td>
6331
6332 <td class="entry_units">
6333 </td>
6334
6335 <td class="entry_range">
6336 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6337 </td>
6338
6339 <td class="entry_notes">
6340 </td>
6341
6342 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006343 <ul class="entry_tags">
6344 <li><a href="#tag_V1">V1</a></li>
6345 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006346 </td>
6347
6348 </tr> <!-- end of entry -->
6349
6350
6351
6352 <!-- end of kind -->
6353 </tbody>
6354
6355 <!-- end of section -->
6356 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6357
6358
6359 <tr><td colspan="7" class="kind">static</td></tr>
6360
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006361 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006362 <tr>
6363 <th class="th_name">Property Name</th>
6364 <th class="th_type">Type</th>
6365 <th class="th_description">Description</th>
6366 <th class="th_units">Units</th>
6367 <th class="th_range">Range</th>
6368 <th class="th_notes">Notes</th>
6369 <th class="th_tags">Tags</th>
6370 </tr>
6371 </thead>
6372
6373 <tbody>
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6385 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6386 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006387 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006388
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006389 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006390
6391
6392 </td> <!-- entry_type -->
6393
6394 <td class="entry_description">
6395 If set to 1,<wbr> the camera service does not
6396 scale 'normalized' coordinates with respect to the crop
6397 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6398 and output (face rectangles).<wbr>
6399 </td>
6400
6401 <td class="entry_units">
6402 </td>
6403
6404 <td class="entry_range">
6405 </td>
6406
6407 <td class="entry_notes">
6408 Normalized coordinates refer to those in the
6409 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006410 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6411<br>
6412<br> HAL implementations should instead always use and emit
6413 sensor array-relative coordinates for all region data.<wbr> Does
6414 not need to be listed in static metadata.<wbr> Support will be
6415 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006416 </td>
6417
6418 <td class="entry_tags">
6419 </td>
6420
6421 </tr> <!-- end of entry -->
6422
6423
6424 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6425 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6426 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006427 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006428
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006429 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006430
6431
6432 </td> <!-- entry_type -->
6433
6434 <td class="entry_description">
6435 If set to 1,<wbr> then the camera service always
6436 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6437 trigger.<wbr>
6438 </td>
6439
6440 <td class="entry_units">
6441 </td>
6442
6443 <td class="entry_range">
6444 </td>
6445
6446 <td class="entry_notes">
6447 HAL implementations should implement AF trigger
6448 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6449 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6450 not need to be listed in static metadata.<wbr> Support will be
6451 removed in future versions of camera service
6452 </td>
6453
6454 <td class="entry_tags">
6455 </td>
6456
6457 </tr> <!-- end of entry -->
6458
6459
6460 <tr class="entry" id="static_android.quirks.useZslFormat">
6461 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6462 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006463 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006464
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006465 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006466
6467
6468 </td> <!-- entry_type -->
6469
6470 <td class="entry_description">
6471 If set to 1,<wbr> the camera service uses
6472 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6473 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6474 shutter lag stream
6475 </td>
6476
6477 <td class="entry_units">
6478 </td>
6479
6480 <td class="entry_range">
6481 </td>
6482
6483 <td class="entry_notes">
6484 HAL implementations should use gralloc usage flags
6485 to determine that a stream will be used for
6486 zero-shutter-lag,<wbr> instead of relying on an explicit
6487 format setting.<wbr> Does not need to be listed in static
6488 metadata.<wbr> Support will be removed in future versions of
6489 camera service.<wbr>
6490 </td>
6491
6492 <td class="entry_tags">
6493 </td>
6494
6495 </tr> <!-- end of entry -->
6496
6497
6498
6499 <!-- end of kind -->
6500 </tbody>
6501
6502 <!-- end of section -->
6503 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6504
6505
6506 <tr><td colspan="7" class="kind">controls</td></tr>
6507
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006508 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006509 <tr>
6510 <th class="th_name">Property Name</th>
6511 <th class="th_type">Type</th>
6512 <th class="th_description">Description</th>
6513 <th class="th_units">Units</th>
6514 <th class="th_range">Range</th>
6515 <th class="th_notes">Notes</th>
6516 <th class="th_tags">Tags</th>
6517 </tr>
6518 </thead>
6519
6520 <tbody>
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531 <tr class="entry" id="controls_android.request.frameCount">
6532 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006534 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006535
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006536 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006537
6538
6539 </td> <!-- entry_type -->
6540
6541 <td class="entry_description">
6542 A frame counter set by the framework.<wbr> Must
6543 be maintained unchanged in output frame
6544 </td>
6545
6546 <td class="entry_units">
6547 incrementing integer
6548 </td>
6549
6550 <td class="entry_range">
6551 Any int
6552 </td>
6553
6554 <td class="entry_notes">
6555 </td>
6556
6557 <td class="entry_tags">
6558 </td>
6559
6560 </tr> <!-- end of entry -->
6561
6562
6563 <tr class="entry" id="controls_android.request.id">
6564 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6565 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006566 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006567
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006568 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006569
6570
6571 </td> <!-- entry_type -->
6572
6573 <td class="entry_description">
6574 An application-specified ID for the current
6575 request.<wbr> Must be maintained unchanged in output
6576 frame
6577 </td>
6578
6579 <td class="entry_units">
6580 arbitrary integer assigned by application
6581 </td>
6582
6583 <td class="entry_range">
6584 Any int
6585 </td>
6586
6587 <td class="entry_notes">
6588 </td>
6589
6590 <td class="entry_tags">
6591 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006592 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006593 </ul>
6594 </td>
6595
6596 </tr> <!-- end of entry -->
6597
6598
6599 <tr class="entry" id="controls_android.request.inputStreams">
6600 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006602 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006603 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006604
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006605 <span class="entry_type_array">
6606 n
6607 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006608 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006609
6610
6611 </td> <!-- entry_type -->
6612
6613 <td class="entry_description">
6614 List which camera reprocess stream is used
6615 for the source of reprocessing data.<wbr>
6616 </td>
6617
6618 <td class="entry_units">
6619 List of camera reprocess stream IDs
6620 </td>
6621
6622 <td class="entry_range">
6623 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006624 reprocess stream ID.<wbr>
6625
6626 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6627 reprocess streams may be included in a single request; they
6628 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006629 </td>
6630
6631 <td class="entry_notes">
6632 Only meaningful when android.<wbr>request.<wbr>type ==
6633 REPROCESS.<wbr> Ignored otherwise
6634 </td>
6635
6636 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006637 <ul class="entry_tags">
6638 <li><a href="#tag_HAL2">HAL2</a></li>
6639 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006640 </td>
6641
6642 </tr> <!-- end of entry -->
6643
6644
6645 <tr class="entry" id="controls_android.request.metadataMode">
6646 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6647 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006648 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006649
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006650 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006651
6652 <ul class="entry_type_enum">
6653 <li>
6654 <span class="entry_type_enum_name">NONE</span>
6655 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6656 for application-bound buffer data.<wbr> If no
6657 application-bound streams exist,<wbr> no frame should be
6658 placed in the output frame queue.<wbr> If such streams
6659 exist,<wbr> a frame should be placed on the output queue
6660 with null metadata but with the necessary output buffer
6661 information.<wbr> Timestamp information should still be
6662 included with any output stream buffers</span>
6663 </li>
6664 <li>
6665 <span class="entry_type_enum_name">FULL</span>
6666 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6667 only be produced if they are separately
6668 enabled</span>
6669 </li>
6670 </ul>
6671
6672 </td> <!-- entry_type -->
6673
6674 <td class="entry_description">
6675 How much metadata to produce on
6676 output
6677 </td>
6678
6679 <td class="entry_units">
6680 </td>
6681
6682 <td class="entry_range">
6683 </td>
6684
6685 <td class="entry_notes">
6686 </td>
6687
6688 <td class="entry_tags">
6689 </td>
6690
6691 </tr> <!-- end of entry -->
6692
6693
6694 <tr class="entry" id="controls_android.request.outputStreams">
6695 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6696 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006697 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006698 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006699
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006700 <span class="entry_type_array">
6701 n
6702 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006703 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006704
6705
6706 </td> <!-- entry_type -->
6707
6708 <td class="entry_description">
6709 Lists which camera output streams image data
6710 from this capture must be sent to
6711 </td>
6712
6713 <td class="entry_units">
6714 List of camera stream IDs
6715 </td>
6716
6717 <td class="entry_range">
6718 List must only include streams that have been
6719 created
6720 </td>
6721
6722 <td class="entry_notes">
6723 If no output streams are listed,<wbr> then the image
6724 data should simply be discarded.<wbr> The image data must
6725 still be captured for metadata and statistics production,<wbr>
6726 and the lens and flash must operate as requested.<wbr>
6727 </td>
6728
6729 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006730 <ul class="entry_tags">
6731 <li><a href="#tag_HAL2">HAL2</a></li>
6732 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006733 </td>
6734
6735 </tr> <!-- end of entry -->
6736
6737
6738 <tr class="entry" id="controls_android.request.type">
6739 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6740 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006741 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006742
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006743 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006744
6745 <ul class="entry_type_enum">
6746 <li>
6747 <span class="entry_type_enum_name">CAPTURE</span>
6748 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6749 and process it according to the
6750 settings</span>
6751 </li>
6752 <li>
6753 <span class="entry_type_enum_name">REPROCESS</span>
6754 <span class="entry_type_enum_notes">Process previously captured data; the
6755 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6756 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6757 needed for reprocessing with [RP]</span>
6758 </li>
6759 </ul>
6760
6761 </td> <!-- entry_type -->
6762
6763 <td class="entry_description">
6764 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006765 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006766 </td>
6767
6768 <td class="entry_units">
6769 </td>
6770
6771 <td class="entry_range">
6772 </td>
6773
6774 <td class="entry_notes">
6775 </td>
6776
6777 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006778 <ul class="entry_tags">
6779 <li><a href="#tag_HAL2">HAL2</a></li>
6780 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006781 </td>
6782
6783 </tr> <!-- end of entry -->
6784
6785
6786
6787 <!-- end of kind -->
6788 </tbody>
6789 <tr><td colspan="7" class="kind">static</td></tr>
6790
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006791 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006792 <tr>
6793 <th class="th_name">Property Name</th>
6794 <th class="th_type">Type</th>
6795 <th class="th_description">Description</th>
6796 <th class="th_units">Units</th>
6797 <th class="th_range">Range</th>
6798 <th class="th_notes">Notes</th>
6799 <th class="th_tags">Tags</th>
6800 </tr>
6801 </thead>
6802
6803 <tbody>
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6815 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6816 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006817 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006818 <span class="entry_type_container">x</span>
6819
6820 <span class="entry_type_array">
6821 3
6822 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006823 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006824
6825
6826 </td> <!-- entry_type -->
6827
6828 <td class="entry_description">
6829 How many output streams can be allocated at
6830 the same time for each type of stream
6831 </td>
6832
6833 <td class="entry_units">
6834 The number of raw sensor streams; the number of
6835 processed,<wbr> uncompressed streams; and the number of
6836 JPEG-compressed streams
6837 </td>
6838
6839 <td class="entry_range">
6840 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6841 for processed,<wbr> uncompressed streams
6842 </td>
6843
6844 <td class="entry_notes">
6845 Video snapshot with preview callbacks requires 3
6846 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6847 one JPEG stream (snapshot)
6848 </td>
6849
6850 <td class="entry_tags">
6851 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006852 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006853 </ul>
6854 </td>
6855
6856 </tr> <!-- end of entry -->
6857
6858
6859 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6860 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6861 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006862 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006863 <span class="entry_type_container">x</span>
6864
6865 <span class="entry_type_array">
6866 1
6867 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006868 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869
6870
6871 </td> <!-- entry_type -->
6872
6873 <td class="entry_description">
6874 How many reprocessing streams of any type
6875 can be allocated at the same time
6876 </td>
6877
6878 <td class="entry_units">
6879 </td>
6880
6881 <td class="entry_range">
6882 >= 1
6883 </td>
6884
6885 <td class="entry_notes">
6886 </td>
6887
6888 <td class="entry_tags">
6889 </td>
6890
6891 </tr> <!-- end of entry -->
6892
6893
6894
6895 <!-- end of kind -->
6896 </tbody>
6897 <tr><td colspan="7" class="kind">dynamic</td></tr>
6898
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006899 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006900 <tr>
6901 <th class="th_name">Property Name</th>
6902 <th class="th_type">Type</th>
6903 <th class="th_description">Description</th>
6904 <th class="th_units">Units</th>
6905 <th class="th_range">Range</th>
6906 <th class="th_notes">Notes</th>
6907 <th class="th_tags">Tags</th>
6908 </tr>
6909 </thead>
6910
6911 <tbody>
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922 <tr class="entry" id="dynamic_android.request.frameCount">
6923 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6924 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006925 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006926
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006927 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006928
6929
6930 </td> <!-- entry_type -->
6931
6932 <td class="entry_description">
6933 Number of frames captured since
6934 open()
6935 </td>
6936
6937 <td class="entry_units">
6938 count of frames
6939 </td>
6940
6941 <td class="entry_range">
6942 > 0
6943 </td>
6944
6945 <td class="entry_notes">
6946 Reset on release()
6947 </td>
6948
6949 <td class="entry_tags">
6950 </td>
6951
6952 </tr> <!-- end of entry -->
6953
6954
6955 <tr class="entry" id="dynamic_android.request.id">
6956 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6957 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006958 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006959
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006960 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006961
6962
6963 </td> <!-- entry_type -->
6964
6965 <td class="entry_description">
6966 An application-specified ID for the current
6967 request.<wbr> Must be maintained unchanged in output
6968 frame
6969 </td>
6970
6971 <td class="entry_units">
6972 arbitrary integer assigned by application
6973 </td>
6974
6975 <td class="entry_range">
6976 Any int
6977 </td>
6978
6979 <td class="entry_notes">
6980 </td>
6981
6982 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006983 <ul class="entry_tags">
6984 <li><a href="#tag_V1">V1</a></li>
6985 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006986 </td>
6987
6988 </tr> <!-- end of entry -->
6989
6990
6991 <tr class="entry" id="dynamic_android.request.metadataMode">
6992 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6993 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006994 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006995
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006996 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006997
6998 <ul class="entry_type_enum">
6999 <li>
7000 <span class="entry_type_enum_name">NONE</span>
7001 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7002 for application-bound buffer data.<wbr> If no
7003 application-bound streams exist,<wbr> no frame should be
7004 placed in the output frame queue.<wbr> If such streams
7005 exist,<wbr> a frame should be placed on the output queue
7006 with null metadata but with the necessary output buffer
7007 information.<wbr> Timestamp information should still be
7008 included with any output stream buffers</span>
7009 </li>
7010 <li>
7011 <span class="entry_type_enum_name">FULL</span>
7012 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7013 only be produced if they are separately
7014 enabled</span>
7015 </li>
7016 </ul>
7017
7018 </td> <!-- entry_type -->
7019
7020 <td class="entry_description">
7021 How much metadata to produce on
7022 output
7023 </td>
7024
7025 <td class="entry_units">
7026 </td>
7027
7028 <td class="entry_range">
7029 </td>
7030
7031 <td class="entry_notes">
7032 </td>
7033
7034 <td class="entry_tags">
7035 </td>
7036
7037 </tr> <!-- end of entry -->
7038
7039
7040 <tr class="entry" id="dynamic_android.request.outputStreams">
7041 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7042 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007043 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007044 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007045
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007046 <span class="entry_type_array">
7047 n
7048 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007049 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007050
7051
7052 </td> <!-- entry_type -->
7053
7054 <td class="entry_description">
7055 Lists which camera output streams image data
7056 from this capture must be sent to
7057 </td>
7058
7059 <td class="entry_units">
7060 List of camera stream IDs
7061 </td>
7062
7063 <td class="entry_range">
7064 List must only include streams that have been
7065 created
7066 </td>
7067
7068 <td class="entry_notes">
7069 If no output streams are listed,<wbr> then the image
7070 data should simply be discarded.<wbr> The image data must
7071 still be captured for metadata and statistics production,<wbr>
7072 and the lens and flash must operate as requested.<wbr>
7073 </td>
7074
7075 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007076 <ul class="entry_tags">
7077 <li><a href="#tag_HAL2">HAL2</a></li>
7078 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007079 </td>
7080
7081 </tr> <!-- end of entry -->
7082
7083
7084
7085 <!-- end of kind -->
7086 </tbody>
7087
7088 <!-- end of section -->
7089 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7090
7091
7092 <tr><td colspan="7" class="kind">controls</td></tr>
7093
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007094 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007095 <tr>
7096 <th class="th_name">Property Name</th>
7097 <th class="th_type">Type</th>
7098 <th class="th_description">Description</th>
7099 <th class="th_units">Units</th>
7100 <th class="th_range">Range</th>
7101 <th class="th_notes">Notes</th>
7102 <th class="th_tags">Tags</th>
7103 </tr>
7104 </thead>
7105
7106 <tbody>
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117 <tr class="entry" id="controls_android.scaler.cropRegion">
7118 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7119 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007120 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007121 <span class="entry_type_container">x</span>
7122
7123 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007124 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007125 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007126 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007127
7128
7129 </td> <!-- entry_type -->
7130
7131 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007132 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7133<br>
7134<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7135 (width,<wbr> height).<wbr> The region of the sensor that is used for
7136 output.<wbr> Each stream must use this rectangle to produce its
7137 output,<wbr> cropping to a smaller region if necessary to
7138 maintain the stream's aspect ratio.<wbr>
7139<br>
7140<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007141 </td>
7142
7143 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007144 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7145 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007146 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007147 </td>
7148
7149 <td class="entry_range">
7150 </td>
7151
7152 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007153
7154 Any additional per-stream cropping must be done to
7155 maximize the final pixel area of the stream.<wbr>
7156<br>
7157<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7158 ratio,<wbr> then 4:3 streams should use the exact crop
7159 region.<wbr> 16:9 streams should further crop vertically
7160 (letterbox).<wbr>
7161<br>
7162<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7163 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7164 streams should match exactly.<wbr> These additional crops must
7165 be centered within the crop region.<wbr>
7166<br>
7167<br> The output streams must maintain square pixels at all
7168 times,<wbr> no matter what the relative aspect ratios of the
7169 crop region and the stream are.<wbr> Negative values for
7170 corner are allowed for raw output if full pixel array is
7171 larger than active pixel array.<wbr> Width and height may be
7172 rounded to nearest larger supportable width,<wbr> especially
7173 for raw output,<wbr> where only a few fixed scales may be
7174 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007175 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007176 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007177 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007178 respectively.<wbr>
7179
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007180 </td>
7181
7182 <td class="entry_tags">
7183 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007184 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007185 </ul>
7186 </td>
7187
7188 </tr> <!-- end of entry -->
7189
7190
7191
7192 <!-- end of kind -->
7193 </tbody>
7194 <tr><td colspan="7" class="kind">static</td></tr>
7195
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007196 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007197 <tr>
7198 <th class="th_name">Property Name</th>
7199 <th class="th_type">Type</th>
7200 <th class="th_description">Description</th>
7201 <th class="th_units">Units</th>
7202 <th class="th_range">Range</th>
7203 <th class="th_notes">Notes</th>
7204 <th class="th_tags">Tags</th>
7205 </tr>
7206 </thead>
7207
7208 <tbody>
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219 <tr class="entry" id="static_android.scaler.availableFormats">
7220 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7221 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007222 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007223 <span class="entry_type_container">x</span>
7224
7225 <span class="entry_type_array">
7226 n
7227 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007228 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007229 <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>
7230
7231 <ul class="entry_type_enum">
7232 <li>
7233 <span class="entry_type_enum_name">RAW_SENSOR</span>
7234 <span class="entry_type_enum_value">0x20</span>
7235 </li>
7236 <li>
7237 <span class="entry_type_enum_name">YV12</span>
7238 <span class="entry_type_enum_value">0x32315659</span>
7239 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7240 </li>
7241 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007242 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007243 <span class="entry_type_enum_value">0x11</span>
7244 <span class="entry_type_enum_notes">NV21</span>
7245 </li>
7246 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007247 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7248 <span class="entry_type_enum_value">0x22</span>
7249 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7250 </li>
7251 <li>
7252 <span class="entry_type_enum_name">YCbCr_420_888</span>
7253 <span class="entry_type_enum_value">0x23</span>
7254 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7255 </li>
7256 <li>
7257 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007258 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007259 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007260 </li>
7261 </ul>
7262
7263 </td> <!-- entry_type -->
7264
7265 <td class="entry_description">
7266 List of app-visible formats
7267 </td>
7268
7269 <td class="entry_units">
7270 </td>
7271
7272 <td class="entry_range">
7273 </td>
7274
7275 <td class="entry_notes">
7276 </td>
7277
7278 <td class="entry_tags">
7279 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007280 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007281 </ul>
7282 </td>
7283
7284 </tr> <!-- end of entry -->
7285
7286
7287 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7288 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7289 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007290 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007291 <span class="entry_type_container">x</span>
7292
7293 <span class="entry_type_array">
7294 n
7295 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007296 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007297
7298
7299 </td> <!-- entry_type -->
7300
7301 <td class="entry_description">
7302 The minimum frame duration that is supported
7303 for each resolution in availableJpegSizes.<wbr> Should
7304 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007305 stream is active and captured in a burst,<wbr> with all
7306 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007307 </td>
7308
7309 <td class="entry_units">
7310 </td>
7311
7312 <td class="entry_range">
7313 </td>
7314
7315 <td class="entry_notes">
7316 When multiple streams are configured,<wbr> the minimum
7317 frame duration will be >= max(individual stream min
7318 durations)
7319 </td>
7320
7321 <td class="entry_tags">
7322 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007323 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007324 </ul>
7325 </td>
7326
7327 </tr> <!-- end of entry -->
7328
7329
7330 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7331 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7332 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007333 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007334 <span class="entry_type_container">x</span>
7335
7336 <span class="entry_type_array">
7337 n x 2
7338 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007339 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007340
7341
7342 </td> <!-- entry_type -->
7343
7344 <td class="entry_description">
7345 The resolutions available for output from
7346 the JPEG block.<wbr> Listed as width x height
7347 </td>
7348
7349 <td class="entry_units">
7350 </td>
7351
7352 <td class="entry_range">
7353 Must include: - sensor maximum resolution Should
7354 include: - half/<wbr>quarter max resolution
7355 </td>
7356
7357 <td class="entry_notes">
7358 </td>
7359
7360 <td class="entry_tags">
7361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007362 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007363 </ul>
7364 </td>
7365
7366 </tr> <!-- end of entry -->
7367
7368
7369 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7370 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7371 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007372 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007373
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007374 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007375
7376
7377 </td> <!-- entry_type -->
7378
7379 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007380 The maximum ratio between active area width
7381 and crop region width,<wbr> or between active area height and
7382 crop region height,<wbr> if the crop region height is larger
7383 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007384 </td>
7385
7386 <td class="entry_units">
7387 </td>
7388
7389 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007390 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391 </td>
7392
7393 <td class="entry_notes">
7394 </td>
7395
7396 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007397 <ul class="entry_tags">
7398 <li><a href="#tag_BC">BC</a></li>
7399 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007400 </td>
7401
7402 </tr> <!-- end of entry -->
7403
7404
7405 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7406 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7407 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007408 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007409 <span class="entry_type_container">x</span>
7410
7411 <span class="entry_type_array">
7412 n
7413 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007414 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007415
7416
7417 </td> <!-- entry_type -->
7418
7419 <td class="entry_description">
7420 The minimum frame duration that is supported
7421 for each resolution in availableProcessedSizes.<wbr> Should
7422 correspond to the frame duration when only that processed
7423 stream is active,<wbr> with all processing set to
7424 FAST
7425 </td>
7426
7427 <td class="entry_units">
7428 </td>
7429
7430 <td class="entry_range">
7431 </td>
7432
7433 <td class="entry_notes">
7434 When multiple streams are configured,<wbr> the minimum
7435 frame duration will be >= max(individual stream min
7436 durations)
7437 </td>
7438
7439 <td class="entry_tags">
7440 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007441 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007442 </ul>
7443 </td>
7444
7445 </tr> <!-- end of entry -->
7446
7447
7448 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7449 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007451 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007452 <span class="entry_type_container">x</span>
7453
7454 <span class="entry_type_array">
7455 n x 2
7456 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007457 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007458
7459
7460 </td> <!-- entry_type -->
7461
7462 <td class="entry_description">
7463 The resolutions available for use with
7464 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7465 platform opaque YUV/<wbr>RGB streams to the GPU or video
7466 encoders.<wbr> Listed as width,<wbr> height
7467 </td>
7468
7469 <td class="entry_units">
7470 </td>
7471
7472 <td class="entry_range">
7473 Must include: - sensor maximum resolution -
7474 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7475 resolutions
7476 </td>
7477
7478 <td class="entry_notes">
7479 </td>
7480
7481 <td class="entry_tags">
7482 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007483 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007484 </ul>
7485 </td>
7486
7487 </tr> <!-- end of entry -->
7488
7489
7490 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7491 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7492 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007493 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007494 <span class="entry_type_container">x</span>
7495
7496 <span class="entry_type_array">
7497 n
7498 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007499 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007500
7501
7502 </td> <!-- entry_type -->
7503
7504 <td class="entry_description">
7505 The minimum frame duration that is supported
7506 for each raw resolution in availableRawSizes.<wbr> Should
7507 correspond to the frame duration when only the raw stream
7508 is active.<wbr>
7509 </td>
7510
7511 <td class="entry_units">
7512 </td>
7513
7514 <td class="entry_range">
7515 </td>
7516
7517 <td class="entry_notes">
7518 When multiple streams are configured,<wbr> the minimum
7519 frame duration will be >= max(individual stream min
7520 durations)
7521 </td>
7522
7523 <td class="entry_tags">
7524 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007525 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007526 </ul>
7527 </td>
7528
7529 </tr> <!-- end of entry -->
7530
7531
7532 <tr class="entry" id="static_android.scaler.availableRawSizes">
7533 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7534 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007535 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007536 <span class="entry_type_container">x</span>
7537
7538 <span class="entry_type_array">
7539 n x 2
7540 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007541 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007542
7543
7544 </td> <!-- entry_type -->
7545
7546 <td class="entry_description">
7547 The resolutions available for use with raw
7548 sensor output streams,<wbr> listed as width,<wbr>
7549 height
7550 </td>
7551
7552 <td class="entry_units">
7553 </td>
7554
7555 <td class="entry_range">
7556 Must include: - sensor maximum resolution
7557 </td>
7558
7559 <td class="entry_notes">
7560 </td>
7561
7562 <td class="entry_tags">
7563 </td>
7564
7565 </tr> <!-- end of entry -->
7566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007567
7568
7569 <!-- end of kind -->
7570 </tbody>
7571 <tr><td colspan="7" class="kind">dynamic</td></tr>
7572
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007573 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007574 <tr>
7575 <th class="th_name">Property Name</th>
7576 <th class="th_type">Type</th>
7577 <th class="th_description">Description</th>
7578 <th class="th_units">Units</th>
7579 <th class="th_range">Range</th>
7580 <th class="th_notes">Notes</th>
7581 <th class="th_tags">Tags</th>
7582 </tr>
7583 </thead>
7584
7585 <tbody>
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7597 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007599 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007600 <span class="entry_type_container">x</span>
7601
7602 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007603 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007604 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007605 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007606
7607
7608 </td> <!-- entry_type -->
7609
7610 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007611 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7612<br>
7613<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7614 (width,<wbr> height).<wbr> The region of the sensor that is used for
7615 output.<wbr> Each stream must use this rectangle to produce its
7616 output,<wbr> cropping to a smaller region if necessary to
7617 maintain the stream's aspect ratio.<wbr>
7618<br>
7619<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007620 </td>
7621
7622 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007623 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7624 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007625 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007626 </td>
7627
7628 <td class="entry_range">
7629 </td>
7630
7631 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007632
7633 Any additional per-stream cropping must be done to
7634 maximize the final pixel area of the stream.<wbr>
7635<br>
7636<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7637 ratio,<wbr> then 4:3 streams should use the exact crop
7638 region.<wbr> 16:9 streams should further crop vertically
7639 (letterbox).<wbr>
7640<br>
7641<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7642 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7643 streams should match exactly.<wbr> These additional crops must
7644 be centered within the crop region.<wbr>
7645<br>
7646<br> The output streams must maintain square pixels at all
7647 times,<wbr> no matter what the relative aspect ratios of the
7648 crop region and the stream are.<wbr> Negative values for
7649 corner are allowed for raw output if full pixel array is
7650 larger than active pixel array.<wbr> Width and height may be
7651 rounded to nearest larger supportable width,<wbr> especially
7652 for raw output,<wbr> where only a few fixed scales may be
7653 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007654 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007655 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007656 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007657 respectively.<wbr>
7658
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007659 </td>
7660
7661 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007662 <ul class="entry_tags">
7663 <li><a href="#tag_BC">BC</a></li>
7664 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007665 </td>
7666
7667 </tr> <!-- end of entry -->
7668
7669
7670
7671 <!-- end of kind -->
7672 </tbody>
7673
7674 <!-- end of section -->
7675 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7676
7677
7678 <tr><td colspan="7" class="kind">controls</td></tr>
7679
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007680 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007681 <tr>
7682 <th class="th_name">Property Name</th>
7683 <th class="th_type">Type</th>
7684 <th class="th_description">Description</th>
7685 <th class="th_units">Units</th>
7686 <th class="th_range">Range</th>
7687 <th class="th_notes">Notes</th>
7688 <th class="th_tags">Tags</th>
7689 </tr>
7690 </thead>
7691
7692 <tbody>
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703 <tr class="entry" id="controls_android.sensor.exposureTime">
7704 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7705 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007706 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007707
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007708 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007709
7710
7711 </td> <!-- entry_type -->
7712
7713 <td class="entry_description">
7714 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007715 light.<wbr>
7716<br>
7717<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7718 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7719
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007720 </td>
7721
7722 <td class="entry_units">
7723 nanoseconds
7724 </td>
7725
7726 <td class="entry_range">
7727 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7728 </td>
7729
7730 <td class="entry_notes">
7731 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7732 </td>
7733
7734 <td class="entry_tags">
7735 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007736 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007737 </ul>
7738 </td>
7739
7740 </tr> <!-- end of entry -->
7741
7742
7743 <tr class="entry" id="controls_android.sensor.frameDuration">
7744 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007746 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007747
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007748 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007749
7750
7751 </td> <!-- entry_type -->
7752
7753 <td class="entry_description">
7754 Duration from start of frame exposure to
7755 start of next frame exposure
7756 </td>
7757
7758 <td class="entry_units">
7759 nanoseconds
7760 </td>
7761
7762 <td class="entry_range">
7763 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7764 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7765 </td>
7766
7767 <td class="entry_notes">
7768 Exposure time has priority,<wbr> so duration is set to
7769 max(duration,<wbr> exposure time + overhead)
7770 </td>
7771
7772 <td class="entry_tags">
7773 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007774 <li><a href="#tag_V1">V1</a></li>
7775 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007776 </ul>
7777 </td>
7778
7779 </tr> <!-- end of entry -->
7780
7781
7782 <tr class="entry" id="controls_android.sensor.sensitivity">
7783 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7784 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007785 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007786
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007787 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007788
7789
7790 </td> <!-- entry_type -->
7791
7792 <td class="entry_description">
7793 Gain applied to image data.<wbr> Must be
7794 implemented through analog gain only if set to values
7795 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007796<br>
7797<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7798 gain to the nearest possible value (rather than gain more).<wbr>
7799
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007800 </td>
7801
7802 <td class="entry_units">
7803 ISO arithmetic units
7804 </td>
7805
7806 <td class="entry_range">
7807 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7808 </td>
7809
7810 <td class="entry_notes">
7811 ISO 12232:2006 REI method
7812 </td>
7813
7814 <td class="entry_tags">
7815 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007816 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007817 </ul>
7818 </td>
7819
7820 </tr> <!-- end of entry -->
7821
7822
7823
7824 <!-- end of kind -->
7825 </tbody>
7826 <tr><td colspan="7" class="kind">static</td></tr>
7827
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007828 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007829 <tr>
7830 <th class="th_name">Property Name</th>
7831 <th class="th_type">Type</th>
7832 <th class="th_description">Description</th>
7833 <th class="th_units">Units</th>
7834 <th class="th_range">Range</th>
7835 <th class="th_notes">Notes</th>
7836 <th class="th_tags">Tags</th>
7837 </tr>
7838 </thead>
7839
7840 <tbody>
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7854 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7855 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007856 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007857 <span class="entry_type_container">x</span>
7858
7859 <span class="entry_type_array">
7860 4
7861 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007862 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007863 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7864
7865
7866 </td> <!-- entry_type -->
7867
7868 <td class="entry_description">
7869 Area of raw data which corresponds to only
7870 active pixels; smaller or equal to
7871 pixelArraySize.<wbr>
7872 </td>
7873
7874 <td class="entry_units">
7875 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7876 pixel array is (0,<wbr>0)
7877 </td>
7878
7879 <td class="entry_range">
7880 </td>
7881
7882 <td class="entry_notes">
7883 </td>
7884
7885 <td class="entry_tags">
7886 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007887 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007888 </ul>
7889 </td>
7890
7891 </tr> <!-- end of entry -->
7892
7893
Zhijun He69fc0ea2013-07-17 09:42:58 -07007894 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
7895 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007896 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007897 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007898 <span class="entry_type_container">x</span>
7899
7900 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007901 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007902 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007903 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07007904 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007905
7906
7907 </td> <!-- entry_type -->
7908
7909 <td class="entry_description">
7910 Range of valid sensitivities
7911 </td>
7912
7913 <td class="entry_units">
7914 </td>
7915
7916 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007917 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007918 </td>
7919
7920 <td class="entry_notes">
7921 </td>
7922
7923 <td class="entry_tags">
7924 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007925 <li><a href="#tag_BC">BC</a></li>
7926 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007927 </ul>
7928 </td>
7929
7930 </tr> <!-- end of entry -->
7931
7932
7933 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7934 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7935 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007936 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007937
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007938 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007939
7940 <ul class="entry_type_enum">
7941 <li>
7942 <span class="entry_type_enum_name">RGGB</span>
7943 </li>
7944 <li>
7945 <span class="entry_type_enum_name">GRBG</span>
7946 </li>
7947 <li>
7948 <span class="entry_type_enum_name">GBRG</span>
7949 </li>
7950 <li>
7951 <span class="entry_type_enum_name">BGGR</span>
7952 </li>
7953 <li>
7954 <span class="entry_type_enum_name">RGB</span>
7955 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7956 values for each pixel,<wbr> instead of just 1 16-bit value
7957 per pixel.<wbr></span>
7958 </li>
7959 </ul>
7960
7961 </td> <!-- entry_type -->
7962
7963 <td class="entry_description">
7964 Arrangement of color filters on sensor;
7965 represents the colors in the top-left 2x2 section of
7966 the sensor,<wbr> in reading order
7967 </td>
7968
7969 <td class="entry_units">
7970 </td>
7971
7972 <td class="entry_range">
7973 </td>
7974
7975 <td class="entry_notes">
7976 </td>
7977
7978 <td class="entry_tags">
7979 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007980 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007981 </ul>
7982 </td>
7983
7984 </tr> <!-- end of entry -->
7985
7986
7987 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
7988 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
7989 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007990 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007991 <span class="entry_type_container">x</span>
7992
7993 <span class="entry_type_array">
7994 2
7995 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007996 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007997 <div class="entry_type_notes">nanoseconds</div>
7998
7999
8000 </td> <!-- entry_type -->
8001
8002 <td class="entry_description">
8003 Range of valid exposure
8004 times
8005 </td>
8006
8007 <td class="entry_units">
8008 </td>
8009
8010 <td class="entry_range">
8011 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8012 sec)
8013 </td>
8014
8015 <td class="entry_notes">
8016 </td>
8017
8018 <td class="entry_tags">
8019 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008020 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021 </ul>
8022 </td>
8023
8024 </tr> <!-- end of entry -->
8025
8026
8027 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8028 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008030 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008032 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008033
8034
8035 </td> <!-- entry_type -->
8036
8037 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008038 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008039 rate)
8040 </td>
8041
8042 <td class="entry_units">
8043 nanoseconds
8044 </td>
8045
8046 <td class="entry_range">
8047 >= 30e9
8048 </td>
8049
8050 <td class="entry_notes">
8051 Minimum duration is a function of resolution,<wbr>
8052 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008053 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8054 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8055 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008056 </td>
8057
8058 <td class="entry_tags">
8059 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008060 <li><a href="#tag_BC">BC</a></li>
8061 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008062 </ul>
8063 </td>
8064
8065 </tr> <!-- end of entry -->
8066
8067
8068 <tr class="entry" id="static_android.sensor.info.physicalSize">
8069 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8070 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008071 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008072 <span class="entry_type_container">x</span>
8073
8074 <span class="entry_type_array">
8075 2
8076 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008077 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008078 <div class="entry_type_notes">width x height in millimeters</div>
8079
8080
8081 </td> <!-- entry_type -->
8082
8083 <td class="entry_description">
8084 The physical dimensions of the full pixel
8085 array
8086 </td>
8087
8088 <td class="entry_units">
8089 </td>
8090
8091 <td class="entry_range">
8092 </td>
8093
8094 <td class="entry_notes">
8095 Needed for FOV calculation for old API
8096 </td>
8097
8098 <td class="entry_tags">
8099 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008100 <li><a href="#tag_V1">V1</a></li>
8101 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102 </ul>
8103 </td>
8104
8105 </tr> <!-- end of entry -->
8106
8107
8108 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8109 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8110 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008111 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008112 <span class="entry_type_container">x</span>
8113
8114 <span class="entry_type_array">
8115 2
8116 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008117 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008118
8119
8120 </td> <!-- entry_type -->
8121
8122 <td class="entry_description">
8123 Dimensions of full pixel array,<wbr> possibly
8124 including black calibration pixels
8125 </td>
8126
8127 <td class="entry_units">
8128 </td>
8129
8130 <td class="entry_range">
8131 </td>
8132
8133 <td class="entry_notes">
8134 Maximum output resolution for raw format must
8135 match this in
8136 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8137 </td>
8138
8139 <td class="entry_tags">
8140 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008141 <li><a href="#tag_DNG">DNG</a></li>
8142 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008143 </ul>
8144 </td>
8145
8146 </tr> <!-- end of entry -->
8147
8148
8149 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8150 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8151 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008152 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008153
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008154 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008155
8156
8157 </td> <!-- entry_type -->
8158
8159 <td class="entry_description">
8160 Maximum raw value output by
8161 sensor
8162 </td>
8163
8164 <td class="entry_units">
8165 </td>
8166
8167 <td class="entry_range">
8168 > 1024 (10-bit output)
8169 </td>
8170
8171 <td class="entry_notes">
8172 Defines sensor bit depth (10-14 bits is
8173 expected)
8174 </td>
8175
8176 <td class="entry_tags">
8177 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008178 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008179 </ul>
8180 </td>
8181
8182 </tr> <!-- end of entry -->
8183
8184
8185
8186
8187
8188 <tr class="entry" id="static_android.sensor.baseGainFactor">
8189 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8190 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008191 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008192
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008193 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008194
8195
8196 </td> <!-- entry_type -->
8197
8198 <td class="entry_description">
8199 Gain factor from electrons to raw units when
8200 ISO=100
8201 </td>
8202
8203 <td class="entry_units">
8204 </td>
8205
8206 <td class="entry_range">
8207 </td>
8208
8209 <td class="entry_notes">
8210 </td>
8211
8212 <td class="entry_tags">
8213 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008214 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008215 </ul>
8216 </td>
8217
8218 </tr> <!-- end of entry -->
8219
8220
8221 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8222 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8223 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008224 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008225 <span class="entry_type_container">x</span>
8226
8227 <span class="entry_type_array">
8228 4
8229 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008230 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008231 <div class="entry_type_notes">2x2 raw count block</div>
8232
8233
8234 </td> <!-- entry_type -->
8235
8236 <td class="entry_description">
8237 A fixed black level offset for each of the
8238 Bayer mosaic channels
8239 </td>
8240
8241 <td class="entry_units">
8242 </td>
8243
8244 <td class="entry_range">
8245 >= 0 each
8246 </td>
8247
8248 <td class="entry_notes">
8249 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8250 tags
8251 </td>
8252
8253 <td class="entry_tags">
8254 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008255 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008256 </ul>
8257 </td>
8258
8259 </tr> <!-- end of entry -->
8260
8261
8262 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8263 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8264 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008265 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008266 <span class="entry_type_container">x</span>
8267
8268 <span class="entry_type_array">
8269 9
8270 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008271 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008272 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8273
8274
8275 </td> <!-- entry_type -->
8276
8277 <td class="entry_description">
8278 Per-device calibration on top of color space
8279 transform 1
8280 </td>
8281
8282 <td class="entry_units">
8283 </td>
8284
8285 <td class="entry_range">
8286 </td>
8287
8288 <td class="entry_notes">
8289 </td>
8290
8291 <td class="entry_tags">
8292 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008293 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008294 </ul>
8295 </td>
8296
8297 </tr> <!-- end of entry -->
8298
8299
8300 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8301 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8302 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008303 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008304 <span class="entry_type_container">x</span>
8305
8306 <span class="entry_type_array">
8307 9
8308 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008309 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008310 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8311
8312
8313 </td> <!-- entry_type -->
8314
8315 <td class="entry_description">
8316 Per-device calibration on top of color space
8317 transform 2
8318 </td>
8319
8320 <td class="entry_units">
8321 </td>
8322
8323 <td class="entry_range">
8324 </td>
8325
8326 <td class="entry_notes">
8327 </td>
8328
8329 <td class="entry_tags">
8330 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008331 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008332 </ul>
8333 </td>
8334
8335 </tr> <!-- end of entry -->
8336
8337
8338 <tr class="entry" id="static_android.sensor.colorTransform1">
8339 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8340 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008341 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008342 <span class="entry_type_container">x</span>
8343
8344 <span class="entry_type_array">
8345 9
8346 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008347 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008348 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8349
8350
8351 </td> <!-- entry_type -->
8352
8353 <td class="entry_description">
8354 Linear mapping from XYZ (D50) color space to
8355 reference linear sensor color,<wbr> for first reference
8356 illuminant
8357 </td>
8358
8359 <td class="entry_units">
8360 </td>
8361
8362 <td class="entry_range">
8363 </td>
8364
8365 <td class="entry_notes">
8366 Use as follows XYZ = inv(transform) * clip( (raw -
8367 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8368 At least in the simple case
8369 </td>
8370
8371 <td class="entry_tags">
8372 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008373 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008374 </ul>
8375 </td>
8376
8377 </tr> <!-- end of entry -->
8378
8379
8380 <tr class="entry" id="static_android.sensor.colorTransform2">
8381 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8382 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008383 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008384 <span class="entry_type_container">x</span>
8385
8386 <span class="entry_type_array">
8387 9
8388 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008389 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008390 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8391
8392
8393 </td> <!-- entry_type -->
8394
8395 <td class="entry_description">
8396 Linear mapping from XYZ (D50) color space to
8397 reference linear sensor color,<wbr> for second reference
8398 illuminant
8399 </td>
8400
8401 <td class="entry_units">
8402 </td>
8403
8404 <td class="entry_range">
8405 </td>
8406
8407 <td class="entry_notes">
8408 </td>
8409
8410 <td class="entry_tags">
8411 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008412 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008413 </ul>
8414 </td>
8415
8416 </tr> <!-- end of entry -->
8417
8418
8419 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8420 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8421 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008422 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008423 <span class="entry_type_container">x</span>
8424
8425 <span class="entry_type_array">
8426 9
8427 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008428 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008429 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8430
8431
8432 </td> <!-- entry_type -->
8433
8434 <td class="entry_description">
8435 Used by DNG for better WB
8436 adaptation
8437 </td>
8438
8439 <td class="entry_units">
8440 </td>
8441
8442 <td class="entry_range">
8443 </td>
8444
8445 <td class="entry_notes">
8446 </td>
8447
8448 <td class="entry_tags">
8449 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008450 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008451 </ul>
8452 </td>
8453
8454 </tr> <!-- end of entry -->
8455
8456
8457 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8458 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8459 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008460 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008461 <span class="entry_type_container">x</span>
8462
8463 <span class="entry_type_array">
8464 9
8465 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008466 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008467 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8468
8469
8470 </td> <!-- entry_type -->
8471
8472 <td class="entry_description">
8473 Used by DNG for better WB
8474 adaptation
8475 </td>
8476
8477 <td class="entry_units">
8478 </td>
8479
8480 <td class="entry_range">
8481 </td>
8482
8483 <td class="entry_notes">
8484 </td>
8485
8486 <td class="entry_tags">
8487 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008488 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008489 </ul>
8490 </td>
8491
8492 </tr> <!-- end of entry -->
8493
8494
8495 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8496 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8497 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008498 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008499
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008500 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008501
8502
8503 </td> <!-- entry_type -->
8504
8505 <td class="entry_description">
8506 Maximum sensitivity that is implemented
8507 purely through analog gain
8508 </td>
8509
8510 <td class="entry_units">
8511 </td>
8512
8513 <td class="entry_range">
8514 </td>
8515
8516 <td class="entry_notes">
8517 For android.<wbr>sensor.<wbr>sensitivity values less than or
8518 equal to this,<wbr> all applied gain must be analog.<wbr> For
8519 values above this,<wbr> it can be a mix of analog and
8520 digital
8521 </td>
8522
8523 <td class="entry_tags">
8524 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008525 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008526 </ul>
8527 </td>
8528
8529 </tr> <!-- end of entry -->
8530
8531
8532 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8533 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8534 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008535 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008536 <span class="entry_type_container">x</span>
8537
8538 <span class="entry_type_array">
8539 2
8540 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008541 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008542 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8543
8544
8545 </td> <!-- entry_type -->
8546
8547 <td class="entry_description">
8548 Estimation of sensor noise
8549 characteristics
8550 </td>
8551
8552 <td class="entry_units">
8553 var(raw pixel value) = electrons * (baseGainFactor
8554 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8555 B
8556 </td>
8557
8558 <td class="entry_range">
8559 </td>
8560
8561 <td class="entry_notes">
8562 A represents sensor read noise before analog
8563 amplification; B represents noise from A/<wbr>D conversion and
8564 other circuits after amplification.<wbr> Both noise sources
8565 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8566 across the sensor
8567 </td>
8568
8569 <td class="entry_tags">
8570 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008571 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008572 </ul>
8573 </td>
8574
8575 </tr> <!-- end of entry -->
8576
8577
8578 <tr class="entry" id="static_android.sensor.orientation">
8579 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008581 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008582
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008583 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008584
8585
8586 </td> <!-- entry_type -->
8587
8588 <td class="entry_description">
8589 Clockwise angle through which the output
8590 image needs to be rotated to be upright on the device
8591 screen in its native orientation.<wbr> Also defines the
8592 direction of rolling shutter readout,<wbr> which is from top
8593 to bottom in the sensor's coordinate system
8594 </td>
8595
8596 <td class="entry_units">
8597 degrees clockwise rotation,<wbr> only multiples of
8598 90
8599 </td>
8600
8601 <td class="entry_range">
8602 0,<wbr>90,<wbr>180,<wbr>270
8603 </td>
8604
8605 <td class="entry_notes">
8606 </td>
8607
8608 <td class="entry_tags">
8609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008610 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008611 </ul>
8612 </td>
8613
8614 </tr> <!-- end of entry -->
8615
8616
8617 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8618 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008620 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008622 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008623
8624 <ul class="entry_type_enum">
8625 <li>
8626 <span class="entry_type_enum_name">DAYLIGHT</span>
8627 <span class="entry_type_enum_value">1</span>
8628 </li>
8629 <li>
8630 <span class="entry_type_enum_name">FLUORESCENT</span>
8631 <span class="entry_type_enum_value">2</span>
8632 </li>
8633 <li>
8634 <span class="entry_type_enum_name">TUNGSTEN</span>
8635 <span class="entry_type_enum_value">3</span>
8636 <span class="entry_type_enum_notes">Incandescent light</span>
8637 </li>
8638 <li>
8639 <span class="entry_type_enum_name">FLASH</span>
8640 <span class="entry_type_enum_value">4</span>
8641 </li>
8642 <li>
8643 <span class="entry_type_enum_name">FINE_WEATHER</span>
8644 <span class="entry_type_enum_value">9</span>
8645 </li>
8646 <li>
8647 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8648 <span class="entry_type_enum_value">10</span>
8649 </li>
8650 <li>
8651 <span class="entry_type_enum_name">SHADE</span>
8652 <span class="entry_type_enum_value">11</span>
8653 </li>
8654 <li>
8655 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8656 <span class="entry_type_enum_value">12</span>
8657 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8658 </li>
8659 <li>
8660 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8661 <span class="entry_type_enum_value">13</span>
8662 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8663 </li>
8664 <li>
8665 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8666 <span class="entry_type_enum_value">14</span>
8667 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8668 </li>
8669 <li>
8670 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8671 <span class="entry_type_enum_value">15</span>
8672 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8673 </li>
8674 <li>
8675 <span class="entry_type_enum_name">STANDARD_A</span>
8676 <span class="entry_type_enum_value">17</span>
8677 </li>
8678 <li>
8679 <span class="entry_type_enum_name">STANDARD_B</span>
8680 <span class="entry_type_enum_value">18</span>
8681 </li>
8682 <li>
8683 <span class="entry_type_enum_name">STANDARD_C</span>
8684 <span class="entry_type_enum_value">19</span>
8685 </li>
8686 <li>
8687 <span class="entry_type_enum_name">D55</span>
8688 <span class="entry_type_enum_value">20</span>
8689 </li>
8690 <li>
8691 <span class="entry_type_enum_name">D65</span>
8692 <span class="entry_type_enum_value">21</span>
8693 </li>
8694 <li>
8695 <span class="entry_type_enum_name">D75</span>
8696 <span class="entry_type_enum_value">22</span>
8697 </li>
8698 <li>
8699 <span class="entry_type_enum_name">D50</span>
8700 <span class="entry_type_enum_value">23</span>
8701 </li>
8702 <li>
8703 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8704 <span class="entry_type_enum_value">24</span>
8705 </li>
8706 </ul>
8707
8708 </td> <!-- entry_type -->
8709
8710 <td class="entry_description">
8711 Light source used to define transform
8712 1
8713 </td>
8714
8715 <td class="entry_units">
8716 </td>
8717
8718 <td class="entry_range">
8719 </td>
8720
8721 <td class="entry_notes">
8722 [EXIF LightSource tag] Must all these be
8723 supported? Need CCT for each!
8724 </td>
8725
8726 <td class="entry_tags">
8727 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008728 <li><a href="#tag_DNG">DNG</a></li>
8729 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008730 </ul>
8731 </td>
8732
8733 </tr> <!-- end of entry -->
8734
8735
8736 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8737 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8738 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008739 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008740
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008741 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008742
8743
8744 </td> <!-- entry_type -->
8745
8746 <td class="entry_description">
8747 Light source used to define transform
8748 2
8749 </td>
8750
8751 <td class="entry_units">
8752 Same as illuminant 1
8753 </td>
8754
8755 <td class="entry_range">
8756 </td>
8757
8758 <td class="entry_notes">
8759 </td>
8760
8761 <td class="entry_tags">
8762 </td>
8763
8764 </tr> <!-- end of entry -->
8765
8766
8767
8768 <!-- end of kind -->
8769 </tbody>
8770 <tr><td colspan="7" class="kind">dynamic</td></tr>
8771
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008772 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008773 <tr>
8774 <th class="th_name">Property Name</th>
8775 <th class="th_type">Type</th>
8776 <th class="th_description">Description</th>
8777 <th class="th_units">Units</th>
8778 <th class="th_range">Range</th>
8779 <th class="th_notes">Notes</th>
8780 <th class="th_tags">Tags</th>
8781 </tr>
8782 </thead>
8783
8784 <tbody>
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8796 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8797 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008798 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008799
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008800 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008801
8802
8803 </td> <!-- entry_type -->
8804
8805 <td class="entry_description">
8806 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008807 light.<wbr>
8808<br>
8809<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8810 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8811
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008812 </td>
8813
8814 <td class="entry_units">
8815 nanoseconds
8816 </td>
8817
8818 <td class="entry_range">
8819 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8820 </td>
8821
8822 <td class="entry_notes">
8823 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8824 </td>
8825
8826 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008827 <ul class="entry_tags">
8828 <li><a href="#tag_V1">V1</a></li>
8829 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008830 </td>
8831
8832 </tr> <!-- end of entry -->
8833
8834
8835 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8836 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008838 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008839
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008840 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008841
8842
8843 </td> <!-- entry_type -->
8844
8845 <td class="entry_description">
8846 Duration from start of frame exposure to
8847 start of next frame exposure
8848 </td>
8849
8850 <td class="entry_units">
8851 nanoseconds
8852 </td>
8853
8854 <td class="entry_range">
8855 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8856 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8857 </td>
8858
8859 <td class="entry_notes">
8860 Exposure time has priority,<wbr> so duration is set to
8861 max(duration,<wbr> exposure time + overhead)
8862 </td>
8863
8864 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008865 <ul class="entry_tags">
8866 <li><a href="#tag_V1">V1</a></li>
8867 <li><a href="#tag_BC">BC</a></li>
8868 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008869 </td>
8870
8871 </tr> <!-- end of entry -->
8872
8873
8874 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8875 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8876 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008877 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008878
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008879 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008880
8881
8882 </td> <!-- entry_type -->
8883
8884 <td class="entry_description">
8885 Gain applied to image data.<wbr> Must be
8886 implemented through analog gain only if set to values
8887 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008888<br>
8889<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8890 gain to the nearest possible value (rather than gain more).<wbr>
8891
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008892 </td>
8893
8894 <td class="entry_units">
8895 ISO arithmetic units
8896 </td>
8897
8898 <td class="entry_range">
8899 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8900 </td>
8901
8902 <td class="entry_notes">
8903 ISO 12232:2006 REI method
8904 </td>
8905
8906 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008907 <ul class="entry_tags">
8908 <li><a href="#tag_V1">V1</a></li>
8909 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008910 </td>
8911
8912 </tr> <!-- end of entry -->
8913
8914
8915 <tr class="entry" id="dynamic_android.sensor.timestamp">
8916 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8917 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008918 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008919
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008920 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008921
8922
8923 </td> <!-- entry_type -->
8924
8925 <td class="entry_description">
8926 Time at start of exposure of first
8927 row
8928 </td>
8929
8930 <td class="entry_units">
8931 nanoseconds
8932 </td>
8933
8934 <td class="entry_range">
8935 > 0
8936 </td>
8937
8938 <td class="entry_notes">
8939 Monotonic,<wbr> should be synced to other timestamps in
8940 system
8941 </td>
8942
8943 <td class="entry_tags">
8944 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008945 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008946 </ul>
8947 </td>
8948
8949 </tr> <!-- end of entry -->
8950
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008951
8952 <tr class="entry" id="dynamic_android.sensor.temperature">
8953 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8954 <td class="entry_type">
8955 <span class="entry_type_name">float</span>
8956
8957 <span class="entry_type_visibility"> [public]</span>
8958
8959
8960 </td> <!-- entry_type -->
8961
8962 <td class="entry_description">
8963 The temperature of the sensor,<wbr> sampled at the time
8964 exposure began for this frame.<wbr>
8965<br>
8966<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
8967 somewhere close to it.<wbr>
8968
8969 </td>
8970
8971 <td class="entry_units">
8972 celsius
8973 </td>
8974
8975 <td class="entry_range">
8976 Optional.<wbr> This value is missing if no temperature is available.<wbr>
8977 </td>
8978
8979 <td class="entry_notes">
8980 </td>
8981
8982 <td class="entry_tags">
8983 </td>
8984
8985 </tr> <!-- end of entry -->
8986
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008987
8988
8989 <!-- end of kind -->
8990 </tbody>
8991
8992 <!-- end of section -->
8993 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
8994
8995
8996 <tr><td colspan="7" class="kind">controls</td></tr>
8997
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008998 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008999 <tr>
9000 <th class="th_name">Property Name</th>
9001 <th class="th_type">Type</th>
9002 <th class="th_description">Description</th>
9003 <th class="th_units">Units</th>
9004 <th class="th_range">Range</th>
9005 <th class="th_notes">Notes</th>
9006 <th class="th_tags">Tags</th>
9007 </tr>
9008 </thead>
9009
9010 <tbody>
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021 <tr class="entry" id="controls_android.shading.mode">
9022 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009024 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009025
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009026 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009027
9028 <ul class="entry_type_enum">
9029 <li>
9030 <span class="entry_type_enum_name">OFF</span>
9031 <span class="entry_type_enum_notes">No shading correction is applied</span>
9032 </li>
9033 <li>
9034 <span class="entry_type_enum_name">FAST</span>
9035 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9036 bayer output</span>
9037 </li>
9038 <li>
9039 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9040 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9041 quality</span>
9042 </li>
9043 </ul>
9044
9045 </td> <!-- entry_type -->
9046
9047 <td class="entry_description">
9048 Quality of lens shading correction applied
9049 to the image data
9050 </td>
9051
9052 <td class="entry_units">
9053 </td>
9054
9055 <td class="entry_range">
9056 </td>
9057
9058 <td class="entry_notes">
9059 </td>
9060
9061 <td class="entry_tags">
9062 </td>
9063
9064 </tr> <!-- end of entry -->
9065
9066
9067 <tr class="entry" id="controls_android.shading.strength">
9068 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9069 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009070 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009071
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009072 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009073
9074
9075 </td> <!-- entry_type -->
9076
9077 <td class="entry_description">
9078 Control the amount of shading correction
9079 applied to the images
9080 </td>
9081
9082 <td class="entry_units">
9083 unitless: 1-10; 10 is full shading
9084 compensation
9085 </td>
9086
9087 <td class="entry_range">
9088 </td>
9089
9090 <td class="entry_notes">
9091 </td>
9092
9093 <td class="entry_tags">
9094 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009095 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009096 </ul>
9097 </td>
9098
9099 </tr> <!-- end of entry -->
9100
9101
9102
9103 <!-- end of kind -->
9104 </tbody>
9105 <tr><td colspan="7" class="kind">dynamic</td></tr>
9106
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009107 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009108 <tr>
9109 <th class="th_name">Property Name</th>
9110 <th class="th_type">Type</th>
9111 <th class="th_description">Description</th>
9112 <th class="th_units">Units</th>
9113 <th class="th_range">Range</th>
9114 <th class="th_notes">Notes</th>
9115 <th class="th_tags">Tags</th>
9116 </tr>
9117 </thead>
9118
9119 <tbody>
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130 <tr class="entry" id="dynamic_android.shading.mode">
9131 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9132 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009133 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009134
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009135 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009136
9137 <ul class="entry_type_enum">
9138 <li>
9139 <span class="entry_type_enum_name">OFF</span>
9140 <span class="entry_type_enum_notes">No shading correction is applied</span>
9141 </li>
9142 <li>
9143 <span class="entry_type_enum_name">FAST</span>
9144 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9145 bayer output</span>
9146 </li>
9147 <li>
9148 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9149 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9150 quality</span>
9151 </li>
9152 </ul>
9153
9154 </td> <!-- entry_type -->
9155
9156 <td class="entry_description">
9157 Quality of lens shading correction applied
9158 to the image data
9159 </td>
9160
9161 <td class="entry_units">
9162 </td>
9163
9164 <td class="entry_range">
9165 </td>
9166
9167 <td class="entry_notes">
9168 </td>
9169
9170 <td class="entry_tags">
9171 </td>
9172
9173 </tr> <!-- end of entry -->
9174
9175
9176
9177 <!-- end of kind -->
9178 </tbody>
9179
9180 <!-- end of section -->
9181 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9182
9183
9184 <tr><td colspan="7" class="kind">controls</td></tr>
9185
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009186 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009187 <tr>
9188 <th class="th_name">Property Name</th>
9189 <th class="th_type">Type</th>
9190 <th class="th_description">Description</th>
9191 <th class="th_units">Units</th>
9192 <th class="th_range">Range</th>
9193 <th class="th_notes">Notes</th>
9194 <th class="th_tags">Tags</th>
9195 </tr>
9196 </thead>
9197
9198 <tbody>
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9210 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9211 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009212 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009213
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009214 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009215
9216 <ul class="entry_type_enum">
9217 <li>
9218 <span class="entry_type_enum_name">OFF</span>
9219 </li>
9220 <li>
9221 <span class="entry_type_enum_name">SIMPLE</span>
9222 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9223 only</span>
9224 </li>
9225 <li>
9226 <span class="entry_type_enum_name">FULL</span>
9227 <span class="entry_type_enum_notes">Optional Return all face
9228 metadata</span>
9229 </li>
9230 </ul>
9231
9232 </td> <!-- entry_type -->
9233
9234 <td class="entry_description">
9235 State of the face detector
9236 unit
9237 </td>
9238
9239 <td class="entry_units">
9240 </td>
9241
9242 <td class="entry_range">
9243
Zhijun He69fc0ea2013-07-17 09:42:58 -07009244 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009245 </td>
9246
9247 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009248 Whether face detection is enabled,<wbr> and whether it
9249 should output just the basic fields or the full set of
9250 fields.<wbr> Value must be one of the
9251 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009252 </td>
9253
9254 <td class="entry_tags">
9255 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009256 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009257 </ul>
9258 </td>
9259
9260 </tr> <!-- end of entry -->
9261
9262
9263 <tr class="entry" id="controls_android.statistics.histogramMode">
9264 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9265 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009266 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009267
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009268 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009269
9270 <ul class="entry_type_enum">
9271 <li>
9272 <span class="entry_type_enum_name">OFF</span>
9273 </li>
9274 <li>
9275 <span class="entry_type_enum_name">ON</span>
9276 </li>
9277 </ul>
9278
9279 </td> <!-- entry_type -->
9280
9281 <td class="entry_description">
9282 Operating mode for histogram
9283 generation
9284 </td>
9285
9286 <td class="entry_units">
9287 </td>
9288
9289 <td class="entry_range">
9290 </td>
9291
9292 <td class="entry_notes">
9293 </td>
9294
9295 <td class="entry_tags">
9296 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009297 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009298 </ul>
9299 </td>
9300
9301 </tr> <!-- end of entry -->
9302
9303
9304 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9305 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9306 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009307 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009308
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009309 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009310
9311 <ul class="entry_type_enum">
9312 <li>
9313 <span class="entry_type_enum_name">OFF</span>
9314 </li>
9315 <li>
9316 <span class="entry_type_enum_name">ON</span>
9317 </li>
9318 </ul>
9319
9320 </td> <!-- entry_type -->
9321
9322 <td class="entry_description">
9323 Operating mode for sharpness map
9324 generation
9325 </td>
9326
9327 <td class="entry_units">
9328 </td>
9329
9330 <td class="entry_range">
9331 </td>
9332
9333 <td class="entry_notes">
9334 </td>
9335
9336 <td class="entry_tags">
9337 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009338 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009339 </ul>
9340 </td>
9341
9342 </tr> <!-- end of entry -->
9343
Zhijun He69fc0ea2013-07-17 09:42:58 -07009344
9345 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9346 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9347 <td class="entry_type">
9348 <span class="entry_type_name entry_type_name_enum">byte</span>
9349
9350 <span class="entry_type_visibility"> [public]</span>
9351
9352 <ul class="entry_type_enum">
9353 <li>
9354 <span class="entry_type_enum_name">OFF</span>
9355 </li>
9356 <li>
9357 <span class="entry_type_enum_name">ON</span>
9358 </li>
9359 </ul>
9360
9361 </td> <!-- entry_type -->
9362
9363 <td class="entry_description">
9364 Whether the HAL needs to output the lens
9365 shading map in output result metadata
9366 </td>
9367
9368 <td class="entry_units">
9369 </td>
9370
9371 <td class="entry_range">
9372 </td>
9373
9374 <td class="entry_notes">
9375 When set to ON,<wbr>
9376 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9377 the output result metdata.<wbr>
9378 </td>
9379
9380 <td class="entry_tags">
9381 </td>
9382
9383 </tr> <!-- end of entry -->
9384
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009385
9386
9387 <!-- end of kind -->
9388 </tbody>
9389 <tr><td colspan="7" class="kind">static</td></tr>
9390
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009391 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009392 <tr>
9393 <th class="th_name">Property Name</th>
9394 <th class="th_type">Type</th>
9395 <th class="th_description">Description</th>
9396 <th class="th_units">Units</th>
9397 <th class="th_range">Range</th>
9398 <th class="th_notes">Notes</th>
9399 <th class="th_tags">Tags</th>
9400 </tr>
9401 </thead>
9402
9403 <tbody>
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9417 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9418 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009419 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009420 <span class="entry_type_container">x</span>
9421
9422 <span class="entry_type_array">
9423 n
9424 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009425 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009426 <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 -08009427
9428
9429 </td> <!-- entry_type -->
9430
9431 <td class="entry_description">
9432 Which face detection modes are available,<wbr>
9433 if any
9434 </td>
9435
9436 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009437 List of enum:
9438 OFF
9439 SIMPLE
9440 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009441 </td>
9442
9443 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009444 </td>
9445
9446 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009447 OFF means face detection is disabled,<wbr> it must
9448 be included in the list.<wbr>
9449<br>
9450<br> SIMPLE means the device supports the
9451 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9452 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9453<br>
9454<br> FULL means the device additionally supports the
9455 android.<wbr>statistics.<wbr>face<wbr>Ids and
9456 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9457
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009458 </td>
9459
9460 <td class="entry_tags">
9461 </td>
9462
9463 </tr> <!-- end of entry -->
9464
9465
9466 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9467 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009469 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009470
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009471 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009472
9473
9474 </td> <!-- entry_type -->
9475
9476 <td class="entry_description">
9477 Number of histogram buckets
9478 supported
9479 </td>
9480
9481 <td class="entry_units">
9482 </td>
9483
9484 <td class="entry_range">
9485 >= 64
9486 </td>
9487
9488 <td class="entry_notes">
9489 </td>
9490
9491 <td class="entry_tags">
9492 </td>
9493
9494 </tr> <!-- end of entry -->
9495
9496
9497 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9498 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9499 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009500 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009501
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009502 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009503
9504
9505 </td> <!-- entry_type -->
9506
9507 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009508 Maximum number of simultaneously detectable
9509 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009510 </td>
9511
9512 <td class="entry_units">
9513 </td>
9514
9515 <td class="entry_range">
9516 >= 4 if availableFaceDetectionModes lists
9517 modes besides OFF,<wbr> otherwise 0
9518 </td>
9519
9520 <td class="entry_notes">
9521 </td>
9522
9523 <td class="entry_tags">
9524 </td>
9525
9526 </tr> <!-- end of entry -->
9527
9528
9529 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9530 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9531 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009532 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009533
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009534 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009535
9536
9537 </td> <!-- entry_type -->
9538
9539 <td class="entry_description">
9540 Maximum value possible for a histogram
9541 bucket
9542 </td>
9543
9544 <td class="entry_units">
9545 </td>
9546
9547 <td class="entry_range">
9548 </td>
9549
9550 <td class="entry_notes">
9551 </td>
9552
9553 <td class="entry_tags">
9554 </td>
9555
9556 </tr> <!-- end of entry -->
9557
9558
9559 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9560 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9561 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009562 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009563
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009564 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009565
9566
9567 </td> <!-- entry_type -->
9568
9569 <td class="entry_description">
9570 Maximum value possible for a sharpness map
9571 region.<wbr>
9572 </td>
9573
9574 <td class="entry_units">
9575 </td>
9576
9577 <td class="entry_range">
9578 </td>
9579
9580 <td class="entry_notes">
9581 </td>
9582
9583 <td class="entry_tags">
9584 </td>
9585
9586 </tr> <!-- end of entry -->
9587
9588
9589 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9590 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9591 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009592 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009593 <span class="entry_type_container">x</span>
9594
9595 <span class="entry_type_array">
9596 2
9597 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009598 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009599 <div class="entry_type_notes">width x height</div>
9600
9601
9602 </td> <!-- entry_type -->
9603
9604 <td class="entry_description">
9605 Dimensions of the sharpness
9606 map
9607 </td>
9608
9609 <td class="entry_units">
9610 </td>
9611
9612 <td class="entry_range">
9613 Must be at least 32 x 32
9614 </td>
9615
9616 <td class="entry_notes">
9617 </td>
9618
9619 <td class="entry_tags">
9620 </td>
9621
9622 </tr> <!-- end of entry -->
9623
9624
9625
9626
9627
9628
9629 <!-- end of kind -->
9630 </tbody>
9631 <tr><td colspan="7" class="kind">dynamic</td></tr>
9632
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009633 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009634 <tr>
9635 <th class="th_name">Property Name</th>
9636 <th class="th_type">Type</th>
9637 <th class="th_description">Description</th>
9638 <th class="th_units">Units</th>
9639 <th class="th_range">Range</th>
9640 <th class="th_notes">Notes</th>
9641 <th class="th_tags">Tags</th>
9642 </tr>
9643 </thead>
9644
9645 <tbody>
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9657 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9658 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009659 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009660
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009661 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009662
9663 <ul class="entry_type_enum">
9664 <li>
9665 <span class="entry_type_enum_name">OFF</span>
9666 </li>
9667 <li>
9668 <span class="entry_type_enum_name">SIMPLE</span>
9669 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9670 only</span>
9671 </li>
9672 <li>
9673 <span class="entry_type_enum_name">FULL</span>
9674 <span class="entry_type_enum_notes">Optional Return all face
9675 metadata</span>
9676 </li>
9677 </ul>
9678
9679 </td> <!-- entry_type -->
9680
9681 <td class="entry_description">
9682 State of the face detector
9683 unit
9684 </td>
9685
9686 <td class="entry_units">
9687 </td>
9688
9689 <td class="entry_range">
9690
Zhijun He69fc0ea2013-07-17 09:42:58 -07009691 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009692 </td>
9693
9694 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009695 Whether face detection is enabled,<wbr> and whether it
9696 should output just the basic fields or the full set of
9697 fields.<wbr> Value must be one of the
9698 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009699 </td>
9700
9701 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009702 <ul class="entry_tags">
9703 <li><a href="#tag_BC">BC</a></li>
9704 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009705 </td>
9706
9707 </tr> <!-- end of entry -->
9708
9709
9710 <tr class="entry" id="dynamic_android.statistics.faceIds">
9711 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9712 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009713 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009714 <span class="entry_type_container">x</span>
9715
9716 <span class="entry_type_array">
9717 n
9718 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009719 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009720
9721
9722 </td> <!-- entry_type -->
9723
9724 <td class="entry_description">
9725 List of unique IDs for detected
9726 faces
9727 </td>
9728
9729 <td class="entry_units">
9730 </td>
9731
9732 <td class="entry_range">
9733 </td>
9734
9735 <td class="entry_notes">
9736 Only available if faceDetectMode == FULL
9737 </td>
9738
9739 <td class="entry_tags">
9740 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009741 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009742 </ul>
9743 </td>
9744
9745 </tr> <!-- end of entry -->
9746
9747
9748 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9749 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009751 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009752 <span class="entry_type_container">x</span>
9753
9754 <span class="entry_type_array">
9755 n x 6
9756 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009757 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009758 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9759
9760
9761 </td> <!-- entry_type -->
9762
9763 <td class="entry_description">
9764 List of landmarks for detected
9765 faces
9766 </td>
9767
9768 <td class="entry_units">
9769 </td>
9770
9771 <td class="entry_range">
9772 </td>
9773
9774 <td class="entry_notes">
9775 Only available if faceDetectMode == FULL
9776 </td>
9777
9778 <td class="entry_tags">
9779 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009780 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009781 </ul>
9782 </td>
9783
9784 </tr> <!-- end of entry -->
9785
9786
9787 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9788 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9789 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009790 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009791 <span class="entry_type_container">x</span>
9792
9793 <span class="entry_type_array">
9794 n x 4
9795 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009796 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009797 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9798
9799
9800 </td> <!-- entry_type -->
9801
9802 <td class="entry_description">
9803 List of the bounding rectangles for detected
9804 faces
9805 </td>
9806
9807 <td class="entry_units">
9808 </td>
9809
9810 <td class="entry_range">
9811 </td>
9812
9813 <td class="entry_notes">
9814 Only available if faceDetectMode != OFF
9815 </td>
9816
9817 <td class="entry_tags">
9818 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009819 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009820 </ul>
9821 </td>
9822
9823 </tr> <!-- end of entry -->
9824
9825
9826 <tr class="entry" id="dynamic_android.statistics.faceScores">
9827 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9828 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009829 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009830 <span class="entry_type_container">x</span>
9831
9832 <span class="entry_type_array">
9833 n
9834 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009835 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009836
9837
9838 </td> <!-- entry_type -->
9839
9840 <td class="entry_description">
9841 List of the face confidence scores for
9842 detected faces
9843 </td>
9844
9845 <td class="entry_units">
9846 </td>
9847
9848 <td class="entry_range">
9849 0-100
9850 </td>
9851
9852 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009853 Only available if faceDetectMode != OFF.<wbr> The value should be
9854 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009855 </td>
9856
9857 <td class="entry_tags">
9858 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009859 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860 </ul>
9861 </td>
9862
9863 </tr> <!-- end of entry -->
9864
9865
9866 <tr class="entry" id="dynamic_android.statistics.histogram">
9867 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9868 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009869 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009870 <span class="entry_type_container">x</span>
9871
9872 <span class="entry_type_array">
9873 n x 3
9874 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009875 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009876 <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>
9877
9878
9879 </td> <!-- entry_type -->
9880
9881 <td class="entry_description">
9882 A 3-channel histogram based on the raw
9883 sensor data
9884 </td>
9885
9886 <td class="entry_units">
9887 </td>
9888
9889 <td class="entry_range">
9890 </td>
9891
9892 <td class="entry_notes">
9893 The k'th bucket (0-based) covers the input range
9894 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9895 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9896 supported,<wbr> all channels should have the same data
9897 </td>
9898
9899 <td class="entry_tags">
9900 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009901 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009902 </ul>
9903 </td>
9904
9905 </tr> <!-- end of entry -->
9906
9907
9908 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9909 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9910 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009911 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009912
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009913 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009914
9915 <ul class="entry_type_enum">
9916 <li>
9917 <span class="entry_type_enum_name">OFF</span>
9918 </li>
9919 <li>
9920 <span class="entry_type_enum_name">ON</span>
9921 </li>
9922 </ul>
9923
9924 </td> <!-- entry_type -->
9925
9926 <td class="entry_description">
9927 Operating mode for histogram
9928 generation
9929 </td>
9930
9931 <td class="entry_units">
9932 </td>
9933
9934 <td class="entry_range">
9935 </td>
9936
9937 <td class="entry_notes">
9938 </td>
9939
9940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009941 <ul class="entry_tags">
9942 <li><a href="#tag_V1">V1</a></li>
9943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009944 </td>
9945
9946 </tr> <!-- end of entry -->
9947
9948
9949 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9950 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009952 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009953 <span class="entry_type_container">x</span>
9954
9955 <span class="entry_type_array">
9956 n x m x 3
9957 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009958 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009959 <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>
9960
9961
9962 </td> <!-- entry_type -->
9963
9964 <td class="entry_description">
9965 A 3-channel sharpness map,<wbr> based on the raw
9966 sensor data
9967 </td>
9968
9969 <td class="entry_units">
9970 </td>
9971
9972 <td class="entry_range">
9973 </td>
9974
9975 <td class="entry_notes">
9976 If only a monochrome sharpness map is supported,<wbr>
9977 all channels should have the same data
9978 </td>
9979
9980 <td class="entry_tags">
9981 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009982 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009983 </ul>
9984 </td>
9985
9986 </tr> <!-- end of entry -->
9987
9988
9989 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
9990 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009992 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009993
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009994 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009995
9996 <ul class="entry_type_enum">
9997 <li>
9998 <span class="entry_type_enum_name">OFF</span>
9999 </li>
10000 <li>
10001 <span class="entry_type_enum_name">ON</span>
10002 </li>
10003 </ul>
10004
10005 </td> <!-- entry_type -->
10006
10007 <td class="entry_description">
10008 Operating mode for sharpness map
10009 generation
10010 </td>
10011
10012 <td class="entry_units">
10013 </td>
10014
10015 <td class="entry_range">
10016 </td>
10017
10018 <td class="entry_notes">
10019 </td>
10020
10021 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010022 <ul class="entry_tags">
10023 <li><a href="#tag_V1">V1</a></li>
10024 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010025 </td>
10026
10027 </tr> <!-- end of entry -->
10028
Zhijun He69fc0ea2013-07-17 09:42:58 -070010029
10030 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10031 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10032 <td class="entry_type">
10033 <span class="entry_type_name">float</span>
10034 <span class="entry_type_container">x</span>
10035
10036 <span class="entry_type_array">
10037 4 x n x m
10038 </span>
10039 <span class="entry_type_visibility"> [public]</span>
10040 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10041
10042
10043 </td> <!-- entry_type -->
10044
10045 <td class="entry_description">
10046 A low-resolution map of lens shading,<wbr> per
10047 color channel
10048 </td>
10049
10050 <td class="entry_units">
10051 </td>
10052
10053 <td class="entry_range">
10054 Each gain factor is >= 1
10055 </td>
10056
10057 <td class="entry_notes">
10058 Assume bilinear interpolation of map.<wbr> The least
10059 shaded section of the image should have a gain factor
10060 of 1; all other sections should have gains above 1.<wbr>
10061 the map should be on the order of 30-40 rows,<wbr> and
10062 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010063<br>
10064<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10065 must take into account the colorCorrection settings.<wbr>
10066
Zhijun He69fc0ea2013-07-17 09:42:58 -070010067 </td>
10068
10069 <td class="entry_tags">
10070 </td>
10071
10072 </tr> <!-- end of entry -->
10073
10074
10075 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10076 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10077 <td class="entry_type">
10078 <span class="entry_type_name">float</span>
10079 <span class="entry_type_container">x</span>
10080
10081 <span class="entry_type_array">
10082 4
10083 </span>
10084 <span class="entry_type_visibility"> [public]</span>
10085 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10086
10087
10088 </td> <!-- entry_type -->
10089
10090 <td class="entry_description">
10091 The best-fit color channel gains calculated
10092 by the HAL's statistics units for the current output frame
10093
10094 </td>
10095
10096 <td class="entry_units">
10097 </td>
10098
10099 <td class="entry_range">
10100 </td>
10101
10102 <td class="entry_notes">
10103
10104 This may be different than the gains used for this frame,<wbr>
10105 since statistics processing on data from a new frame
10106 typically completes after the transform has already been
10107 applied to that frame.<wbr>
10108<br>
10109<br> The 4 channel gains are defined in Bayer domain,<wbr>
10110 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010111<br>
10112<br> This value should always be calculated by the AWB block,<wbr>
10113 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10114
Zhijun He69fc0ea2013-07-17 09:42:58 -070010115 </td>
10116
10117 <td class="entry_tags">
10118 </td>
10119
10120 </tr> <!-- end of entry -->
10121
10122
10123 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10124 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10125 <td class="entry_type">
10126 <span class="entry_type_name">rational</span>
10127 <span class="entry_type_container">x</span>
10128
10129 <span class="entry_type_array">
10130 3 x 3
10131 </span>
10132 <span class="entry_type_visibility"> [public]</span>
10133 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10134
10135
10136 </td> <!-- entry_type -->
10137
10138 <td class="entry_description">
10139 The best-fit color transform matrix estimate
10140 calculated by the HAL's statistics units for the current
10141 output frame
10142 </td>
10143
10144 <td class="entry_units">
10145 </td>
10146
10147 <td class="entry_range">
10148 </td>
10149
10150 <td class="entry_notes">
10151 The HAL must provide the estimate from its
10152 statistics unit on the white balance transforms to use
10153 for the next frame.<wbr> These are the values the HAL believes
10154 are the best fit for the current output frame.<wbr> This may
10155 be different than the transform used for this frame,<wbr> since
10156 statistics processing on data from a new frame typically
10157 completes after the transform has already been applied to
10158 that frame.<wbr>
10159<br>
10160<br> These estimates must be provided for all frames,<wbr> even if
10161 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010162<br>
10163<br> This value should always be calculated by the AWB block,<wbr>
10164 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010165
10166 </td>
10167
10168 <td class="entry_tags">
10169 </td>
10170
10171 </tr> <!-- end of entry -->
10172
10173
10174 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10175 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10176 <td class="entry_type">
10177 <span class="entry_type_name entry_type_name_enum">byte</span>
10178
10179 <span class="entry_type_visibility"> [public]</span>
10180
10181 <ul class="entry_type_enum">
10182 <li>
10183 <span class="entry_type_enum_name">NONE</span>
10184 </li>
10185 <li>
10186 <span class="entry_type_enum_name">50HZ</span>
10187 </li>
10188 <li>
10189 <span class="entry_type_enum_name">60HZ</span>
10190 </li>
10191 </ul>
10192
10193 </td> <!-- entry_type -->
10194
10195 <td class="entry_description">
10196 The HAL estimated scene illumination lighting
10197 frequency
10198 </td>
10199
10200 <td class="entry_units">
10201 </td>
10202
10203 <td class="entry_range">
10204 </td>
10205
10206 <td class="entry_notes">
10207 Report NONE if there doesn't appear to be flickering
10208 illumination
10209 </td>
10210
10211 <td class="entry_tags">
10212 </td>
10213
10214 </tr> <!-- end of entry -->
10215
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010216
10217
10218 <!-- end of kind -->
10219 </tbody>
10220
10221 <!-- end of section -->
10222 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10223
10224
10225 <tr><td colspan="7" class="kind">controls</td></tr>
10226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010227 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010228 <tr>
10229 <th class="th_name">Property Name</th>
10230 <th class="th_type">Type</th>
10231 <th class="th_description">Description</th>
10232 <th class="th_units">Units</th>
10233 <th class="th_range">Range</th>
10234 <th class="th_notes">Notes</th>
10235 <th class="th_tags">Tags</th>
10236 </tr>
10237 </thead>
10238
10239 <tbody>
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250 <tr class="entry" id="controls_android.tonemap.curveBlue">
10251 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10252 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010253 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010254 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010255
Zhijun He704d1282013-08-19 15:26:33 -070010256 <span class="entry_type_array">
10257 n x 2
10258 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010259 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010260 <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 -080010261
10262
10263 </td> <!-- entry_type -->
10264
10265 <td class="entry_description">
10266 Table mapping blue input values to output
10267 values
10268 </td>
10269
10270 <td class="entry_units">
10271 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10272 </td>
10273
10274 <td class="entry_range">
10275 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10276 </td>
10277
10278 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010279 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10280 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10281<br>
10282<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010283 </td>
10284
10285 <td class="entry_tags">
10286 </td>
10287
10288 </tr> <!-- end of entry -->
10289
10290
10291 <tr class="entry" id="controls_android.tonemap.curveGreen">
10292 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10293 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010294 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010295 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010296
Zhijun He704d1282013-08-19 15:26:33 -070010297 <span class="entry_type_array">
10298 n x 2
10299 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010300 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010301 <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 -080010302
10303
10304 </td> <!-- entry_type -->
10305
10306 <td class="entry_description">
10307 Table mapping green input values to output
10308 values
10309 </td>
10310
10311 <td class="entry_units">
10312 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10313 </td>
10314
10315 <td class="entry_range">
10316 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10317 </td>
10318
10319 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010320 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10321 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10322<br>
10323<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010324 </td>
10325
10326 <td class="entry_tags">
10327 </td>
10328
10329 </tr> <!-- end of entry -->
10330
10331
10332 <tr class="entry" id="controls_android.tonemap.curveRed">
10333 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10334 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010335 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010336 <span class="entry_type_container">x</span>
10337
10338 <span class="entry_type_array">
10339 n x 2
10340 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010341 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010342 <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 -080010343
10344
10345 </td> <!-- entry_type -->
10346
10347 <td class="entry_description">
10348 Table mapping red input values to output
10349 values
10350 </td>
10351
10352 <td class="entry_units">
10353 </td>
10354
10355 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010356 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010357 </td>
10358
10359 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010360 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10361 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10362<br>
10363<br> Since the input and output ranges may vary depending on
10364 the camera pipeline,<wbr> the input and output pixel values
10365 are represented by normalized floating-point values
10366 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10367<br>
10368<br> The curve should be linearly interpolated between the
10369 defined points.<wbr> The points will be listed in increasing
10370 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 -080010371 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10372 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10373 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10374 </td>
10375
10376 <td class="entry_tags">
10377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010378 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010379 </ul>
10380 </td>
10381
10382 </tr> <!-- end of entry -->
10383
10384
10385 <tr class="entry" id="controls_android.tonemap.mode">
10386 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010388 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010389
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010390 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010391
10392 <ul class="entry_type_enum">
10393 <li>
10394 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10395 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10396 android.<wbr>tonemap.<wbr>curve</span>
10397 </li>
10398 <li>
10399 <span class="entry_type_enum_name">FAST</span>
10400 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10401 bayer output</span>
10402 </li>
10403 <li>
10404 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10405 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10406 quality</span>
10407 </li>
10408 </ul>
10409
10410 </td> <!-- entry_type -->
10411
10412 <td class="entry_description">
10413 </td>
10414
10415 <td class="entry_units">
10416 </td>
10417
10418 <td class="entry_range">
10419 </td>
10420
10421 <td class="entry_notes">
10422 </td>
10423
10424 <td class="entry_tags">
10425 </td>
10426
10427 </tr> <!-- end of entry -->
10428
10429
10430
10431 <!-- end of kind -->
10432 </tbody>
10433 <tr><td colspan="7" class="kind">static</td></tr>
10434
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010435 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010436 <tr>
10437 <th class="th_name">Property Name</th>
10438 <th class="th_type">Type</th>
10439 <th class="th_description">Description</th>
10440 <th class="th_units">Units</th>
10441 <th class="th_range">Range</th>
10442 <th class="th_notes">Notes</th>
10443 <th class="th_tags">Tags</th>
10444 </tr>
10445 </thead>
10446
10447 <tbody>
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10459 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10460 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010461 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010462
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010463 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010464
10465
10466 </td> <!-- entry_type -->
10467
10468 <td class="entry_description">
10469 Maximum number of supported points in the
10470 tonemap curve
10471 </td>
10472
10473 <td class="entry_units">
10474 </td>
10475
10476 <td class="entry_range">
10477 >= 128
10478 </td>
10479
10480 <td class="entry_notes">
10481 </td>
10482
10483 <td class="entry_tags">
10484 </td>
10485
10486 </tr> <!-- end of entry -->
10487
10488
10489
10490 <!-- end of kind -->
10491 </tbody>
10492 <tr><td colspan="7" class="kind">dynamic</td></tr>
10493
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010494 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010495 <tr>
10496 <th class="th_name">Property Name</th>
10497 <th class="th_type">Type</th>
10498 <th class="th_description">Description</th>
10499 <th class="th_units">Units</th>
10500 <th class="th_range">Range</th>
10501 <th class="th_notes">Notes</th>
10502 <th class="th_tags">Tags</th>
10503 </tr>
10504 </thead>
10505
10506 <tbody>
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10518 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10519 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010520 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010521 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010522
Zhijun He704d1282013-08-19 15:26:33 -070010523 <span class="entry_type_array">
10524 n x 2
10525 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010526 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010527 <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 -080010528
10529
10530 </td> <!-- entry_type -->
10531
10532 <td class="entry_description">
10533 Table mapping blue input values to output
10534 values
10535 </td>
10536
10537 <td class="entry_units">
10538 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10539 </td>
10540
10541 <td class="entry_range">
10542 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10543 </td>
10544
10545 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010546 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10547 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10548<br>
10549<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010550 </td>
10551
10552 <td class="entry_tags">
10553 </td>
10554
10555 </tr> <!-- end of entry -->
10556
10557
10558 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10559 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10560 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010561 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010562 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010563
Zhijun He704d1282013-08-19 15:26:33 -070010564 <span class="entry_type_array">
10565 n x 2
10566 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010567 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010568 <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 -080010569
10570
10571 </td> <!-- entry_type -->
10572
10573 <td class="entry_description">
10574 Table mapping green input values to output
10575 values
10576 </td>
10577
10578 <td class="entry_units">
10579 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10580 </td>
10581
10582 <td class="entry_range">
10583 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10584 </td>
10585
10586 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010587 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10588 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10589<br>
10590<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010591 </td>
10592
10593 <td class="entry_tags">
10594 </td>
10595
10596 </tr> <!-- end of entry -->
10597
10598
10599 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10600 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010602 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010603 <span class="entry_type_container">x</span>
10604
10605 <span class="entry_type_array">
10606 n x 2
10607 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010608 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010609 <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 -080010610
10611
10612 </td> <!-- entry_type -->
10613
10614 <td class="entry_description">
10615 Table mapping red input values to output
10616 values
10617 </td>
10618
10619 <td class="entry_units">
10620 </td>
10621
10622 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010623 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010624 </td>
10625
10626 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010627 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10628 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10629<br>
10630<br> Since the input and output ranges may vary depending on
10631 the camera pipeline,<wbr> the input and output pixel values
10632 are represented by normalized floating-point values
10633 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10634<br>
10635<br> The curve should be linearly interpolated between the
10636 defined points.<wbr> The points will be listed in increasing
10637 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 -080010638 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10639 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10640 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10641 </td>
10642
10643 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010644 <ul class="entry_tags">
10645 <li><a href="#tag_DNG">DNG</a></li>
10646 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010647 </td>
10648
10649 </tr> <!-- end of entry -->
10650
10651
10652 <tr class="entry" id="dynamic_android.tonemap.mode">
10653 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10654 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010655 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010657 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010658
10659 <ul class="entry_type_enum">
10660 <li>
10661 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10662 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10663 android.<wbr>tonemap.<wbr>curve</span>
10664 </li>
10665 <li>
10666 <span class="entry_type_enum_name">FAST</span>
10667 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10668 bayer output</span>
10669 </li>
10670 <li>
10671 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10672 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10673 quality</span>
10674 </li>
10675 </ul>
10676
10677 </td> <!-- entry_type -->
10678
10679 <td class="entry_description">
10680 </td>
10681
10682 <td class="entry_units">
10683 </td>
10684
10685 <td class="entry_range">
10686 </td>
10687
10688 <td class="entry_notes">
10689 </td>
10690
10691 <td class="entry_tags">
10692 </td>
10693
10694 </tr> <!-- end of entry -->
10695
10696
10697
10698 <!-- end of kind -->
10699 </tbody>
10700
10701 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010702 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10703
10704
10705 <tr><td colspan="7" class="kind">controls</td></tr>
10706
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010707 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010708 <tr>
10709 <th class="th_name">Property Name</th>
10710 <th class="th_type">Type</th>
10711 <th class="th_description">Description</th>
10712 <th class="th_units">Units</th>
10713 <th class="th_range">Range</th>
10714 <th class="th_notes">Notes</th>
10715 <th class="th_tags">Tags</th>
10716 </tr>
10717 </thead>
10718
10719 <tbody>
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730 <tr class="entry" id="controls_android.led.transmit">
10731 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10732 <td class="entry_type">
10733 <span class="entry_type_name entry_type_name_enum">byte</span>
10734
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010735 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010736
10737 <ul class="entry_type_enum">
10738 <li>
10739 <span class="entry_type_enum_name">OFF</span>
10740 </li>
10741 <li>
10742 <span class="entry_type_enum_name">ON</span>
10743 </li>
10744 </ul>
10745
10746 </td> <!-- entry_type -->
10747
10748 <td class="entry_description">
10749 This LED is nominally used to indicate to the user
10750 that the camera is powered on and may be streaming images back to the
10751 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10752 disable this when video is processed locally and not transmitted to
10753 any untrusted applications.<wbr>
10754<br>
10755<br> In particular,<wbr> the LED *must* always be on when the data could be
10756 transmitted off the device.<wbr> The LED *should* always be on whenever
10757 data is stored locally on the device.<wbr>
10758<br>
10759<br> The LED *may* be off if a trusted application is using the data that
10760 doesn't violate the above rules.<wbr>
10761
10762 </td>
10763
10764 <td class="entry_units">
10765 </td>
10766
10767 <td class="entry_range">
10768 </td>
10769
10770 <td class="entry_notes">
10771 </td>
10772
10773 <td class="entry_tags">
10774 </td>
10775
10776 </tr> <!-- end of entry -->
10777
10778
10779
10780 <!-- end of kind -->
10781 </tbody>
10782 <tr><td colspan="7" class="kind">dynamic</td></tr>
10783
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010784 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010785 <tr>
10786 <th class="th_name">Property Name</th>
10787 <th class="th_type">Type</th>
10788 <th class="th_description">Description</th>
10789 <th class="th_units">Units</th>
10790 <th class="th_range">Range</th>
10791 <th class="th_notes">Notes</th>
10792 <th class="th_tags">Tags</th>
10793 </tr>
10794 </thead>
10795
10796 <tbody>
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807 <tr class="entry" id="dynamic_android.led.transmit">
10808 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10809 <td class="entry_type">
10810 <span class="entry_type_name entry_type_name_enum">byte</span>
10811
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010812 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010813
10814 <ul class="entry_type_enum">
10815 <li>
10816 <span class="entry_type_enum_name">OFF</span>
10817 </li>
10818 <li>
10819 <span class="entry_type_enum_name">ON</span>
10820 </li>
10821 </ul>
10822
10823 </td> <!-- entry_type -->
10824
10825 <td class="entry_description">
10826 This LED is nominally used to indicate to the user
10827 that the camera is powered on and may be streaming images back to the
10828 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10829 disable this when video is processed locally and not transmitted to
10830 any untrusted applications.<wbr>
10831<br>
10832<br> In particular,<wbr> the LED *must* always be on when the data could be
10833 transmitted off the device.<wbr> The LED *should* always be on whenever
10834 data is stored locally on the device.<wbr>
10835<br>
10836<br> The LED *may* be off if a trusted application is using the data that
10837 doesn't violate the above rules.<wbr>
10838
10839 </td>
10840
10841 <td class="entry_units">
10842 </td>
10843
10844 <td class="entry_range">
10845 </td>
10846
10847 <td class="entry_notes">
10848 </td>
10849
10850 <td class="entry_tags">
10851 </td>
10852
10853 </tr> <!-- end of entry -->
10854
10855
10856
10857 <!-- end of kind -->
10858 </tbody>
10859 <tr><td colspan="7" class="kind">static</td></tr>
10860
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010861 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010862 <tr>
10863 <th class="th_name">Property Name</th>
10864 <th class="th_type">Type</th>
10865 <th class="th_description">Description</th>
10866 <th class="th_units">Units</th>
10867 <th class="th_range">Range</th>
10868 <th class="th_notes">Notes</th>
10869 <th class="th_tags">Tags</th>
10870 </tr>
10871 </thead>
10872
10873 <tbody>
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884 <tr class="entry" id="static_android.led.availableLeds">
10885 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10886 <td class="entry_type">
10887 <span class="entry_type_name entry_type_name_enum">byte</span>
10888 <span class="entry_type_container">x</span>
10889
10890 <span class="entry_type_array">
10891 n
10892 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010893 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010894
10895 <ul class="entry_type_enum">
10896 <li>
10897 <span class="entry_type_enum_name">TRANSMIT</span>
10898 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10899 </li>
10900 </ul>
10901
10902 </td> <!-- entry_type -->
10903
10904 <td class="entry_description">
10905 A list of camera LEDs that are available on this system.<wbr>
10906
10907 </td>
10908
10909 <td class="entry_units">
10910 </td>
10911
10912 <td class="entry_range">
10913 </td>
10914
10915 <td class="entry_notes">
10916 </td>
10917
10918 <td class="entry_tags">
10919 </td>
10920
10921 </tr> <!-- end of entry -->
10922
10923
10924
10925 <!-- end of kind -->
10926 </tbody>
10927
10928 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010929 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10930
10931
10932 <tr><td colspan="7" class="kind">static</td></tr>
10933
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010934 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010935 <tr>
10936 <th class="th_name">Property Name</th>
10937 <th class="th_type">Type</th>
10938 <th class="th_description">Description</th>
10939 <th class="th_units">Units</th>
10940 <th class="th_range">Range</th>
10941 <th class="th_notes">Notes</th>
10942 <th class="th_tags">Tags</th>
10943 </tr>
10944 </thead>
10945
10946 <tbody>
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10958 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10959 <td class="entry_type">
10960 <span class="entry_type_name entry_type_name_enum">byte</span>
10961
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010962 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010963
10964 <ul class="entry_type_enum">
10965 <li>
10966 <span class="entry_type_enum_name">LIMITED</span>
10967 </li>
10968 <li>
10969 <span class="entry_type_enum_name">FULL</span>
10970 </li>
10971 </ul>
10972
10973 </td> <!-- entry_type -->
10974
10975 <td class="entry_description">
10976
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010977 The camera 3 HAL device can implement one of two possible
10978 operational modes; limited and full.<wbr> Full support is
10979 expected from new higher-end devices.<wbr> Limited mode has
10980 hardware requirements roughly in line with those for a
10981 camera HAL device v1 implementation,<wbr> and is expected from
10982 older or inexpensive devices.<wbr> Full is a strict superset of
10983 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010984<br>
10985<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
10986
10987 </td>
10988
10989 <td class="entry_units">
10990 </td>
10991
10992 <td class="entry_range">
10993 Optional.<wbr> Default value is LIMITED.<wbr>
10994 </td>
10995
10996 <td class="entry_notes">
10997 </td>
10998
10999 <td class="entry_tags">
11000 </td>
11001
11002 </tr> <!-- end of entry -->
11003
11004
11005
11006 <!-- end of kind -->
11007 </tbody>
11008
11009 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011010 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11011
11012
11013 <tr><td colspan="7" class="kind">controls</td></tr>
11014
11015 <thead class="entries_header">
11016 <tr>
11017 <th class="th_name">Property Name</th>
11018 <th class="th_type">Type</th>
11019 <th class="th_description">Description</th>
11020 <th class="th_units">Units</th>
11021 <th class="th_range">Range</th>
11022 <th class="th_notes">Notes</th>
11023 <th class="th_tags">Tags</th>
11024 </tr>
11025 </thead>
11026
11027 <tbody>
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038 <tr class="entry" id="controls_android.blackLevel.lock">
11039 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11040 <td class="entry_type">
11041 <span class="entry_type_name entry_type_name_enum">byte</span>
11042
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011043 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011044
11045 <ul class="entry_type_enum">
11046 <li>
11047 <span class="entry_type_enum_name">OFF</span>
11048 </li>
11049 <li>
11050 <span class="entry_type_enum_name">ON</span>
11051 </li>
11052 </ul>
11053
11054 </td> <!-- entry_type -->
11055
11056 <td class="entry_description">
11057 Whether black-level compensation is locked
11058 to its current values,<wbr> or is free to vary
11059 </td>
11060
11061 <td class="entry_units">
11062 </td>
11063
11064 <td class="entry_range">
11065 </td>
11066
11067 <td class="entry_notes">
11068 When set to ON,<wbr> the values used for black-level
11069 compensation must not change until the lock is set to
11070 OFF
11071<br>
11072<br> Since changes to certain capture parameters (such as
11073 exposure time) may require resetting of black level
11074 compensation,<wbr> the HAL must report whether setting the
11075 black level lock was successful in the output result
11076 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011077<br>
11078<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11079 If for some reason black level locking is no longer legal (for example,<wbr>
11080 the analog gain has changed,<wbr> which forces black levels to be
11081 recalculated),<wbr> then the HAL is free to override this request (and it
11082 must report 'OFF' when this does happen) until the next time locking
11083 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011084 </td>
11085
11086 <td class="entry_tags">
11087 <ul class="entry_tags">
11088 <li><a href="#tag_HAL2">HAL2</a></li>
11089 </ul>
11090 </td>
11091
11092 </tr> <!-- end of entry -->
11093
11094
11095
11096 <!-- end of kind -->
11097 </tbody>
11098 <tr><td colspan="7" class="kind">dynamic</td></tr>
11099
11100 <thead class="entries_header">
11101 <tr>
11102 <th class="th_name">Property Name</th>
11103 <th class="th_type">Type</th>
11104 <th class="th_description">Description</th>
11105 <th class="th_units">Units</th>
11106 <th class="th_range">Range</th>
11107 <th class="th_notes">Notes</th>
11108 <th class="th_tags">Tags</th>
11109 </tr>
11110 </thead>
11111
11112 <tbody>
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123 <tr class="entry" id="dynamic_android.blackLevel.lock">
11124 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11125 <td class="entry_type">
11126 <span class="entry_type_name entry_type_name_enum">byte</span>
11127
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011128 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011129
11130 <ul class="entry_type_enum">
11131 <li>
11132 <span class="entry_type_enum_name">OFF</span>
11133 </li>
11134 <li>
11135 <span class="entry_type_enum_name">ON</span>
11136 </li>
11137 </ul>
11138
11139 </td> <!-- entry_type -->
11140
11141 <td class="entry_description">
11142 Whether black-level compensation is locked
11143 to its current values,<wbr> or is free to vary
11144 </td>
11145
11146 <td class="entry_units">
11147 </td>
11148
11149 <td class="entry_range">
11150 </td>
11151
11152 <td class="entry_notes">
11153 When set to ON,<wbr> the values used for black-level
11154 compensation must not change until the lock is set to
11155 OFF
11156<br>
11157<br> Since changes to certain capture parameters (such as
11158 exposure time) may require resetting of black level
11159 compensation,<wbr> the HAL must report whether setting the
11160 black level lock was successful in the output result
11161 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011162<br>
11163<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11164 If for some reason black level locking is no longer legal (for example,<wbr>
11165 the analog gain has changed,<wbr> which forces black levels to be
11166 recalculated),<wbr> then the HAL is free to override this request (and it
11167 must report 'OFF' when this does happen) until the next time locking
11168 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011169 </td>
11170
11171 <td class="entry_tags">
11172 <ul class="entry_tags">
11173 <li><a href="#tag_HAL2">HAL2</a></li>
11174 </ul>
11175 </td>
11176
11177 </tr> <!-- end of entry -->
11178
11179
11180
11181 <!-- end of kind -->
11182 </tbody>
11183
11184 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011185<!-- </namespace> -->
11186 </table>
11187
11188 <div class="tags" id="tag_index">
11189 <h2>Tags</h2>
11190 <ul>
11191 <li id="tag_AWB">AWB -
11192 Needed for auto white balance
11193
11194 <ul class="tags_entries">
11195 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11196 </ul>
11197 </li> <!-- tag_AWB -->
11198 <li id="tag_BC">BC -
11199 Needed for backwards compatibility with old Java API
11200
11201 <ul class="tags_entries">
11202 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11203 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11204 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11205 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11206 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011207 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011208 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11209 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011210 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011211 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11212 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11213 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11214 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11215 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11216 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11217 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11218 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11219 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11220 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11221 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11222 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11223 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11224 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11225 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11226 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11227 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11228 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11229 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11230 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11231 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11232 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11233 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11234 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11235 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11236 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11237 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11238 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11239 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11240 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11241 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11242 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11243 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11244 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11245 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11246 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011247 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011248 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11249 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11250 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011251 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011252 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011253 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11254 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11255 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11256 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11257 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11258 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11259 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11260 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11261 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11262 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11263 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11264 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11265 </ul>
11266 </li> <!-- tag_BC -->
11267 <li id="tag_V1">V1 -
11268 New features for first camera 2 release (API1)
11269
11270 <ul class="tags_entries">
11271 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11272 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11273 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11274 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11275 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11276 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11277 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11278 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11279 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11280 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11281 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11282 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11283 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11284 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11285 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11286 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11287 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11288 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11289 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11290 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11291 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11292 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11293 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11294 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011295 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011296 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11297 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11298 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11299 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11300 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11301 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11302 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11303 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11304 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11305 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11306 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11307 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11308 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11309 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11310 </ul>
11311 </li> <!-- tag_V1 -->
11312 <li id="tag_ADV">ADV - None
11313 <ul class="tags_entries">
11314 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11315 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11316 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11317 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11318 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11319 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11320 </ul>
11321 </li> <!-- tag_ADV -->
11322 <li id="tag_DNG">DNG -
11323 Needed for DNG file support
11324
11325 <ul class="tags_entries">
11326 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011327 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11328 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11329 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11330 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11331 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11332 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11333 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11334 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11335 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11336 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11337 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11338 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11339 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11340 </ul>
11341 </li> <!-- tag_DNG -->
11342 <li id="tag_EXIF">EXIF - None
11343 <ul class="tags_entries">
11344 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11345 </ul>
11346 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011347 <li id="tag_HAL2">HAL2 -
11348 Tag only used by camera device HAL 2.x
11349
11350 <ul class="tags_entries">
11351 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11352 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11353 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011354 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011355 </ul>
11356 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011357 </ul>
11358 </div>
11359
11360 [ <a href="#">top</a> ]
11361
11362</body>
11363</html>