blob: f8981e814a4eca4df44fe7e39b02e5afcc08d3a4 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
31 .entries_header { background-color: #dddddd; text-align: center}
32
33 /* toc style */
34 .toc_section_header { font-size:1.3em; }
35 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080036
37 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070038 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080040 .th_name { width: 20% }
41 .th_units { width: 10% }
42 .th_tags { width: 5% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070043 .th_notes { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080044 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070045 .th_description { width: 20% }
46 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 td { font-size: 0.9em; }
48
49 /* hide the first thead, we need it there only to enforce column sizes */
50 .thead_dummy { visibility: hidden; }
51
52 /* Entry flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070053 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080054
55 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070056 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
58 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080059 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
60 .entry_type_enum_notes:before { content:" - " }
61 .entry_type_enum_value:before { content:" = " }
62 .entry_type_enum_value { font-family: monospace; }
63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
65
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070066 /* Entry visibility flair */
67
Igor Murashkin08b8aad2012-11-29 15:23:03 -080068 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
71
72 /* TODO: generate abbr element for each tag link? */
73 /* TODO for each x.y.z try to link it to the entry */
74
75 </style>
76
77 <style>
78
79 {
80 /* broken...
81 supposedly there is a bug in chrome that it lays out tables before
82 it knows its being printed, so the page-break-* styles are ignored
83 */
84 tr { page-break-after: always; page-break-inside: avoid; }
85 }
86
87 </style>
88</head>
89
90
91
Igor Murashkin08b8aad2012-11-29 15:23:03 -080092<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070093 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080096 <h2>Table of Contents</h2>
97 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070098 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
99 <li>
100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
101 <ul class="toc_section">
102 <li>
103 <span class="toc_kind_header">controls</span>
104 <ul class="toc_section">
105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700108 </ul>
109 </li>
110 <li>
111 <span class="toc_kind_header">dynamic</span>
112 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700115 </ul>
116 </li>
117 </ul> <!-- toc_section -->
118 </li>
119 <li>
120 <span class="toc_section_header"><a href="#section_control">control</a></span>
121 <ul class="toc_section">
122 <li>
123 <span class="toc_kind_header">controls</span>
124 <ul class="toc_section">
125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
140 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
143 </ul>
144 </li>
145 <li>
146 <span class="toc_kind_header">static</span>
147 <ul class="toc_section">
148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
160 </ul>
161 </li>
162 <li>
163 <span class="toc_kind_header">dynamic</span>
164 <ul class="toc_section">
165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
176 </ul>
177 </li>
178 </ul> <!-- toc_section -->
179 </li>
180 <li>
181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
182 <ul class="toc_section">
183 <li>
184 <span class="toc_kind_header">controls</span>
185 <ul class="toc_section">
186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
187 </ul>
188 </li>
189 </ul> <!-- toc_section -->
190 </li>
191 <li>
192 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
193 <ul class="toc_section">
194 <li>
195 <span class="toc_kind_header">controls</span>
196 <ul class="toc_section">
197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
199 </ul>
200 </li>
201 <li>
202 <span class="toc_kind_header">dynamic</span>
203 <ul class="toc_section">
204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
205 </ul>
206 </li>
207 </ul> <!-- toc_section -->
208 </li>
209 <li>
210 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
211 <ul class="toc_section">
212 <li>
213 <span class="toc_kind_header">controls</span>
214 <ul class="toc_section">
215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
218 </ul>
219 </li>
220 <li>
221 <span class="toc_kind_header">static</span>
222 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
229 </ul>
230 </li>
231 <li>
232 <span class="toc_kind_header">dynamic</span>
233 <ul class="toc_section">
234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
238 </ul>
239 </li>
240 </ul> <!-- toc_section -->
241 </li>
242 <li>
243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
244 <ul class="toc_section">
245 <li>
246 <span class="toc_kind_header">controls</span>
247 <ul class="toc_section">
248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
250 </ul>
251 </li>
252 </ul> <!-- toc_section -->
253 </li>
254 <li>
255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
256 <ul class="toc_section">
257 <li>
258 <span class="toc_kind_header">controls</span>
259 <ul class="toc_section">
260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
261 </ul>
262 </li>
263 <li>
264 <span class="toc_kind_header">static</span>
265 <ul class="toc_section">
266
267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
268
269 </ul>
270 </li>
271 <li>
272 <span class="toc_kind_header">dynamic</span>
273 <ul class="toc_section">
274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
275 </ul>
276 </li>
277 </ul> <!-- toc_section -->
278 </li>
279 <li>
280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
281 <ul class="toc_section">
282 <li>
283 <span class="toc_kind_header">controls</span>
284 <ul class="toc_section">
285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
292 </ul>
293 </li>
294 <li>
295 <span class="toc_kind_header">static</span>
296 <ul class="toc_section">
297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">dynamic</span>
303 <ul class="toc_section">
304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
312 </ul>
313 </li>
314 </ul> <!-- toc_section -->
315 </li>
316 <li>
317 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
318 <ul class="toc_section">
319 <li>
320 <span class="toc_kind_header">controls</span>
321 <ul class="toc_section">
322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
327 </ul>
328 </li>
329 <li>
330 <span class="toc_kind_header">static</span>
331 <ul class="toc_section">
332
333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
342
343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
345 <li><a href="#static_android.lens.position">android.lens.position</a></li>
346 </ul>
347 </li>
348 <li>
349 <span class="toc_kind_header">dynamic</span>
350 <ul class="toc_section">
351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
358 </ul>
359 </li>
360 </ul> <!-- toc_section -->
361 </li>
362 <li>
363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
364 <ul class="toc_section">
365 <li>
366 <span class="toc_kind_header">controls</span>
367 <ul class="toc_section">
368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
370 </ul>
371 </li>
372 <li>
373 <span class="toc_kind_header">dynamic</span>
374 <ul class="toc_section">
375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 </ul>
377 </li>
378 </ul> <!-- toc_section -->
379 </li>
380 <li>
381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
382 <ul class="toc_section">
383 <li>
384 <span class="toc_kind_header">static</span>
385 <ul class="toc_section">
386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
389 </ul>
390 </li>
391 </ul> <!-- toc_section -->
392 </li>
393 <li>
394 <span class="toc_section_header"><a href="#section_request">request</a></span>
395 <ul class="toc_section">
396 <li>
397 <span class="toc_kind_header">controls</span>
398 <ul class="toc_section">
399 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
400 <li><a href="#controls_android.request.id">android.request.id</a></li>
401 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
402 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
403 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
404 <li><a href="#controls_android.request.type">android.request.type</a></li>
405 </ul>
406 </li>
407 <li>
408 <span class="toc_kind_header">static</span>
409 <ul class="toc_section">
410 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
411 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">dynamic</span>
416 <ul class="toc_section">
417 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
418 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
419 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
420 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
421 </ul>
422 </li>
423 </ul> <!-- toc_section -->
424 </li>
425 <li>
426 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
427 <ul class="toc_section">
428 <li>
429 <span class="toc_kind_header">controls</span>
430 <ul class="toc_section">
431 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
432 </ul>
433 </li>
434 <li>
435 <span class="toc_kind_header">static</span>
436 <ul class="toc_section">
437 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
438 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
439 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
440 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
441 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
442 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
443 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
444 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
445 </ul>
446 </li>
447 <li>
448 <span class="toc_kind_header">dynamic</span>
449 <ul class="toc_section">
450 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
451 </ul>
452 </li>
453 </ul> <!-- toc_section -->
454 </li>
455 <li>
456 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
457 <ul class="toc_section">
458 <li>
459 <span class="toc_kind_header">controls</span>
460 <ul class="toc_section">
461 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
462 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
463 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
464 </ul>
465 </li>
466 <li>
467 <span class="toc_kind_header">static</span>
468 <ul class="toc_section">
469
470 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700471 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700472 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
473 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
474 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
475 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
476 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
477 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
478
479 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
480 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
481 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
482 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
483 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
484 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
485 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
486 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
487 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
488 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
489 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
490 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
491 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
492 </ul>
493 </li>
494 <li>
495 <span class="toc_kind_header">dynamic</span>
496 <ul class="toc_section">
497 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
498 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
499 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
500 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700501 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700502 </ul>
503 </li>
504 </ul> <!-- toc_section -->
505 </li>
506 <li>
507 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
508 <ul class="toc_section">
509 <li>
510 <span class="toc_kind_header">controls</span>
511 <ul class="toc_section">
512 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
513 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
514 </ul>
515 </li>
516 <li>
517 <span class="toc_kind_header">dynamic</span>
518 <ul class="toc_section">
519 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
520 </ul>
521 </li>
522 </ul> <!-- toc_section -->
523 </li>
524 <li>
525 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
526 <ul class="toc_section">
527 <li>
528 <span class="toc_kind_header">controls</span>
529 <ul class="toc_section">
530 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
531 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
532 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700533 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700534 </ul>
535 </li>
536 <li>
537 <span class="toc_kind_header">static</span>
538 <ul class="toc_section">
539
540 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
541 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
542 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
543 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
544 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
545 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
546
547 </ul>
548 </li>
549 <li>
550 <span class="toc_kind_header">dynamic</span>
551 <ul class="toc_section">
552 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
553 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
554 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
555 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
556 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
557 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
558 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
559 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
560 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700561 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
562 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
563 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
564 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700565 </ul>
566 </li>
567 </ul> <!-- toc_section -->
568 </li>
569 <li>
570 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
571 <ul class="toc_section">
572 <li>
573 <span class="toc_kind_header">controls</span>
574 <ul class="toc_section">
575 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
576 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
577 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
578 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
579 </ul>
580 </li>
581 <li>
582 <span class="toc_kind_header">static</span>
583 <ul class="toc_section">
584 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
585 </ul>
586 </li>
587 <li>
588 <span class="toc_kind_header">dynamic</span>
589 <ul class="toc_section">
590 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
591 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
592 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
593 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
594 </ul>
595 </li>
596 </ul> <!-- toc_section -->
597 </li>
598 <li>
599 <span class="toc_section_header"><a href="#section_led">led</a></span>
600 <ul class="toc_section">
601 <li>
602 <span class="toc_kind_header">controls</span>
603 <ul class="toc_section">
604 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
605 </ul>
606 </li>
607 <li>
608 <span class="toc_kind_header">dynamic</span>
609 <ul class="toc_section">
610 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
611 </ul>
612 </li>
613 <li>
614 <span class="toc_kind_header">static</span>
615 <ul class="toc_section">
616 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
617 </ul>
618 </li>
619 </ul> <!-- toc_section -->
620 </li>
621 <li>
622 <span class="toc_section_header"><a href="#section_info">info</a></span>
623 <ul class="toc_section">
624 <li>
625 <span class="toc_kind_header">static</span>
626 <ul class="toc_section">
627 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
628 </ul>
629 </li>
630 </ul> <!-- toc_section -->
631 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700632 <li>
633 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
634 <ul class="toc_section">
635 <li>
636 <span class="toc_kind_header">controls</span>
637 <ul class="toc_section">
638 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
639 </ul>
640 </li>
641 <li>
642 <span class="toc_kind_header">dynamic</span>
643 <ul class="toc_section">
644 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
645 </ul>
646 </li>
647 </ul> <!-- toc_section -->
648 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800649 </ul>
650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700651
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800652 <h1>Properties</h1>
653 <table class="properties">
654
655 <thead class="thead_dummy">
656 <tr>
657 <th class="th_name">Property Name</th>
658 <th class="th_type">Type</th>
659 <th class="th_description">Description</th>
660 <th class="th_units">Units</th>
661 <th class="th_range">Range</th>
662 <th class="th_notes">Notes</th>
663 <th class="th_tags">Tags</th>
664 </tr>
665 </thead> <!-- so that the first occurrence of thead is not
666 above the first occurrence of tr -->
667<!-- <namespace name="android"> -->
668 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
669
670
671 <tr><td colspan="7" class="kind">controls</td></tr>
672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800674 <tr>
675 <th class="th_name">Property Name</th>
676 <th class="th_type">Type</th>
677 <th class="th_description">Description</th>
678 <th class="th_units">Units</th>
679 <th class="th_range">Range</th>
680 <th class="th_notes">Notes</th>
681 <th class="th_tags">Tags</th>
682 </tr>
683 </thead>
684
685 <tbody>
686
687
688
689
690
691
692
693
694
695
696 <tr class="entry" id="controls_android.colorCorrection.mode">
697 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700701 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800702
703 <ul class="entry_type_enum">
704 <li>
705 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
706 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700707 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800708 </li>
709 <li>
710 <span class="entry_type_enum_name">FAST</span>
711 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
712 bayer output</span>
713 </li>
714 <li>
715 <span class="entry_type_enum_name">HIGH_QUALITY</span>
716 <span class="entry_type_enum_notes">Frame rate may be reduced by high
717 quality</span>
718 </li>
719 </ul>
720
721 </td> <!-- entry_type -->
722
723 <td class="entry_description">
724 </td>
725
726 <td class="entry_units">
727 </td>
728
729 <td class="entry_range">
730 </td>
731
732 <td class="entry_notes">
Timothy Knight21f88802013-09-06 13:32:51 -0700733 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700734 should be ignored.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800735 </td>
736
737 <td class="entry_tags">
738 </td>
739
740 </tr> <!-- end of entry -->
741
742
743 <tr class="entry" id="controls_android.colorCorrection.transform">
744 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
745 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700746 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 <span class="entry_type_container">x</span>
748
749 <span class="entry_type_array">
750 3 x 3
751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700752 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754
755
756 </td> <!-- entry_type -->
757
758 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700759 A color transform matrix to use to transform
760 from sensor RGB color space to output linear sRGB color space
761
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800762 </td>
763
764 <td class="entry_units">
765 </td>
766
767 <td class="entry_range">
768 Output values are expected to be in the range
769 (0,<wbr>1)
770 </td>
771
772 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700773 This matrix is either set by HAL when the request
774 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
775 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700776 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
777<br>
778<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700779 for precision issues; the final rounded matrix should be
780 reported back in this matrix result metadata.<wbr>
781 </td>
782
783 <td class="entry_tags">
784 </td>
785
786 </tr> <!-- end of entry -->
787
788
789 <tr class="entry" id="controls_android.colorCorrection.gains">
790 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
791 <td class="entry_type">
792 <span class="entry_type_name">float</span>
793 <span class="entry_type_container">x</span>
794
795 <span class="entry_type_array">
796 4
797 </span>
798 <span class="entry_type_visibility"> [public]</span>
799 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
800
801
802 </td> <!-- entry_type -->
803
804 <td class="entry_description">
805 Gains applying to Bayer color channels for
806 white-balance
807 </td>
808
809 <td class="entry_units">
810 </td>
811
812 <td class="entry_range">
813 </td>
814
815 <td class="entry_notes">
816 The 4-channel white-balance gains are defined in
817 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
818 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
819 is the gain for greenpixels on the odd rows.<wbr> if a HAL
820 does not support a separate gain for even/<wbr>odd green channels,<wbr>
821 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
822 G_<wbr>even in the output result metadata.<wbr>
823<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700824<br> This array is either set by HAL when the request
825 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
826 directly by the application in the request when the
827 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
828<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700829<br> The ouput should be the gains actually applied by the HAL to
830 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831 </td>
832
833 <td class="entry_tags">
834 </td>
835
836 </tr> <!-- end of entry -->
837
838
839
840 <!-- end of kind -->
841 </tbody>
842 <tr><td colspan="7" class="kind">dynamic</td></tr>
843
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700844 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800845 <tr>
846 <th class="th_name">Property Name</th>
847 <th class="th_type">Type</th>
848 <th class="th_description">Description</th>
849 <th class="th_units">Units</th>
850 <th class="th_range">Range</th>
851 <th class="th_notes">Notes</th>
852 <th class="th_tags">Tags</th>
853 </tr>
854 </thead>
855
856 <tbody>
857
858
859
860
861
862
863
864
865
866
Zhijun He69fc0ea2013-07-17 09:42:58 -0700867 <tr class="entry" id="dynamic_android.colorCorrection.transform">
868 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800869 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 <span class="entry_type_name">rational</span>
871 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800872
Zhijun He69fc0ea2013-07-17 09:42:58 -0700873 <span class="entry_type_array">
874 3 x 3
875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700876 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700877 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800878
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800879
880 </td> <!-- entry_type -->
881
882 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700883 A color transform matrix to use to transform
884 from sensor RGB color space to output linear sRGB color space
885
886 </td>
887
888 <td class="entry_units">
889 </td>
890
891 <td class="entry_range">
892 Output values are expected to be in the range
893 (0,<wbr>1)
894 </td>
895
896 <td class="entry_notes">
897 This matrix is either set by HAL when the request
898 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
899 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700900 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
901<br>
902<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700903 for precision issues; the final rounded matrix should be
904 reported back in this matrix result metadata.<wbr>
905 </td>
906
907 <td class="entry_tags">
908 </td>
909
910 </tr> <!-- end of entry -->
911
912
913 <tr class="entry" id="dynamic_android.colorCorrection.gains">
914 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
915 <td class="entry_type">
916 <span class="entry_type_name">float</span>
917 <span class="entry_type_container">x</span>
918
919 <span class="entry_type_array">
920 4
921 </span>
922 <span class="entry_type_visibility"> [public]</span>
923 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
924
925
926 </td> <!-- entry_type -->
927
928 <td class="entry_description">
929 Gains applying to Bayer color channels for
930 white-balance
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800931 </td>
932
933 <td class="entry_units">
934 </td>
935
936 <td class="entry_range">
937 </td>
938
939 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700940 The 4-channel white-balance gains are defined in
941 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
942 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
943 is the gain for greenpixels on the odd rows.<wbr> if a HAL
944 does not support a separate gain for even/<wbr>odd green channels,<wbr>
945 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
946 G_<wbr>even in the output result metadata.<wbr>
947<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700948<br> This array is either set by HAL when the request
949 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
950 directly by the application in the request when the
951 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
952<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700953<br> The ouput should be the gains actually applied by the HAL to
954 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800955 </td>
956
957 <td class="entry_tags">
958 </td>
959
960 </tr> <!-- end of entry -->
961
962
963
964 <!-- end of kind -->
965 </tbody>
966
967 <!-- end of section -->
968 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
969
970
971 <tr><td colspan="7" class="kind">controls</td></tr>
972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700973 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800974 <tr>
975 <th class="th_name">Property Name</th>
976 <th class="th_type">Type</th>
977 <th class="th_description">Description</th>
978 <th class="th_units">Units</th>
979 <th class="th_range">Range</th>
980 <th class="th_notes">Notes</th>
981 <th class="th_tags">Tags</th>
982 </tr>
983 </thead>
984
985 <tbody>
986
987
988
989
990
991
992
993
994
995
996 <tr class="entry" id="controls_android.control.aeAntibandingMode">
997 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800999 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001002
1003 <ul class="entry_type_enum">
1004 <li>
1005 <span class="entry_type_enum_name">OFF</span>
1006 </li>
1007 <li>
1008 <span class="entry_type_enum_name">50HZ</span>
1009 </li>
1010 <li>
1011 <span class="entry_type_enum_name">60HZ</span>
1012 </li>
1013 <li>
1014 <span class="entry_type_enum_name">AUTO</span>
1015 </li>
1016 </ul>
1017
1018 </td> <!-- entry_type -->
1019
1020 <td class="entry_description">
1021 Enum for controlling
1022 antibanding
1023 </td>
1024
1025 <td class="entry_units">
1026 </td>
1027
1028 <td class="entry_range">
1029
1030 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1031 </td>
1032
1033 <td class="entry_notes">
1034 </td>
1035
1036 <td class="entry_tags">
1037 </td>
1038
1039 </tr> <!-- end of entry -->
1040
1041
1042 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1043 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1044 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001045 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001046
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001047 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001048
1049
1050 </td> <!-- entry_type -->
1051
1052 <td class="entry_description">
1053 Adjustment to AE target image
1054 brightness
1055 </td>
1056
1057 <td class="entry_units">
1058 count of positive/<wbr>negative EV steps
1059 </td>
1060
1061 <td class="entry_range">
1062 </td>
1063
1064 <td class="entry_notes">
1065 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1066 exposure compensation of +2 EV; -3 will mean an exposure
1067 compensation of -1
1068 </td>
1069
1070 <td class="entry_tags">
1071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001072 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073 </ul>
1074 </td>
1075
1076 </tr> <!-- end of entry -->
1077
1078
1079 <tr class="entry" id="controls_android.control.aeLock">
1080 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001082 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001083
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001084 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001085
1086 <ul class="entry_type_enum">
1087 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001088 <span class="entry_type_enum_name">OFF</span>
1089 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1090 is free to update its parameters.<wbr></span>
1091 </li>
1092 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001093 <span class="entry_type_enum_name">ON</span>
1094 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1095 must not update the exposure and sensitivity parameters
1096 while the lock is active</span>
1097 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001098 </ul>
1099
1100 </td> <!-- entry_type -->
1101
1102 <td class="entry_description">
1103 Whether AE is currently locked to its latest
1104 calculated values
1105 </td>
1106
1107 <td class="entry_units">
1108 </td>
1109
1110 <td class="entry_range">
1111 </td>
1112
1113 <td class="entry_notes">
1114 Note that even when AE is locked,<wbr> the flash may be
1115 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1116 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
1117 </td>
1118
1119 <td class="entry_tags">
1120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001122 </ul>
1123 </td>
1124
1125 </tr> <!-- end of entry -->
1126
1127
1128 <tr class="entry" id="controls_android.control.aeMode">
1129 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1130 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001131 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001134
1135 <ul class="entry_type_enum">
1136 <li>
1137 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001138 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1139 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </li>
1141 <li>
1142 <span class="entry_type_enum_name">ON</span>
1143 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1144 control</span>
1145 </li>
1146 <li>
1147 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1148 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1149 flash control; flash may be fired when precapture
1150 trigger is activated,<wbr> and for captures for which
1151 captureIntent = STILL_<wbr>CAPTURE</span>
1152 </li>
1153 <li>
1154 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1156 flash control for precapture trigger and always flash
1157 when captureIntent = STILL_<wbr>CAPTURE</span>
1158 </li>
1159 <li>
1160 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1161 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1162 If deemed necessary,<wbr> red eye reduction sequence should
1163 fire when precapture trigger is activated,<wbr> and final
1164 flash should fire when captureIntent =
1165 STILL_<wbr>CAPTURE</span>
1166 </li>
1167 </ul>
1168
1169 </td> <!-- entry_type -->
1170
1171 <td class="entry_description">
1172 Whether AE is currently updating the sensor
1173 exposure and sensitivity fields
1174 </td>
1175
1176 <td class="entry_units">
1177 </td>
1178
1179 <td class="entry_range">
1180 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1181 </td>
1182
1183 <td class="entry_notes">
1184 Only effective if android.<wbr>control.<wbr>mode =
1185 AUTO
1186 </td>
1187
1188 <td class="entry_tags">
1189 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001190 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001191 </ul>
1192 </td>
1193
1194 </tr> <!-- end of entry -->
1195
1196
1197 <tr class="entry" id="controls_android.control.aeRegions">
1198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001201 <span class="entry_type_container">x</span>
1202
1203 <span class="entry_type_array">
1204 5 x area_count
1205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001207
1208
1209 </td> <!-- entry_type -->
1210
1211 <td class="entry_description">
1212 List of areas to use for
1213 metering
1214 </td>
1215
1216 <td class="entry_units">
1217 </td>
1218
1219 <td class="entry_range">
1220 </td>
1221
1222 <td class="entry_notes">
1223 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001224 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1225 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001226<br>
1227<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001228 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1229 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1230 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1231 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001232 should be nonnegative.<wbr>
1233<br>
1234<br> If all regions have 0 weight,<wbr> then no specific metering area
1235 needs to be used by the HAL.<wbr> If the metering region is
1236 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1237 should ignore the sections outside the region and output the
1238 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001239 </td>
1240
1241 <td class="entry_tags">
1242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001244 </ul>
1245 </td>
1246
1247 </tr> <!-- end of entry -->
1248
1249
1250 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1251 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1252 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001253 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001254 <span class="entry_type_container">x</span>
1255
1256 <span class="entry_type_array">
1257 2
1258 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001260
1261
1262 </td> <!-- entry_type -->
1263
1264 <td class="entry_description">
1265 Range over which fps can be adjusted to
1266 maintain exposure
1267 </td>
1268
1269 <td class="entry_units">
1270 </td>
1271
1272 <td class="entry_range">
1273 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1274 </td>
1275
1276 <td class="entry_notes">
1277 Only constrains AE algorithm,<wbr> not manual control
1278 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1279 </td>
1280
1281 <td class="entry_tags">
1282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001283 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001284 </ul>
1285 </td>
1286
1287 </tr> <!-- end of entry -->
1288
1289
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001290 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1291 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1292 <td class="entry_type">
1293 <span class="entry_type_name entry_type_name_enum">byte</span>
1294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001295 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001296
1297 <ul class="entry_type_enum">
1298 <li>
1299 <span class="entry_type_enum_name">IDLE</span>
1300 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1301 </li>
1302 <li>
1303 <span class="entry_type_enum_name">START</span>
1304 <span class="entry_type_enum_notes">The precapture metering sequence
1305 must be started.<wbr> The exact effect of the precapture
1306 trigger depends on the current AE mode and
1307 state.<wbr></span>
1308 </li>
1309 </ul>
1310
1311 </td> <!-- entry_type -->
1312
1313 <td class="entry_description">
1314 Whether the HAL must trigger precapture
1315 metering.<wbr>
1316 </td>
1317
1318 <td class="entry_units">
1319 </td>
1320
1321 <td class="entry_range">
1322 </td>
1323
1324 <td class="entry_notes">
1325 This entry is normally set to IDLE,<wbr> or is not
1326 included at all in the request settings.<wbr> When included and
1327 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001328 precapture metering sequence.<wbr>
1329<br>
1330<br> The effect of AE precapture trigger depends on the current
1331 AE mode and state; see the camera HAL device v3 header for
1332 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001333 </td>
1334
1335 <td class="entry_tags">
1336 <ul class="entry_tags">
1337 <li><a href="#tag_BC">BC</a></li>
1338 </ul>
1339 </td>
1340
1341 </tr> <!-- end of entry -->
1342
1343
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 <tr class="entry" id="controls_android.control.afMode">
1345 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001349 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001350
1351 <ul class="entry_type_enum">
1352 <li>
1353 <span class="entry_type_enum_name">OFF</span>
1354 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001355 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001356 application</span>
1357 </li>
1358 <li>
1359 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001360 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1361
1362 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1363 is fixed focus In this mode,<wbr> the lens does not move unless
1364 the autofocus trigger action is called.<wbr> When that trigger
1365 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1366 the outcome of the scan (FOCUSED or
1367 NOT_<wbr>FOCUSED).<wbr>
1368
1369 Triggering cancel AF resets the lens position to default,<wbr>
1370 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001371 </li>
1372 <li>
1373 <span class="entry_type_enum_name">MACRO</span>
1374 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001375 autofocus trigger action is called.<wbr>
1376
1377 When that trigger is activated,<wbr> AF must transition to
1378 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1379 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1380 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 INACTIVE.<wbr></span>
1382 </li>
1383 <li>
1384 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1385 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1386 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001387 constantly-in-focus image stream.<wbr>
1388
1389 The focusing behavior should be suitable for good quality
1390 video recording; typically this means slower focus
1391 movement and no overshoots.<wbr> When the AF trigger is not
1392 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1393 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1394 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1395 the algorithm should immediately transition into
1396 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1397 lens position until a cancel AF trigger is received.<wbr>
1398
1399 Once cancel is received,<wbr> the algorithm should transition
1400 back to INACTIVE and resume passive scan.<wbr> Note that this
1401 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1402 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001403 canceled.<wbr></span>
1404 </li>
1405 <li>
1406 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1407 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1408 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001409 constantly-in-focus image stream.<wbr>
1410
1411 The focusing behavior should be suitable for still image
1412 capture; typically this means focusing as fast as
1413 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1414 algorithm should start in INACTIVE state,<wbr> and then
1415 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1416 appropriate as it attempts to maintain focus.<wbr> When the AF
1417 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001418 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001419 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1420 lens position until a cancel AF trigger is received.<wbr>
1421
1422 When the AF cancel trigger is activated,<wbr> the algorithm
1423 should transition back to INACTIVE and then act as if it
1424 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001425 </li>
1426 <li>
1427 <span class="entry_type_enum_name">EDOF</span>
1428 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1429 trigger is ignored,<wbr> AF state should always be
1430 INACTIVE.<wbr></span>
1431 </li>
1432 </ul>
1433
1434 </td> <!-- entry_type -->
1435
1436 <td class="entry_description">
1437 Whether AF is currently enabled,<wbr> and what
1438 mode it is set to
1439 </td>
1440
1441 <td class="entry_units">
1442 </td>
1443
1444 <td class="entry_range">
1445 </td>
1446
1447 <td class="entry_notes">
1448 </td>
1449
1450 <td class="entry_tags">
1451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001452 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001453 </ul>
1454 </td>
1455
1456 </tr> <!-- end of entry -->
1457
1458
1459 <tr class="entry" id="controls_android.control.afRegions">
1460 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1461 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001462 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001463 <span class="entry_type_container">x</span>
1464
1465 <span class="entry_type_array">
1466 5 x area_count
1467 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001468 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001469
1470
1471 </td> <!-- entry_type -->
1472
1473 <td class="entry_description">
1474 List of areas to use for focus
1475 estimation
1476 </td>
1477
1478 <td class="entry_units">
1479 </td>
1480
1481 <td class="entry_range">
1482 </td>
1483
1484 <td class="entry_notes">
1485 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001486 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1487 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001488<br>
1489<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001490 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1491 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1492 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1493 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001494 should be nonnegative.<wbr>
1495<br>
1496<br> If all regions have 0 weight,<wbr> then no specific focus area
1497 needs to be used by the HAL.<wbr> If the focusing region is
1498 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1499 should ignore the sections outside the region and output the
1500 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 </td>
1502
1503 <td class="entry_tags">
1504 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001505 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001506 </ul>
1507 </td>
1508
1509 </tr> <!-- end of entry -->
1510
1511
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001512 <tr class="entry" id="controls_android.control.afTrigger">
1513 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1514 <td class="entry_type">
1515 <span class="entry_type_name entry_type_name_enum">byte</span>
1516
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001517 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001518
1519 <ul class="entry_type_enum">
1520 <li>
1521 <span class="entry_type_enum_name">IDLE</span>
1522 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1523 </li>
1524 <li>
1525 <span class="entry_type_enum_name">START</span>
1526 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1527 </li>
1528 <li>
1529 <span class="entry_type_enum_name">CANCEL</span>
1530 <span class="entry_type_enum_notes">Autofocus must return to initial
1531 state,<wbr> and cancel any active trigger.<wbr></span>
1532 </li>
1533 </ul>
1534
1535 </td> <!-- entry_type -->
1536
1537 <td class="entry_description">
1538 Whether the HAL must trigger autofocus.<wbr>
1539 </td>
1540
1541 <td class="entry_units">
1542 </td>
1543
1544 <td class="entry_range">
1545 </td>
1546
1547 <td class="entry_notes">
1548 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001549 included at all in the request settings.<wbr>
1550<br>
1551<br> When included and set to START,<wbr> the HAL must trigger the
1552 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1553 current AF mode and state; see the camera HAL device v3
1554 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1555 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001556 </td>
1557
1558 <td class="entry_tags">
1559 <ul class="entry_tags">
1560 <li><a href="#tag_BC">BC</a></li>
1561 </ul>
1562 </td>
1563
1564 </tr> <!-- end of entry -->
1565
1566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567 <tr class="entry" id="controls_android.control.awbLock">
1568 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001570 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001571
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001572 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001573
1574 <ul class="entry_type_enum">
1575 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001576 <span class="entry_type_enum_name">OFF</span>
1577 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1578 algorithm is free to update its parameters if in AUTO
1579 mode.<wbr></span>
1580 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001581 <li>
1582 <span class="entry_type_enum_name">ON</span>
1583 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1584 algorithm must not update the exposure and sensitivity
1585 parameters while the lock is active</span>
1586 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001587 </ul>
1588
1589 </td> <!-- entry_type -->
1590
1591 <td class="entry_description">
1592 Whether AWB is currently locked to its
1593 latest calculated values
1594 </td>
1595
1596 <td class="entry_units">
1597 </td>
1598
1599 <td class="entry_range">
1600 </td>
1601
1602 <td class="entry_notes">
1603 Note that AWB lock is only meaningful for AUTO
1604 mode; in other modes,<wbr> AWB is already fixed to a specific
1605 setting
1606 </td>
1607
1608 <td class="entry_tags">
1609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001610 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001611 </ul>
1612 </td>
1613
1614 </tr> <!-- end of entry -->
1615
1616
1617 <tr class="entry" id="controls_android.control.awbMode">
1618 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001620 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001622 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001623
1624 <ul class="entry_type_enum">
1625 <li>
1626 <span class="entry_type_enum_name">OFF</span>
1627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">AUTO</span>
1630 </li>
1631 <li>
1632 <span class="entry_type_enum_name">INCANDESCENT</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">FLUORESCENT</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1639 </li>
1640 <li>
1641 <span class="entry_type_enum_name">DAYLIGHT</span>
1642 </li>
1643 <li>
1644 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1645 </li>
1646 <li>
1647 <span class="entry_type_enum_name">TWILIGHT</span>
1648 </li>
1649 <li>
1650 <span class="entry_type_enum_name">SHADE</span>
1651 </li>
1652 </ul>
1653
1654 </td> <!-- entry_type -->
1655
1656 <td class="entry_description">
1657 Whether AWB is currently setting the color
1658 transform fields,<wbr> and what its illumination target
1659 is
1660 </td>
1661
1662 <td class="entry_units">
1663 </td>
1664
1665 <td class="entry_range">
1666 </td>
1667
1668 <td class="entry_notes">
1669 [BC - AWB lock,<wbr>AWB modes]
1670 </td>
1671
1672 <td class="entry_tags">
1673 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001674 <li><a href="#tag_BC">BC</a></li>
1675 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </ul>
1677 </td>
1678
1679 </tr> <!-- end of entry -->
1680
1681
1682 <tr class="entry" id="controls_android.control.awbRegions">
1683 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686 <span class="entry_type_container">x</span>
1687
1688 <span class="entry_type_array">
1689 5 x area_count
1690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001692
1693
1694 </td> <!-- entry_type -->
1695
1696 <td class="entry_description">
1697 List of areas to use for illuminant
1698 estimation
1699 </td>
1700
1701 <td class="entry_units">
1702 </td>
1703
1704 <td class="entry_range">
1705 </td>
1706
1707 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001708 Only used in AUTO mode.<wbr>
1709<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001710<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1711 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1712 specified coordinates.<wbr>
1713<br>
1714<br> The coordinate system is based on the active pixel array,<wbr>
1715 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1716 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1717 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1718 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001719 should be nonnegative.<wbr>
1720<br>
1721<br> If all regions have 0 weight,<wbr> then no specific metering area
1722 needs to be used by the HAL.<wbr> If the metering region is
1723 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1724 should ignore the sections outside the region and output the
1725 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 </td>
1727
1728 <td class="entry_tags">
1729 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001730 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001731 </ul>
1732 </td>
1733
1734 </tr> <!-- end of entry -->
1735
1736
1737 <tr class="entry" id="controls_android.control.captureIntent">
1738 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001742 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001743
1744 <ul class="entry_type_enum">
1745 <li>
1746 <span class="entry_type_enum_name">CUSTOM</span>
1747 <span class="entry_type_enum_notes">This request doesn't fall into the other
1748 categories.<wbr> Default to preview-like
1749 behavior.<wbr></span>
1750 </li>
1751 <li>
1752 <span class="entry_type_enum_name">PREVIEW</span>
1753 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1754 precapture trigger may be used to start off a metering
1755 w/<wbr>flash sequence</span>
1756 </li>
1757 <li>
1758 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1759 <span class="entry_type_enum_notes">This request is for a still capture-type
1760 usecase.<wbr></span>
1761 </li>
1762 <li>
1763 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1764 <span class="entry_type_enum_notes">This request is for a video recording
1765 usecase.<wbr></span>
1766 </li>
1767 <li>
1768 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1769 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1770 image while recording video) usecase</span>
1771 </li>
1772 <li>
1773 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1774 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1775 application will stream full-resolution images and
1776 reprocess one or several later for a final
1777 capture</span>
1778 </li>
1779 </ul>
1780
1781 </td> <!-- entry_type -->
1782
1783 <td class="entry_description">
1784 Information to 3A routines about the purpose
1785 of this capture,<wbr> to help decide optimal 3A
1786 strategy
1787 </td>
1788
1789 <td class="entry_units">
1790 </td>
1791
1792 <td class="entry_range">
1793 all must be supported
1794 </td>
1795
1796 <td class="entry_notes">
1797 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1798 </td>
1799
1800 <td class="entry_tags">
1801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001802 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001803 </ul>
1804 </td>
1805
1806 </tr> <!-- end of entry -->
1807
1808
1809 <tr class="entry" id="controls_android.control.effectMode">
1810 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001812 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001813
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001814 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001815
1816 <ul class="entry_type_enum">
1817 <li>
1818 <span class="entry_type_enum_name">OFF</span>
1819 </li>
1820 <li>
1821 <span class="entry_type_enum_name">MONO</span>
1822 <span class="entry_type_enum_optional">optional</span>
1823 </li>
1824 <li>
1825 <span class="entry_type_enum_name">NEGATIVE</span>
1826 <span class="entry_type_enum_optional">optional</span>
1827 </li>
1828 <li>
1829 <span class="entry_type_enum_name">SOLARIZE</span>
1830 <span class="entry_type_enum_optional">optional</span>
1831 </li>
1832 <li>
1833 <span class="entry_type_enum_name">SEPIA</span>
1834 <span class="entry_type_enum_optional">optional</span>
1835 </li>
1836 <li>
1837 <span class="entry_type_enum_name">POSTERIZE</span>
1838 <span class="entry_type_enum_optional">optional</span>
1839 </li>
1840 <li>
1841 <span class="entry_type_enum_name">WHITEBOARD</span>
1842 <span class="entry_type_enum_optional">optional</span>
1843 </li>
1844 <li>
1845 <span class="entry_type_enum_name">BLACKBOARD</span>
1846 <span class="entry_type_enum_optional">optional</span>
1847 </li>
1848 <li>
1849 <span class="entry_type_enum_name">AQUA</span>
1850 <span class="entry_type_enum_optional">optional</span>
1851 </li>
1852 </ul>
1853
1854 </td> <!-- entry_type -->
1855
1856 <td class="entry_description">
1857 Whether any special color effect is in use.<wbr>
1858 Only used if android.<wbr>control.<wbr>mode != OFF
1859 </td>
1860
1861 <td class="entry_units">
1862 </td>
1863
1864 <td class="entry_range">
1865 android.<wbr>control.<wbr>available<wbr>Effects
1866 </td>
1867
1868 <td class="entry_notes">
1869 </td>
1870
1871 <td class="entry_tags">
1872 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001873 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001874 </ul>
1875 </td>
1876
1877 </tr> <!-- end of entry -->
1878
1879
1880 <tr class="entry" id="controls_android.control.mode">
1881 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001883 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001884
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001885 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001886
1887 <ul class="entry_type_enum">
1888 <li>
1889 <span class="entry_type_enum_name">OFF</span>
1890 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1891 routines are disabled,<wbr> no other settings in
1892 android.<wbr>control.<wbr>* have any effect</span>
1893 </li>
1894 <li>
1895 <span class="entry_type_enum_name">AUTO</span>
1896 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1897 Manual control of capture parameters is disabled.<wbr> All
1898 controls in android.<wbr>control.<wbr>* besides sceneMode take
1899 effect</span>
1900 </li>
1901 <li>
1902 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1903 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1904 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1905 controls; the HAL must ignore those settings while
1906 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1907 scene mode).<wbr> Other control entries are still active.<wbr>
1908 This setting can only be used if availableSceneModes !=
1909 UNSUPPORTED</span>
1910 </li>
1911 </ul>
1912
1913 </td> <!-- entry_type -->
1914
1915 <td class="entry_description">
1916 Overall mode of 3A control
1917 routines
1918 </td>
1919
1920 <td class="entry_units">
1921 </td>
1922
1923 <td class="entry_range">
1924 all must be supported
1925 </td>
1926
1927 <td class="entry_notes">
1928 </td>
1929
1930 <td class="entry_tags">
1931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001932 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001933 </ul>
1934 </td>
1935
1936 </tr> <!-- end of entry -->
1937
1938
1939 <tr class="entry" id="controls_android.control.sceneMode">
1940 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1941 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001942 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001944 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001945
1946 <ul class="entry_type_enum">
1947 <li>
1948 <span class="entry_type_enum_name">UNSUPPORTED</span>
1949 <span class="entry_type_enum_value">0</span>
1950 </li>
1951 <li>
1952 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1953 <span class="entry_type_enum_notes">if face detection support exists Use face
1954 detection data to drive 3A routines.<wbr> If face detection
1955 statistics are disabled,<wbr> should still operate correctly
1956 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001957 framework).<wbr>
1958
1959 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1960 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1961 compatibility concerns with the old camera
1962 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">ACTION</span>
1966 <span class="entry_type_enum_optional">optional</span>
1967 </li>
1968 <li>
1969 <span class="entry_type_enum_name">PORTRAIT</span>
1970 <span class="entry_type_enum_optional">optional</span>
1971 </li>
1972 <li>
1973 <span class="entry_type_enum_name">LANDSCAPE</span>
1974 <span class="entry_type_enum_optional">optional</span>
1975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">NIGHT</span>
1978 <span class="entry_type_enum_optional">optional</span>
1979 </li>
1980 <li>
1981 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1982 <span class="entry_type_enum_optional">optional</span>
1983 </li>
1984 <li>
1985 <span class="entry_type_enum_name">THEATRE</span>
1986 <span class="entry_type_enum_optional">optional</span>
1987 </li>
1988 <li>
1989 <span class="entry_type_enum_name">BEACH</span>
1990 <span class="entry_type_enum_optional">optional</span>
1991 </li>
1992 <li>
1993 <span class="entry_type_enum_name">SNOW</span>
1994 <span class="entry_type_enum_optional">optional</span>
1995 </li>
1996 <li>
1997 <span class="entry_type_enum_name">SUNSET</span>
1998 <span class="entry_type_enum_optional">optional</span>
1999 </li>
2000 <li>
2001 <span class="entry_type_enum_name">STEADYPHOTO</span>
2002 <span class="entry_type_enum_optional">optional</span>
2003 </li>
2004 <li>
2005 <span class="entry_type_enum_name">FIREWORKS</span>
2006 <span class="entry_type_enum_optional">optional</span>
2007 </li>
2008 <li>
2009 <span class="entry_type_enum_name">SPORTS</span>
2010 <span class="entry_type_enum_optional">optional</span>
2011 </li>
2012 <li>
2013 <span class="entry_type_enum_name">PARTY</span>
2014 <span class="entry_type_enum_optional">optional</span>
2015 </li>
2016 <li>
2017 <span class="entry_type_enum_name">CANDLELIGHT</span>
2018 <span class="entry_type_enum_optional">optional</span>
2019 </li>
2020 <li>
2021 <span class="entry_type_enum_name">BARCODE</span>
2022 <span class="entry_type_enum_optional">optional</span>
2023 </li>
2024 </ul>
2025
2026 </td> <!-- entry_type -->
2027
2028 <td class="entry_description">
2029 Which scene mode is active when
2030 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2031 </td>
2032
2033 <td class="entry_units">
2034 </td>
2035
2036 <td class="entry_range">
2037 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2038 </td>
2039
2040 <td class="entry_notes">
2041 </td>
2042
2043 <td class="entry_tags">
2044 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002045 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002046 </ul>
2047 </td>
2048
2049 </tr> <!-- end of entry -->
2050
2051
2052 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2053 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002056
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002057 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002058
2059 <ul class="entry_type_enum">
2060 <li>
2061 <span class="entry_type_enum_name">OFF</span>
2062 </li>
2063 <li>
2064 <span class="entry_type_enum_name">ON</span>
2065 </li>
2066 </ul>
2067
2068 </td> <!-- entry_type -->
2069
2070 <td class="entry_description">
2071 Whether video stabilization is
2072 active
2073 </td>
2074
2075 <td class="entry_units">
2076 </td>
2077
2078 <td class="entry_range">
2079 </td>
2080
2081 <td class="entry_notes">
2082 If enabled,<wbr> video stabilization can modify the
2083 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2084 stabilized
2085 </td>
2086
2087 <td class="entry_tags">
2088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002089 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002090 </ul>
2091 </td>
2092
2093 </tr> <!-- end of entry -->
2094
2095
2096
2097 <!-- end of kind -->
2098 </tbody>
2099 <tr><td colspan="7" class="kind">static</td></tr>
2100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102 <tr>
2103 <th class="th_name">Property Name</th>
2104 <th class="th_type">Type</th>
2105 <th class="th_description">Description</th>
2106 <th class="th_units">Units</th>
2107 <th class="th_range">Range</th>
2108 <th class="th_notes">Notes</th>
2109 <th class="th_tags">Tags</th>
2110 </tr>
2111 </thead>
2112
2113 <tbody>
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2125 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002127 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002128 <span class="entry_type_container">x</span>
2129
2130 <span class="entry_type_array">
2131 n
2132 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002134 <div class="entry_type_notes">list of enums</div>
2135
2136
2137 </td> <!-- entry_type -->
2138
2139 <td class="entry_description">
2140 Which set of antibanding modes are
2141 supported
2142 </td>
2143
2144 <td class="entry_units">
2145 </td>
2146
2147 <td class="entry_range">
2148 </td>
2149
2150 <td class="entry_notes">
2151 </td>
2152
2153 <td class="entry_tags">
2154 </td>
2155
2156 </tr> <!-- end of entry -->
2157
2158
2159 <tr class="entry" id="static_android.control.aeAvailableModes">
2160 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002162 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002163 <span class="entry_type_container">x</span>
2164
2165 <span class="entry_type_array">
2166 n
2167 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002168 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002169 <div class="entry_type_notes">list of enums</div>
2170
2171
2172 </td> <!-- entry_type -->
2173
2174 <td class="entry_description">
2175 Which subset of AE modes is
2176 supported
2177 </td>
2178
2179 <td class="entry_units">
2180 </td>
2181
2182 <td class="entry_range">
2183 OFF,<wbr> ON must be supported.<wbr>
2184 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2185 unit is available
2186 </td>
2187
2188 <td class="entry_notes">
2189 </td>
2190
2191 <td class="entry_tags">
2192 </td>
2193
2194 </tr> <!-- end of entry -->
2195
2196
2197 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002201 <span class="entry_type_container">x</span>
2202
2203 <span class="entry_type_array">
2204 2 x n
2205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002207 <div class="entry_type_notes">list of pairs of frame rates</div>
2208
2209
2210 </td> <!-- entry_type -->
2211
2212 <td class="entry_description">
2213 List of frame rate ranges supported by the
2214 AE algorithm/<wbr>hardware
2215 </td>
2216
2217 <td class="entry_units">
2218 </td>
2219
2220 <td class="entry_range">
2221 </td>
2222
2223 <td class="entry_notes">
2224 </td>
2225
2226 <td class="entry_tags">
2227 </td>
2228
2229 </tr> <!-- end of entry -->
2230
2231
2232 <tr class="entry" id="static_android.control.aeCompensationRange">
2233 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002235 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002236 <span class="entry_type_container">x</span>
2237
2238 <span class="entry_type_array">
2239 2
2240 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002241 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242
2243
2244 </td> <!-- entry_type -->
2245
2246 <td class="entry_description">
2247 Maximum and minimum exposure compensation
2248 setting,<wbr> in counts of
2249 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2250 </td>
2251
2252 <td class="entry_units">
2253 </td>
2254
2255 <td class="entry_range">
2256 At least (-2,<wbr>2)/<wbr>(exp compensation step
2257 size)
2258 </td>
2259
2260 <td class="entry_notes">
2261 </td>
2262
2263 <td class="entry_tags">
2264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002265 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002266 </ul>
2267 </td>
2268
2269 </tr> <!-- end of entry -->
2270
2271
2272 <tr class="entry" id="static_android.control.aeCompensationStep">
2273 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002275 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002277 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002278
2279
2280 </td> <!-- entry_type -->
2281
2282 <td class="entry_description">
2283 Smallest step by which exposure compensation
2284 can be changed
2285 </td>
2286
2287 <td class="entry_units">
2288 </td>
2289
2290 <td class="entry_range">
2291 <= 1/<wbr>2
2292 </td>
2293
2294 <td class="entry_notes">
2295 </td>
2296
2297 <td class="entry_tags">
2298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002299 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002300 </ul>
2301 </td>
2302
2303 </tr> <!-- end of entry -->
2304
2305
2306 <tr class="entry" id="static_android.control.afAvailableModes">
2307 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002309 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002310 <span class="entry_type_container">x</span>
2311
2312 <span class="entry_type_array">
2313 n
2314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 <div class="entry_type_notes">List of enums</div>
2317
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
2322 List of AF modes that can be
2323 selected
2324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
2330 OFF must be included.<wbr> AUTO must be supported if
2331 lens allows for changing focus
2332 </td>
2333
2334 <td class="entry_notes">
2335 </td>
2336
2337 <td class="entry_tags">
2338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002339 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002340 </ul>
2341 </td>
2342
2343 </tr> <!-- end of entry -->
2344
2345
2346 <tr class="entry" id="static_android.control.availableEffects">
2347 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2348 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002349 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002350 <span class="entry_type_container">x</span>
2351
2352 <span class="entry_type_array">
2353 n
2354 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002355 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 <div class="entry_type_notes">list of enums</div>
2357
2358
2359 </td> <!-- entry_type -->
2360
2361 <td class="entry_description">
2362 what subset of the full color effect enum
2363 list is supported
2364 </td>
2365
2366 <td class="entry_units">
2367 </td>
2368
2369 <td class="entry_range">
2370 OFF must be listed
2371 </td>
2372
2373 <td class="entry_notes">
2374 </td>
2375
2376 <td class="entry_tags">
2377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002379 </ul>
2380 </td>
2381
2382 </tr> <!-- end of entry -->
2383
2384
2385 <tr class="entry" id="static_android.control.availableSceneModes">
2386 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002388 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002389 <span class="entry_type_container">x</span>
2390
2391 <span class="entry_type_array">
2392 n
2393 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 <div class="entry_type_notes">list of enums from android.<wbr>control.<wbr>scene<wbr>Mode,<wbr> plus UNSUPPORTED to indicate no scene modes are supported</div>
2396
2397
2398 </td> <!-- entry_type -->
2399
2400 <td class="entry_description">
2401 what subset of the scene mode enum list is
2402 supported.<wbr>
2403 </td>
2404
2405 <td class="entry_units">
2406 </td>
2407
2408 <td class="entry_range">
2409 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2410 detection is supported
2411 </td>
2412
2413 <td class="entry_notes">
2414 </td>
2415
2416 <td class="entry_tags">
2417 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002418 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002419 </ul>
2420 </td>
2421
2422 </tr> <!-- end of entry -->
2423
2424
2425 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2426 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002428 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002429 <span class="entry_type_container">x</span>
2430
2431 <span class="entry_type_array">
2432 n
2433 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002434 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002435 <div class="entry_type_notes">List of enums.<wbr></div>
2436
2437
2438 </td> <!-- entry_type -->
2439
2440 <td class="entry_description">
2441 List of video stabilization modes that can
2442 be supported
2443 </td>
2444
2445 <td class="entry_units">
2446 </td>
2447
2448 <td class="entry_range">
2449 OFF must be included
2450 </td>
2451
2452 <td class="entry_notes">
2453 </td>
2454
2455 <td class="entry_tags">
2456 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002457 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002458 </ul>
2459 </td>
2460
2461 </tr> <!-- end of entry -->
2462
2463
2464 <tr class="entry" id="static_android.control.awbAvailableModes">
2465 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2466 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002467 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002468 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469
Alex Raya4251d92013-04-30 16:43:44 -07002470 <span class="entry_type_array">
2471 n
2472 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002473 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002474 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002475
2476
2477 </td> <!-- entry_type -->
2478
2479 <td class="entry_description">
2480 </td>
2481
2482 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002483 </td>
2484
2485 <td class="entry_range">
2486 OFF,<wbr> AUTO must be included
2487 </td>
2488
2489 <td class="entry_notes">
2490 </td>
2491
2492 <td class="entry_tags">
2493 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002494 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002495 </ul>
2496 </td>
2497
2498 </tr> <!-- end of entry -->
2499
2500
2501 <tr class="entry" id="static_android.control.maxRegions">
2502 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002507
2508
2509 </td> <!-- entry_type -->
2510
2511 <td class="entry_description">
2512 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2513 regions can be listed for metering?
2514 </td>
2515
2516 <td class="entry_units">
2517 </td>
2518
2519 <td class="entry_range">
2520 >= 1
2521 </td>
2522
2523 <td class="entry_notes">
2524 </td>
2525
2526 <td class="entry_tags">
2527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002528 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002529 </ul>
2530 </td>
2531
2532 </tr> <!-- end of entry -->
2533
2534
2535 <tr class="entry" id="static_android.control.sceneModeOverrides">
2536 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2537 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002538 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002539 <span class="entry_type_container">x</span>
2540
2541 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002542 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002544 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002545
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
2550 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2551 each available scene mode
2552 </td>
2553
2554 <td class="entry_units">
2555 </td>
2556
2557 <td class="entry_range">
2558 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2559 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002560 scene mode.<wbr>
2561
2562 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2563 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002564 </td>
2565
2566 <td class="entry_notes">
2567 When a scene mode is enabled,<wbr> the HAL is expected
2568 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002569 preferred settings for that scene mode.<wbr>
2570<br>
2571<br> To simplify communication with old camera API applications,<wbr>
2572 the service wants this override list in the static metadata.<wbr>
2573 The order of this list matches that of availableSceneModes,<wbr>
2574 with 3 entires for each scene mode.<wbr> The overrides listed
2575 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2576 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2577 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2578 AUTO.<wbr>
2579<br>
2580<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2581 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2582 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2583 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2584 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2585 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002586 </td>
2587
2588 <td class="entry_tags">
2589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002591 </ul>
2592 </td>
2593
2594 </tr> <!-- end of entry -->
2595
2596
2597
2598 <!-- end of kind -->
2599 </tbody>
2600 <tr><td colspan="7" class="kind">dynamic</td></tr>
2601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002602 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002603 <tr>
2604 <th class="th_name">Property Name</th>
2605 <th class="th_type">Type</th>
2606 <th class="th_description">Description</th>
2607 <th class="th_units">Units</th>
2608 <th class="th_range">Range</th>
2609 <th class="th_notes">Notes</th>
2610 <th class="th_tags">Tags</th>
2611 </tr>
2612 </thead>
2613
2614 <tbody>
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2626 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002630 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002631
2632
2633 </td> <!-- entry_type -->
2634
2635 <td class="entry_description">
2636 The ID sent with the latest
2637 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2638 </td>
2639
2640 <td class="entry_units">
2641 </td>
2642
2643 <td class="entry_range">
2644 </td>
2645
2646 <td class="entry_notes">
2647 Must be 0 if no
2648 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2649 by HAL.<wbr> Always updated even if AE algorithm ignores the
2650 trigger
2651 </td>
2652
2653 <td class="entry_tags">
2654 </td>
2655
2656 </tr> <!-- end of entry -->
2657
2658
2659 <tr class="entry" id="dynamic_android.control.aeRegions">
2660 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002662 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663 <span class="entry_type_container">x</span>
2664
2665 <span class="entry_type_array">
2666 5 x area_count
2667 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002668 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669
2670
2671 </td> <!-- entry_type -->
2672
2673 <td class="entry_description">
2674 List of areas to use for
2675 metering
2676 </td>
2677
2678 <td class="entry_units">
2679 </td>
2680
2681 <td class="entry_range">
2682 </td>
2683
2684 <td class="entry_notes">
2685 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002686 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2687 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002688<br>
2689<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002690 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2691 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2692 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2693 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002694 should be nonnegative.<wbr>
2695<br>
2696<br> If all regions have 0 weight,<wbr> then no specific metering area
2697 needs to be used by the HAL.<wbr> If the metering region is
2698 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2699 should ignore the sections outside the region and output the
2700 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002701 </td>
2702
2703 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <ul class="entry_tags">
2705 <li><a href="#tag_BC">BC</a></li>
2706 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002707 </td>
2708
2709 </tr> <!-- end of entry -->
2710
2711
2712 <tr class="entry" id="dynamic_android.control.aeState">
2713 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002715 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002717 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002718
2719 <ul class="entry_type_enum">
2720 <li>
2721 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002722 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2723 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </li>
2725 <li>
2726 <span class="entry_type_enum_name">SEARCHING</span>
2727 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2728 for the current scene</span>
2729 </li>
2730 <li>
2731 <span class="entry_type_enum_name">CONVERGED</span>
2732 <span class="entry_type_enum_notes">AE has a good set of control values for the
2733 current scene</span>
2734 </li>
2735 <li>
2736 <span class="entry_type_enum_name">LOCKED</span>
2737 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2738 LOCKED)</span>
2739 </li>
2740 <li>
2741 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2742 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2743 needs to be fired for good quality still
2744 capture</span>
2745 </li>
2746 <li>
2747 <span class="entry_type_enum_name">PRECAPTURE</span>
2748 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2749 (through the
2750 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2751 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2752 completes,<wbr> AE will transition to CONVERGED or
2753 FLASH_<wbr>REQUIRED as appropriate</span>
2754 </li>
2755 </ul>
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
2760 Current state of AE algorithm
2761 </td>
2762
2763 <td class="entry_units">
2764 </td>
2765
2766 <td class="entry_range">
2767 </td>
2768
2769 <td class="entry_notes">
2770 Whenever the AE algorithm state changes,<wbr> a
2771 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2772 notification callback is registered.<wbr>
2773 </td>
2774
2775 <td class="entry_tags">
2776 </td>
2777
2778 </tr> <!-- end of entry -->
2779
2780
2781 <tr class="entry" id="dynamic_android.control.afMode">
2782 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002784 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002786 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002787
2788 <ul class="entry_type_enum">
2789 <li>
2790 <span class="entry_type_enum_name">OFF</span>
2791 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002792 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002793 application</span>
2794 </li>
2795 <li>
2796 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002797 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2798
2799 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2800 is fixed focus In this mode,<wbr> the lens does not move unless
2801 the autofocus trigger action is called.<wbr> When that trigger
2802 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2803 the outcome of the scan (FOCUSED or
2804 NOT_<wbr>FOCUSED).<wbr>
2805
2806 Triggering cancel AF resets the lens position to default,<wbr>
2807 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808 </li>
2809 <li>
2810 <span class="entry_type_enum_name">MACRO</span>
2811 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002812 autofocus trigger action is called.<wbr>
2813
2814 When that trigger is activated,<wbr> AF must transition to
2815 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2816 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2817 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002818 INACTIVE.<wbr></span>
2819 </li>
2820 <li>
2821 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2822 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2823 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002824 constantly-in-focus image stream.<wbr>
2825
2826 The focusing behavior should be suitable for good quality
2827 video recording; typically this means slower focus
2828 movement and no overshoots.<wbr> When the AF trigger is not
2829 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2830 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2831 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2832 the algorithm should immediately transition into
2833 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2834 lens position until a cancel AF trigger is received.<wbr>
2835
2836 Once cancel is received,<wbr> the algorithm should transition
2837 back to INACTIVE and resume passive scan.<wbr> Note that this
2838 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2839 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002840 canceled.<wbr></span>
2841 </li>
2842 <li>
2843 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2844 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2845 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002846 constantly-in-focus image stream.<wbr>
2847
2848 The focusing behavior should be suitable for still image
2849 capture; typically this means focusing as fast as
2850 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2851 algorithm should start in INACTIVE state,<wbr> and then
2852 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2853 appropriate as it attempts to maintain focus.<wbr> When the AF
2854 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002855 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002856 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2857 lens position until a cancel AF trigger is received.<wbr>
2858
2859 When the AF cancel trigger is activated,<wbr> the algorithm
2860 should transition back to INACTIVE and then act as if it
2861 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002862 </li>
2863 <li>
2864 <span class="entry_type_enum_name">EDOF</span>
2865 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2866 trigger is ignored,<wbr> AF state should always be
2867 INACTIVE.<wbr></span>
2868 </li>
2869 </ul>
2870
2871 </td> <!-- entry_type -->
2872
2873 <td class="entry_description">
2874 Whether AF is currently enabled,<wbr> and what
2875 mode it is set to
2876 </td>
2877
2878 <td class="entry_units">
2879 </td>
2880
2881 <td class="entry_range">
2882 </td>
2883
2884 <td class="entry_notes">
2885 </td>
2886
2887 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002888 <ul class="entry_tags">
2889 <li><a href="#tag_BC">BC</a></li>
2890 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002891 </td>
2892
2893 </tr> <!-- end of entry -->
2894
2895
2896 <tr class="entry" id="dynamic_android.control.afRegions">
2897 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900 <span class="entry_type_container">x</span>
2901
2902 <span class="entry_type_array">
2903 5 x area_count
2904 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002905 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002906
2907
2908 </td> <!-- entry_type -->
2909
2910 <td class="entry_description">
2911 List of areas to use for focus
2912 estimation
2913 </td>
2914
2915 <td class="entry_units">
2916 </td>
2917
2918 <td class="entry_range">
2919 </td>
2920
2921 <td class="entry_notes">
2922 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002923 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2924 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002925<br>
2926<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002927 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2928 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2929 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2930 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002931 should be nonnegative.<wbr>
2932<br>
2933<br> If all regions have 0 weight,<wbr> then no specific focus area
2934 needs to be used by the HAL.<wbr> If the focusing region is
2935 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2936 should ignore the sections outside the region and output the
2937 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002938 </td>
2939
2940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002941 <ul class="entry_tags">
2942 <li><a href="#tag_BC">BC</a></li>
2943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002944 </td>
2945
2946 </tr> <!-- end of entry -->
2947
2948
2949 <tr class="entry" id="dynamic_android.control.afState">
2950 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002955
2956 <ul class="entry_type_enum">
2957 <li>
2958 <span class="entry_type_enum_name">INACTIVE</span>
2959 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
Alex Ray7aeb05e2013-03-27 16:26:41 -07002960 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2961 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962 </li>
2963 <li>
2964 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002965 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF is
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002966 currently doing an AF scan initiated by a continuous
2967 autofocus mode</span>
2968 </li>
2969 <li>
2970 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002971 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF currently
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002972 believes it is in focus,<wbr> but may restart scanning at
2973 any time.<wbr></span>
2974 </li>
2975 <li>
2976 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002977 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported.<wbr> AF is doing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 an AF scan because it was triggered by AF
2979 trigger</span>
2980 </li>
2981 <li>
2982 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002983 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002984 believes it is focused correctly and is
2985 locked</span>
2986 </li>
2987 <li>
2988 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002989 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF has
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002990 failed to focus successfully and is
2991 locked</span>
2992 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002993 <li>
2994 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
2995 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF finished a
2996 passive scan without finding focus,<wbr> and may restart
2997 scanning at any time.<wbr></span>
2998 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002999 </ul>
3000
3001 </td> <!-- entry_type -->
3002
3003 <td class="entry_description">
3004 Current state of AF algorithm
3005 </td>
3006
3007 <td class="entry_units">
3008 </td>
3009
3010 <td class="entry_range">
3011 </td>
3012
3013 <td class="entry_notes">
3014 Whenever the AF algorithm state changes,<wbr> a
3015 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3016 callback is registered.<wbr>
3017 </td>
3018
3019 <td class="entry_tags">
3020 </td>
3021
3022 </tr> <!-- end of entry -->
3023
3024
3025 <tr class="entry" id="dynamic_android.control.afTriggerId">
3026 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3027 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003028 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003030 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003031
3032
3033 </td> <!-- entry_type -->
3034
3035 <td class="entry_description">
3036 The ID sent with the latest
3037 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3038 </td>
3039
3040 <td class="entry_units">
3041 </td>
3042
3043 <td class="entry_range">
3044 </td>
3045
3046 <td class="entry_notes">
3047 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3048 received yet by HAL.<wbr> Always updated even if AF algorithm
3049 ignores the trigger
3050 </td>
3051
3052 <td class="entry_tags">
3053 </td>
3054
3055 </tr> <!-- end of entry -->
3056
3057
3058 <tr class="entry" id="dynamic_android.control.awbMode">
3059 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3060 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003061 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003062
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003063 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003064
3065 <ul class="entry_type_enum">
3066 <li>
3067 <span class="entry_type_enum_name">OFF</span>
3068 </li>
3069 <li>
3070 <span class="entry_type_enum_name">AUTO</span>
3071 </li>
3072 <li>
3073 <span class="entry_type_enum_name">INCANDESCENT</span>
3074 </li>
3075 <li>
3076 <span class="entry_type_enum_name">FLUORESCENT</span>
3077 </li>
3078 <li>
3079 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3080 </li>
3081 <li>
3082 <span class="entry_type_enum_name">DAYLIGHT</span>
3083 </li>
3084 <li>
3085 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3086 </li>
3087 <li>
3088 <span class="entry_type_enum_name">TWILIGHT</span>
3089 </li>
3090 <li>
3091 <span class="entry_type_enum_name">SHADE</span>
3092 </li>
3093 </ul>
3094
3095 </td> <!-- entry_type -->
3096
3097 <td class="entry_description">
3098 Whether AWB is currently setting the color
3099 transform fields,<wbr> and what its illumination target
3100 is
3101 </td>
3102
3103 <td class="entry_units">
3104 </td>
3105
3106 <td class="entry_range">
3107 </td>
3108
3109 <td class="entry_notes">
3110 [BC - AWB lock,<wbr>AWB modes]
3111 </td>
3112
3113 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003114 <ul class="entry_tags">
3115 <li><a href="#tag_BC">BC</a></li>
3116 <li><a href="#tag_AWB">AWB</a></li>
3117 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118 </td>
3119
3120 </tr> <!-- end of entry -->
3121
3122
3123 <tr class="entry" id="dynamic_android.control.awbRegions">
3124 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003127 <span class="entry_type_container">x</span>
3128
3129 <span class="entry_type_array">
3130 5 x area_count
3131 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003133
3134
3135 </td> <!-- entry_type -->
3136
3137 <td class="entry_description">
3138 List of areas to use for illuminant
3139 estimation
3140 </td>
3141
3142 <td class="entry_units">
3143 </td>
3144
3145 <td class="entry_range">
3146 </td>
3147
3148 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003149 Only used in AUTO mode.<wbr>
3150<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07003151<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3152 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3153 specified coordinates.<wbr>
3154<br>
3155<br> The coordinate system is based on the active pixel array,<wbr>
3156 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3157 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3158 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3159 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003160 should be nonnegative.<wbr>
3161<br>
3162<br> If all regions have 0 weight,<wbr> then no specific metering area
3163 needs to be used by the HAL.<wbr> If the metering region is
3164 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3165 should ignore the sections outside the region and output the
3166 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167 </td>
3168
3169 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003170 <ul class="entry_tags">
3171 <li><a href="#tag_BC">BC</a></li>
3172 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173 </td>
3174
3175 </tr> <!-- end of entry -->
3176
3177
3178 <tr class="entry" id="dynamic_android.control.awbState">
3179 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003181 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003182
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003183 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003184
3185 <ul class="entry_type_enum">
3186 <li>
3187 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003188 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3189 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003190 </li>
3191 <li>
3192 <span class="entry_type_enum_name">SEARCHING</span>
3193 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3194 values for the current scene</span>
3195 </li>
3196 <li>
3197 <span class="entry_type_enum_name">CONVERGED</span>
3198 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3199 current scene</span>
3200 </li>
3201 <li>
3202 <span class="entry_type_enum_name">LOCKED</span>
3203 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3204 LOCKED)</span>
3205 </li>
3206 </ul>
3207
3208 </td> <!-- entry_type -->
3209
3210 <td class="entry_description">
3211 Current state of AWB algorithm
3212 </td>
3213
3214 <td class="entry_units">
3215 </td>
3216
3217 <td class="entry_range">
3218 </td>
3219
3220 <td class="entry_notes">
3221 Whenever the AWB algorithm state changes,<wbr> a
3222 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3223 notification callback is registered.<wbr>
3224 </td>
3225
3226 <td class="entry_tags">
3227 </td>
3228
3229 </tr> <!-- end of entry -->
3230
3231
3232 <tr class="entry" id="dynamic_android.control.mode">
3233 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003235 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003236
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003237 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003238
3239 <ul class="entry_type_enum">
3240 <li>
3241 <span class="entry_type_enum_name">OFF</span>
3242 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3243 routines are disabled,<wbr> no other settings in
3244 android.<wbr>control.<wbr>* have any effect</span>
3245 </li>
3246 <li>
3247 <span class="entry_type_enum_name">AUTO</span>
3248 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3249 Manual control of capture parameters is disabled.<wbr> All
3250 controls in android.<wbr>control.<wbr>* besides sceneMode take
3251 effect</span>
3252 </li>
3253 <li>
3254 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3255 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3256 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3257 controls; the HAL must ignore those settings while
3258 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3259 scene mode).<wbr> Other control entries are still active.<wbr>
3260 This setting can only be used if availableSceneModes !=
3261 UNSUPPORTED</span>
3262 </li>
3263 </ul>
3264
3265 </td> <!-- entry_type -->
3266
3267 <td class="entry_description">
3268 Overall mode of 3A control
3269 routines
3270 </td>
3271
3272 <td class="entry_units">
3273 </td>
3274
3275 <td class="entry_range">
3276 all must be supported
3277 </td>
3278
3279 <td class="entry_notes">
3280 </td>
3281
3282 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003283 <ul class="entry_tags">
3284 <li><a href="#tag_BC">BC</a></li>
3285 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003286 </td>
3287
3288 </tr> <!-- end of entry -->
3289
3290
3291
3292 <!-- end of kind -->
3293 </tbody>
3294
3295 <!-- end of section -->
3296 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3297
3298
3299 <tr><td colspan="7" class="kind">controls</td></tr>
3300
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003301 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003302 <tr>
3303 <th class="th_name">Property Name</th>
3304 <th class="th_type">Type</th>
3305 <th class="th_description">Description</th>
3306 <th class="th_units">Units</th>
3307 <th class="th_range">Range</th>
3308 <th class="th_notes">Notes</th>
3309 <th class="th_tags">Tags</th>
3310 </tr>
3311 </thead>
3312
3313 <tbody>
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324 <tr class="entry" id="controls_android.demosaic.mode">
3325 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3326 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003327 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003328
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003329 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003330
3331 <ul class="entry_type_enum">
3332 <li>
3333 <span class="entry_type_enum_name">FAST</span>
3334 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3335 Bayer RAW output</span>
3336 </li>
3337 <li>
3338 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3339 <span class="entry_type_enum_notes">High-quality may reduce output frame
3340 rate</span>
3341 </li>
3342 </ul>
3343
3344 </td> <!-- entry_type -->
3345
3346 <td class="entry_description">
3347 Controls the quality of the demosaicing
3348 processing
3349 </td>
3350
3351 <td class="entry_units">
3352 </td>
3353
3354 <td class="entry_range">
3355 </td>
3356
3357 <td class="entry_notes">
3358 </td>
3359
3360 <td class="entry_tags">
3361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003362 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003363 </ul>
3364 </td>
3365
3366 </tr> <!-- end of entry -->
3367
3368
3369
3370 <!-- end of kind -->
3371 </tbody>
3372
3373 <!-- end of section -->
3374 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3375
3376
3377 <tr><td colspan="7" class="kind">controls</td></tr>
3378
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003379 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003380 <tr>
3381 <th class="th_name">Property Name</th>
3382 <th class="th_type">Type</th>
3383 <th class="th_description">Description</th>
3384 <th class="th_units">Units</th>
3385 <th class="th_range">Range</th>
3386 <th class="th_notes">Notes</th>
3387 <th class="th_tags">Tags</th>
3388 </tr>
3389 </thead>
3390
3391 <tbody>
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402 <tr class="entry" id="controls_android.edge.mode">
3403 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3404 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003405 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003406
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003407 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003408
3409 <ul class="entry_type_enum">
3410 <li>
3411 <span class="entry_type_enum_name">OFF</span>
3412 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3413 </li>
3414 <li>
3415 <span class="entry_type_enum_name">FAST</span>
3416 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3417 bayer output</span>
3418 </li>
3419 <li>
3420 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3421 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3422 quality</span>
3423 </li>
3424 </ul>
3425
3426 </td> <!-- entry_type -->
3427
3428 <td class="entry_description">
3429 Operation mode for edge
3430 enhancement
3431 </td>
3432
3433 <td class="entry_units">
3434 </td>
3435
3436 <td class="entry_range">
3437 </td>
3438
3439 <td class="entry_notes">
3440 </td>
3441
3442 <td class="entry_tags">
3443 </td>
3444
3445 </tr> <!-- end of entry -->
3446
3447
3448 <tr class="entry" id="controls_android.edge.strength">
3449 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003451 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003452
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003453 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003454
3455
3456 </td> <!-- entry_type -->
3457
3458 <td class="entry_description">
3459 Control the amount of edge enhancement
3460 applied to the images
3461 </td>
3462
3463 <td class="entry_units">
3464 1-10; 10 is maximum sharpening
3465 </td>
3466
3467 <td class="entry_range">
3468 </td>
3469
3470 <td class="entry_notes">
3471 </td>
3472
3473 <td class="entry_tags">
3474 </td>
3475
3476 </tr> <!-- end of entry -->
3477
3478
3479
3480 <!-- end of kind -->
3481 </tbody>
3482 <tr><td colspan="7" class="kind">dynamic</td></tr>
3483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003484 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003485 <tr>
3486 <th class="th_name">Property Name</th>
3487 <th class="th_type">Type</th>
3488 <th class="th_description">Description</th>
3489 <th class="th_units">Units</th>
3490 <th class="th_range">Range</th>
3491 <th class="th_notes">Notes</th>
3492 <th class="th_tags">Tags</th>
3493 </tr>
3494 </thead>
3495
3496 <tbody>
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507 <tr class="entry" id="dynamic_android.edge.mode">
3508 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3509 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003510 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003512 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003513
3514 <ul class="entry_type_enum">
3515 <li>
3516 <span class="entry_type_enum_name">OFF</span>
3517 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3518 </li>
3519 <li>
3520 <span class="entry_type_enum_name">FAST</span>
3521 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3522 bayer output</span>
3523 </li>
3524 <li>
3525 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3526 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3527 quality</span>
3528 </li>
3529 </ul>
3530
3531 </td> <!-- entry_type -->
3532
3533 <td class="entry_description">
3534 Operation mode for edge
3535 enhancement
3536 </td>
3537
3538 <td class="entry_units">
3539 </td>
3540
3541 <td class="entry_range">
3542 </td>
3543
3544 <td class="entry_notes">
3545 </td>
3546
3547 <td class="entry_tags">
3548 </td>
3549
3550 </tr> <!-- end of entry -->
3551
3552
3553
3554 <!-- end of kind -->
3555 </tbody>
3556
3557 <!-- end of section -->
3558 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3559
3560
3561 <tr><td colspan="7" class="kind">controls</td></tr>
3562
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003563 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003564 <tr>
3565 <th class="th_name">Property Name</th>
3566 <th class="th_type">Type</th>
3567 <th class="th_description">Description</th>
3568 <th class="th_units">Units</th>
3569 <th class="th_range">Range</th>
3570 <th class="th_notes">Notes</th>
3571 <th class="th_tags">Tags</th>
3572 </tr>
3573 </thead>
3574
3575 <tbody>
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586 <tr class="entry" id="controls_android.flash.firingPower">
3587 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003589 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003590
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003591 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003592
3593
3594 </td> <!-- entry_type -->
3595
3596 <td class="entry_description">
3597 Power for flash firing/<wbr>torch
3598 </td>
3599
3600 <td class="entry_units">
3601 10 is max power; 0 is no flash.<wbr> Linear
3602 </td>
3603
3604 <td class="entry_range">
3605 0 - 10
3606 </td>
3607
3608 <td class="entry_notes">
3609 Power for snapshot may use a different scale than
3610 for torch mode.<wbr> Only one entry for torch mode will be
3611 used
3612 </td>
3613
3614 <td class="entry_tags">
3615 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003616 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003617 </ul>
3618 </td>
3619
3620 </tr> <!-- end of entry -->
3621
3622
3623 <tr class="entry" id="controls_android.flash.firingTime">
3624 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003626 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003627
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003628 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003629
3630
3631 </td> <!-- entry_type -->
3632
3633 <td class="entry_description">
3634 Firing time of flash relative to start of
3635 exposure
3636 </td>
3637
3638 <td class="entry_units">
3639 nanoseconds
3640 </td>
3641
3642 <td class="entry_range">
3643 0-(exposure time-flash duration)
3644 </td>
3645
3646 <td class="entry_notes">
3647 Clamped to (0,<wbr> exposure time - flash
3648 duration).<wbr>
3649 </td>
3650
3651 <td class="entry_tags">
3652 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003653 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003654 </ul>
3655 </td>
3656
3657 </tr> <!-- end of entry -->
3658
3659
3660 <tr class="entry" id="controls_android.flash.mode">
3661 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3662 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003663 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003665 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003666
3667 <ul class="entry_type_enum">
3668 <li>
3669 <span class="entry_type_enum_name">OFF</span>
3670 <span class="entry_type_enum_notes">Do not fire the flash for this
3671 capture</span>
3672 </li>
3673 <li>
3674 <span class="entry_type_enum_name">SINGLE</span>
3675 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3676 for this capture based on firingPower,<wbr>
3677 firingTime.<wbr></span>
3678 </li>
3679 <li>
3680 <span class="entry_type_enum_name">TORCH</span>
3681 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3682 continuously on,<wbr> power set by
3683 firingPower</span>
3684 </li>
3685 </ul>
3686
3687 </td> <!-- entry_type -->
3688
3689 <td class="entry_description">
3690 Select flash operation mode
3691 </td>
3692
3693 <td class="entry_units">
3694 </td>
3695
3696 <td class="entry_range">
3697 </td>
3698
3699 <td class="entry_notes">
3700 </td>
3701
3702 <td class="entry_tags">
3703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003704 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003705 </ul>
3706 </td>
3707
3708 </tr> <!-- end of entry -->
3709
3710
3711
3712 <!-- end of kind -->
3713 </tbody>
3714 <tr><td colspan="7" class="kind">static</td></tr>
3715
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003716 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003717 <tr>
3718 <th class="th_name">Property Name</th>
3719 <th class="th_type">Type</th>
3720 <th class="th_description">Description</th>
3721 <th class="th_units">Units</th>
3722 <th class="th_range">Range</th>
3723 <th class="th_notes">Notes</th>
3724 <th class="th_tags">Tags</th>
3725 </tr>
3726 </thead>
3727
3728 <tbody>
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741 <tr class="entry" id="static_android.flash.info.available">
3742 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3743 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003744 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003746 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747
3748
3749 </td> <!-- entry_type -->
3750
3751 <td class="entry_description">
3752 Whether this camera has a
3753 flash
3754 </td>
3755
3756 <td class="entry_units">
3757 boolean (0 = false,<wbr> otherwise true)
3758 </td>
3759
3760 <td class="entry_range">
3761 </td>
3762
3763 <td class="entry_notes">
3764 If no flash,<wbr> none of the flash controls do
3765 anything.<wbr> All other metadata should return 0
3766 </td>
3767
3768 <td class="entry_tags">
3769 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003770 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003771 </ul>
3772 </td>
3773
3774 </tr> <!-- end of entry -->
3775
3776
3777 <tr class="entry" id="static_android.flash.info.chargeDuration">
3778 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3779 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003780 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003781
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003782 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003783
3784
3785 </td> <!-- entry_type -->
3786
3787 <td class="entry_description">
3788 Time taken before flash can fire
3789 again
3790 </td>
3791
3792 <td class="entry_units">
3793 nanoseconds
3794 </td>
3795
3796 <td class="entry_range">
3797 0-1e9
3798 </td>
3799
3800 <td class="entry_notes">
3801 1 second too long/<wbr>too short for recharge? Should
3802 this be power-dependent?
3803 </td>
3804
3805 <td class="entry_tags">
3806 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003807 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003808 </ul>
3809 </td>
3810
3811 </tr> <!-- end of entry -->
3812
3813
3814
3815
3816
3817 <tr class="entry" id="static_android.flash.colorTemperature">
3818 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003820 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003822 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003823
3824
3825 </td> <!-- entry_type -->
3826
3827 <td class="entry_description">
3828 The x,<wbr>y whitepoint of the
3829 flash
3830 </td>
3831
3832 <td class="entry_units">
3833 pair of floats
3834 </td>
3835
3836 <td class="entry_range">
3837 0-1 for both
3838 </td>
3839
3840 <td class="entry_notes">
3841 </td>
3842
3843 <td class="entry_tags">
3844 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003845 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003846 </ul>
3847 </td>
3848
3849 </tr> <!-- end of entry -->
3850
3851
3852 <tr class="entry" id="static_android.flash.maxEnergy">
3853 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003855 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003856
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003857 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003858
3859
3860 </td> <!-- entry_type -->
3861
3862 <td class="entry_description">
3863 Max energy output of the flash for a full
3864 power single flash
3865 </td>
3866
3867 <td class="entry_units">
3868 lumen-seconds
3869 </td>
3870
3871 <td class="entry_range">
3872 >= 0
3873 </td>
3874
3875 <td class="entry_notes">
3876 </td>
3877
3878 <td class="entry_tags">
3879 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003880 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003881 </ul>
3882 </td>
3883
3884 </tr> <!-- end of entry -->
3885
3886
3887
3888 <!-- end of kind -->
3889 </tbody>
3890 <tr><td colspan="7" class="kind">dynamic</td></tr>
3891
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003892 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003893 <tr>
3894 <th class="th_name">Property Name</th>
3895 <th class="th_type">Type</th>
3896 <th class="th_description">Description</th>
3897 <th class="th_units">Units</th>
3898 <th class="th_range">Range</th>
3899 <th class="th_notes">Notes</th>
3900 <th class="th_tags">Tags</th>
3901 </tr>
3902 </thead>
3903
3904 <tbody>
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915 <tr class="entry" id="dynamic_android.flash.firingPower">
3916 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3917 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003918 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003919
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003920 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003921
3922
3923 </td> <!-- entry_type -->
3924
3925 <td class="entry_description">
3926 Power for flash firing/<wbr>torch
3927 </td>
3928
3929 <td class="entry_units">
3930 10 is max power; 0 is no flash.<wbr> Linear
3931 </td>
3932
3933 <td class="entry_range">
3934 0 - 10
3935 </td>
3936
3937 <td class="entry_notes">
3938 Power for snapshot may use a different scale than
3939 for torch mode.<wbr> Only one entry for torch mode will be
3940 used
3941 </td>
3942
3943 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003944 <ul class="entry_tags">
3945 <li><a href="#tag_V1">V1</a></li>
3946 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003947 </td>
3948
3949 </tr> <!-- end of entry -->
3950
3951
3952 <tr class="entry" id="dynamic_android.flash.firingTime">
3953 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003955 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003957 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003958
3959
3960 </td> <!-- entry_type -->
3961
3962 <td class="entry_description">
3963 Firing time of flash relative to start of
3964 exposure
3965 </td>
3966
3967 <td class="entry_units">
3968 nanoseconds
3969 </td>
3970
3971 <td class="entry_range">
3972 0-(exposure time-flash duration)
3973 </td>
3974
3975 <td class="entry_notes">
3976 Clamped to (0,<wbr> exposure time - flash
3977 duration).<wbr>
3978 </td>
3979
3980 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003981 <ul class="entry_tags">
3982 <li><a href="#tag_V1">V1</a></li>
3983 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003984 </td>
3985
3986 </tr> <!-- end of entry -->
3987
3988
3989 <tr class="entry" id="dynamic_android.flash.mode">
3990 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003992 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003993
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003994 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003995
3996 <ul class="entry_type_enum">
3997 <li>
3998 <span class="entry_type_enum_name">OFF</span>
3999 <span class="entry_type_enum_notes">Do not fire the flash for this
4000 capture</span>
4001 </li>
4002 <li>
4003 <span class="entry_type_enum_name">SINGLE</span>
4004 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
4005 for this capture based on firingPower,<wbr>
4006 firingTime.<wbr></span>
4007 </li>
4008 <li>
4009 <span class="entry_type_enum_name">TORCH</span>
4010 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
4011 continuously on,<wbr> power set by
4012 firingPower</span>
4013 </li>
4014 </ul>
4015
4016 </td> <!-- entry_type -->
4017
4018 <td class="entry_description">
4019 Select flash operation mode
4020 </td>
4021
4022 <td class="entry_units">
4023 </td>
4024
4025 <td class="entry_range">
4026 </td>
4027
4028 <td class="entry_notes">
4029 </td>
4030
4031 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004032 <ul class="entry_tags">
4033 <li><a href="#tag_BC">BC</a></li>
4034 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004035 </td>
4036
4037 </tr> <!-- end of entry -->
4038
4039
4040 <tr class="entry" id="dynamic_android.flash.state">
4041 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4042 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004043 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004044
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004045 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004046
4047 <ul class="entry_type_enum">
4048 <li>
4049 <span class="entry_type_enum_name">UNAVAILABLE</span>
4050 <span class="entry_type_enum_notes">No flash on camera</span>
4051 </li>
4052 <li>
4053 <span class="entry_type_enum_name">CHARGING</span>
4054 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4055 charging and cannot be fired</span>
4056 </li>
4057 <li>
4058 <span class="entry_type_enum_name">READY</span>
4059 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4060 ready to fire</span>
4061 </li>
4062 <li>
4063 <span class="entry_type_enum_name">FIRED</span>
4064 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4065 for this capture</span>
4066 </li>
4067 </ul>
4068
4069 </td> <!-- entry_type -->
4070
4071 <td class="entry_description">
4072 Current state of the flash
4073 unit
4074 </td>
4075
4076 <td class="entry_units">
4077 </td>
4078
4079 <td class="entry_range">
4080 </td>
4081
4082 <td class="entry_notes">
4083 </td>
4084
4085 <td class="entry_tags">
4086 </td>
4087
4088 </tr> <!-- end of entry -->
4089
4090
4091
4092 <!-- end of kind -->
4093 </tbody>
4094
4095 <!-- end of section -->
4096 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4097
4098
4099 <tr><td colspan="7" class="kind">controls</td></tr>
4100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004102 <tr>
4103 <th class="th_name">Property Name</th>
4104 <th class="th_type">Type</th>
4105 <th class="th_description">Description</th>
4106 <th class="th_units">Units</th>
4107 <th class="th_range">Range</th>
4108 <th class="th_notes">Notes</th>
4109 <th class="th_tags">Tags</th>
4110 </tr>
4111 </thead>
4112
4113 <tbody>
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124 <tr class="entry" id="controls_android.geometric.mode">
4125 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004127 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004128
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004129 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004130
4131 <ul class="entry_type_enum">
4132 <li>
4133 <span class="entry_type_enum_name">OFF</span>
4134 <span class="entry_type_enum_notes">No geometric correction is
4135 applied</span>
4136 </li>
4137 <li>
4138 <span class="entry_type_enum_name">FAST</span>
4139 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4140 bayer output</span>
4141 </li>
4142 <li>
4143 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4144 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4145 quality</span>
4146 </li>
4147 </ul>
4148
4149 </td> <!-- entry_type -->
4150
4151 <td class="entry_description">
4152 Operating mode of geometric
4153 correction
4154 </td>
4155
4156 <td class="entry_units">
4157 </td>
4158
4159 <td class="entry_range">
4160 </td>
4161
4162 <td class="entry_notes">
4163 </td>
4164
4165 <td class="entry_tags">
4166 </td>
4167
4168 </tr> <!-- end of entry -->
4169
4170
4171 <tr class="entry" id="controls_android.geometric.strength">
4172 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4173 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004174 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004175
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004176 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004177
4178
4179 </td> <!-- entry_type -->
4180
4181 <td class="entry_description">
4182 Control the amount of shading correction
4183 applied to the images
4184 </td>
4185
4186 <td class="entry_units">
4187 unitless: 1-10; 10 is full shading
4188 compensation
4189 </td>
4190
4191 <td class="entry_range">
4192 </td>
4193
4194 <td class="entry_notes">
4195 </td>
4196
4197 <td class="entry_tags">
4198 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004199 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004200 </ul>
4201 </td>
4202
4203 </tr> <!-- end of entry -->
4204
4205
4206
4207 <!-- end of kind -->
4208 </tbody>
4209
4210 <!-- end of section -->
4211 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4212
4213
4214 <tr><td colspan="7" class="kind">controls</td></tr>
4215
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004216 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004217 <tr>
4218 <th class="th_name">Property Name</th>
4219 <th class="th_type">Type</th>
4220 <th class="th_description">Description</th>
4221 <th class="th_units">Units</th>
4222 <th class="th_range">Range</th>
4223 <th class="th_notes">Notes</th>
4224 <th class="th_tags">Tags</th>
4225 </tr>
4226 </thead>
4227
4228 <tbody>
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239 <tr class="entry" id="controls_android.hotPixel.mode">
4240 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004242 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004244 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004245
4246 <ul class="entry_type_enum">
4247 <li>
4248 <span class="entry_type_enum_name">OFF</span>
4249 <span class="entry_type_enum_notes">No hot pixel correction can be
4250 applied</span>
4251 </li>
4252 <li>
4253 <span class="entry_type_enum_name">FAST</span>
4254 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4255 Bayer output</span>
4256 </li>
4257 <li>
4258 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4259 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4260 quality</span>
4261 </li>
4262 </ul>
4263
4264 </td> <!-- entry_type -->
4265
4266 <td class="entry_description">
4267 Set operational mode for hot pixel
4268 correction
4269 </td>
4270
4271 <td class="entry_units">
4272 </td>
4273
4274 <td class="entry_range">
4275 </td>
4276
4277 <td class="entry_notes">
4278 </td>
4279
4280 <td class="entry_tags">
4281 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004282 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004283 </ul>
4284 </td>
4285
4286 </tr> <!-- end of entry -->
4287
4288
4289
4290 <!-- end of kind -->
4291 </tbody>
4292 <tr><td colspan="7" class="kind">static</td></tr>
4293
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004294 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004295 <tr>
4296 <th class="th_name">Property Name</th>
4297 <th class="th_type">Type</th>
4298 <th class="th_description">Description</th>
4299 <th class="th_units">Units</th>
4300 <th class="th_range">Range</th>
4301 <th class="th_notes">Notes</th>
4302 <th class="th_tags">Tags</th>
4303 </tr>
4304 </thead>
4305
4306 <tbody>
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319 <tr class="entry" id="static_android.hotPixel.info.map">
4320 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4321 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004322 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004323 <span class="entry_type_container">x</span>
4324
4325 <span class="entry_type_array">
4326 2 x n
4327 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004328 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004329 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4330
4331
4332 </td> <!-- entry_type -->
4333
4334 <td class="entry_description">
4335 Location of hot/<wbr>defective pixels on
4336 sensor
4337 </td>
4338
4339 <td class="entry_units">
4340 </td>
4341
4342 <td class="entry_range">
4343 </td>
4344
4345 <td class="entry_notes">
4346 </td>
4347
4348 <td class="entry_tags">
4349 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004350 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004351 </ul>
4352 </td>
4353
4354 </tr> <!-- end of entry -->
4355
4356
4357
4358
4359
4360
4361 <!-- end of kind -->
4362 </tbody>
4363 <tr><td colspan="7" class="kind">dynamic</td></tr>
4364
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004365 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004366 <tr>
4367 <th class="th_name">Property Name</th>
4368 <th class="th_type">Type</th>
4369 <th class="th_description">Description</th>
4370 <th class="th_units">Units</th>
4371 <th class="th_range">Range</th>
4372 <th class="th_notes">Notes</th>
4373 <th class="th_tags">Tags</th>
4374 </tr>
4375 </thead>
4376
4377 <tbody>
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388 <tr class="entry" id="dynamic_android.hotPixel.mode">
4389 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4390 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004391 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004392
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004393 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004394
4395 <ul class="entry_type_enum">
4396 <li>
4397 <span class="entry_type_enum_name">OFF</span>
4398 <span class="entry_type_enum_notes">No hot pixel correction can be
4399 applied</span>
4400 </li>
4401 <li>
4402 <span class="entry_type_enum_name">FAST</span>
4403 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4404 Bayer output</span>
4405 </li>
4406 <li>
4407 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4408 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4409 quality</span>
4410 </li>
4411 </ul>
4412
4413 </td> <!-- entry_type -->
4414
4415 <td class="entry_description">
4416 Set operational mode for hot pixel
4417 correction
4418 </td>
4419
4420 <td class="entry_units">
4421 </td>
4422
4423 <td class="entry_range">
4424 </td>
4425
4426 <td class="entry_notes">
4427 </td>
4428
4429 <td class="entry_tags">
4430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004431 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004432 </ul>
4433 </td>
4434
4435 </tr> <!-- end of entry -->
4436
4437
4438
4439 <!-- end of kind -->
4440 </tbody>
4441
4442 <!-- end of section -->
4443 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4444
4445
4446 <tr><td colspan="7" class="kind">controls</td></tr>
4447
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004448 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004449 <tr>
4450 <th class="th_name">Property Name</th>
4451 <th class="th_type">Type</th>
4452 <th class="th_description">Description</th>
4453 <th class="th_units">Units</th>
4454 <th class="th_range">Range</th>
4455 <th class="th_notes">Notes</th>
4456 <th class="th_tags">Tags</th>
4457 </tr>
4458 </thead>
4459
4460 <tbody>
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4472 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4473 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004474 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004475 <span class="entry_type_container">x</span>
4476
4477 <span class="entry_type_array">
4478 3
4479 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004480 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004481 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4482
4483
4484 </td> <!-- entry_type -->
4485
4486 <td class="entry_description">
4487 GPS coordinates to include in output JPEG
4488 EXIF
4489 </td>
4490
4491 <td class="entry_units">
4492 </td>
4493
4494 <td class="entry_range">
4495 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4496 </td>
4497
4498 <td class="entry_notes">
4499 </td>
4500
4501 <td class="entry_tags">
4502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004503 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004504 </ul>
4505 </td>
4506
4507 </tr> <!-- end of entry -->
4508
4509
4510 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4511 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4512 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004513 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004514
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004515 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004516
4517
4518 </td> <!-- entry_type -->
4519
4520 <td class="entry_description">
4521 32 characters describing GPS algorithm to
4522 include in EXIF
4523 </td>
4524
4525 <td class="entry_units">
4526 UTF-8 null-terminated string
4527 </td>
4528
4529 <td class="entry_range">
4530 </td>
4531
4532 <td class="entry_notes">
4533 </td>
4534
4535 <td class="entry_tags">
4536 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004537 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004538 </ul>
4539 </td>
4540
4541 </tr> <!-- end of entry -->
4542
4543
4544 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4545 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4546 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004547 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004549 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004550
4551
4552 </td> <!-- entry_type -->
4553
4554 <td class="entry_description">
4555 Time GPS fix was made to include in
4556 EXIF
4557 </td>
4558
4559 <td class="entry_units">
4560 UTC in seconds since January 1,<wbr> 1970
4561 </td>
4562
4563 <td class="entry_range">
4564 </td>
4565
4566 <td class="entry_notes">
4567 </td>
4568
4569 <td class="entry_tags">
4570 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004571 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004572 </ul>
4573 </td>
4574
4575 </tr> <!-- end of entry -->
4576
4577
4578 <tr class="entry" id="controls_android.jpeg.orientation">
4579 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004581 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004582
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004583 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004584
4585
4586 </td> <!-- entry_type -->
4587
4588 <td class="entry_description">
4589 Orientation of JPEG image to
4590 write
4591 </td>
4592
4593 <td class="entry_units">
4594 Degrees in multiples of 90
4595 </td>
4596
4597 <td class="entry_range">
4598 0,<wbr> 90,<wbr> 180,<wbr> 270
4599 </td>
4600
4601 <td class="entry_notes">
4602 </td>
4603
4604 <td class="entry_tags">
4605 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004606 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004607 </ul>
4608 </td>
4609
4610 </tr> <!-- end of entry -->
4611
4612
4613 <tr class="entry" id="controls_android.jpeg.quality">
4614 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004616 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004617
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004618 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004619
4620
4621 </td> <!-- entry_type -->
4622
4623 <td class="entry_description">
4624 Compression quality of the final JPEG
4625 image
4626 </td>
4627
4628 <td class="entry_units">
4629 </td>
4630
4631 <td class="entry_range">
4632 1-100; larger is higher quality
4633 </td>
4634
4635 <td class="entry_notes">
4636 85-95 is typical usage range
4637 </td>
4638
4639 <td class="entry_tags">
4640 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004641 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004642 </ul>
4643 </td>
4644
4645 </tr> <!-- end of entry -->
4646
4647
4648 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4649 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004651 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004652
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004653 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004654
4655
4656 </td> <!-- entry_type -->
4657
4658 <td class="entry_description">
4659 Compression quality of JPEG
4660 thumbnail
4661 </td>
4662
4663 <td class="entry_units">
4664 </td>
4665
4666 <td class="entry_range">
4667 1-100; larger is higher quality
4668 </td>
4669
4670 <td class="entry_notes">
4671 </td>
4672
4673 <td class="entry_tags">
4674 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004675 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004676 </ul>
4677 </td>
4678
4679 </tr> <!-- end of entry -->
4680
4681
4682 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4683 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004686 <span class="entry_type_container">x</span>
4687
4688 <span class="entry_type_array">
4689 2
4690 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004691 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004692
4693
4694 </td> <!-- entry_type -->
4695
4696 <td class="entry_description">
4697 Resolution of embedded JPEG
4698 thumbnail
4699 </td>
4700
4701 <td class="entry_units">
4702 </td>
4703
4704 <td class="entry_range">
4705 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4706 </td>
4707
4708 <td class="entry_notes">
4709 </td>
4710
4711 <td class="entry_tags">
4712 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004713 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 </ul>
4715 </td>
4716
4717 </tr> <!-- end of entry -->
4718
4719
4720
4721 <!-- end of kind -->
4722 </tbody>
4723 <tr><td colspan="7" class="kind">static</td></tr>
4724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004725 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004726 <tr>
4727 <th class="th_name">Property Name</th>
4728 <th class="th_type">Type</th>
4729 <th class="th_description">Description</th>
4730 <th class="th_units">Units</th>
4731 <th class="th_range">Range</th>
4732 <th class="th_notes">Notes</th>
4733 <th class="th_tags">Tags</th>
4734 </tr>
4735 </thead>
4736
4737 <tbody>
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4749 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004751 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004752 <span class="entry_type_container">x</span>
4753
4754 <span class="entry_type_array">
4755 2 x n
4756 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004757 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004758 <div class="entry_type_notes">list of resolution pairs</div>
4759
4760
4761 </td> <!-- entry_type -->
4762
4763 <td class="entry_description">
4764 Supported resolutions for the JPEG
4765 thumbnail
4766 </td>
4767
4768 <td class="entry_units">
4769 </td>
4770
4771 <td class="entry_range">
4772 Must include at least one valid resolution,<wbr> plus
4773 (0,<wbr>0) for no thumbnail generation
4774 </td>
4775
4776 <td class="entry_notes">
4777 </td>
4778
4779 <td class="entry_tags">
4780 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004781 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004782 </ul>
4783 </td>
4784
4785 </tr> <!-- end of entry -->
4786
4787
4788 <tr class="entry" id="static_android.jpeg.maxSize">
4789 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4790 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004791 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004792
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004793 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004794
4795
4796 </td> <!-- entry_type -->
4797
4798 <td class="entry_description">
4799 Maximum size in bytes for the compressed
4800 JPEG buffer
4801 </td>
4802
4803 <td class="entry_units">
4804 </td>
4805
4806 <td class="entry_range">
4807 Must be large enough to fit any JPEG produced by
4808 the camera
4809 </td>
4810
4811 <td class="entry_notes">
4812 This is used for sizing the gralloc buffers for
4813 JPEG
4814 </td>
4815
4816 <td class="entry_tags">
4817 </td>
4818
4819 </tr> <!-- end of entry -->
4820
4821
4822
4823 <!-- end of kind -->
4824 </tbody>
4825 <tr><td colspan="7" class="kind">dynamic</td></tr>
4826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004827 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828 <tr>
4829 <th class="th_name">Property Name</th>
4830 <th class="th_type">Type</th>
4831 <th class="th_description">Description</th>
4832 <th class="th_units">Units</th>
4833 <th class="th_range">Range</th>
4834 <th class="th_notes">Notes</th>
4835 <th class="th_tags">Tags</th>
4836 </tr>
4837 </thead>
4838
4839 <tbody>
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4851 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004853 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854 <span class="entry_type_container">x</span>
4855
4856 <span class="entry_type_array">
4857 3
4858 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004859 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004860 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4861
4862
4863 </td> <!-- entry_type -->
4864
4865 <td class="entry_description">
4866 GPS coordinates to include in output JPEG
4867 EXIF
4868 </td>
4869
4870 <td class="entry_units">
4871 </td>
4872
4873 <td class="entry_range">
4874 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4875 </td>
4876
4877 <td class="entry_notes">
4878 </td>
4879
4880 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004881 <ul class="entry_tags">
4882 <li><a href="#tag_BC">BC</a></li>
4883 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004884 </td>
4885
4886 </tr> <!-- end of entry -->
4887
4888
4889 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4890 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4891 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004892 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004893
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004894 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004895
4896
4897 </td> <!-- entry_type -->
4898
4899 <td class="entry_description">
4900 32 characters describing GPS algorithm to
4901 include in EXIF
4902 </td>
4903
4904 <td class="entry_units">
4905 UTF-8 null-terminated string
4906 </td>
4907
4908 <td class="entry_range">
4909 </td>
4910
4911 <td class="entry_notes">
4912 </td>
4913
4914 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004915 <ul class="entry_tags">
4916 <li><a href="#tag_BC">BC</a></li>
4917 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004918 </td>
4919
4920 </tr> <!-- end of entry -->
4921
4922
4923 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4924 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4925 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004926 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004927
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004928 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004929
4930
4931 </td> <!-- entry_type -->
4932
4933 <td class="entry_description">
4934 Time GPS fix was made to include in
4935 EXIF
4936 </td>
4937
4938 <td class="entry_units">
4939 UTC in seconds since January 1,<wbr> 1970
4940 </td>
4941
4942 <td class="entry_range">
4943 </td>
4944
4945 <td class="entry_notes">
4946 </td>
4947
4948 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004949 <ul class="entry_tags">
4950 <li><a href="#tag_BC">BC</a></li>
4951 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952 </td>
4953
4954 </tr> <!-- end of entry -->
4955
4956
4957 <tr class="entry" id="dynamic_android.jpeg.orientation">
4958 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004960 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004961
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004962 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963
4964
4965 </td> <!-- entry_type -->
4966
4967 <td class="entry_description">
4968 Orientation of JPEG image to
4969 write
4970 </td>
4971
4972 <td class="entry_units">
4973 Degrees in multiples of 90
4974 </td>
4975
4976 <td class="entry_range">
4977 0,<wbr> 90,<wbr> 180,<wbr> 270
4978 </td>
4979
4980 <td class="entry_notes">
4981 </td>
4982
4983 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004984 <ul class="entry_tags">
4985 <li><a href="#tag_BC">BC</a></li>
4986 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004987 </td>
4988
4989 </tr> <!-- end of entry -->
4990
4991
4992 <tr class="entry" id="dynamic_android.jpeg.quality">
4993 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4994 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004995 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004996
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004997 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004998
4999
5000 </td> <!-- entry_type -->
5001
5002 <td class="entry_description">
5003 Compression quality of the final JPEG
5004 image
5005 </td>
5006
5007 <td class="entry_units">
5008 </td>
5009
5010 <td class="entry_range">
5011 1-100; larger is higher quality
5012 </td>
5013
5014 <td class="entry_notes">
5015 85-95 is typical usage range
5016 </td>
5017
5018 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005019 <ul class="entry_tags">
5020 <li><a href="#tag_BC">BC</a></li>
5021 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005022 </td>
5023
5024 </tr> <!-- end of entry -->
5025
5026
5027 <tr class="entry" id="dynamic_android.jpeg.size">
5028 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005030 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005032 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005033
5034
5035 </td> <!-- entry_type -->
5036
5037 <td class="entry_description">
5038 The size of the compressed JPEG image,<wbr> in
5039 bytes
5040 </td>
5041
5042 <td class="entry_units">
5043 </td>
5044
5045 <td class="entry_range">
5046 >= 0
5047 </td>
5048
5049 <td class="entry_notes">
5050 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005051 this must be 0.<wbr>
5052<br>
5053<br> Otherwise,<wbr> this describes the real size of the compressed
5054 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5055 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5056 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5057 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5058 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005059 </td>
5060
5061 <td class="entry_tags">
5062 </td>
5063
5064 </tr> <!-- end of entry -->
5065
5066
5067 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5068 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5069 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005070 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005071
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005072 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005073
5074
5075 </td> <!-- entry_type -->
5076
5077 <td class="entry_description">
5078 Compression quality of JPEG
5079 thumbnail
5080 </td>
5081
5082 <td class="entry_units">
5083 </td>
5084
5085 <td class="entry_range">
5086 1-100; larger is higher quality
5087 </td>
5088
5089 <td class="entry_notes">
5090 </td>
5091
5092 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005093 <ul class="entry_tags">
5094 <li><a href="#tag_BC">BC</a></li>
5095 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005096 </td>
5097
5098 </tr> <!-- end of entry -->
5099
5100
5101 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5102 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5103 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005104 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105 <span class="entry_type_container">x</span>
5106
5107 <span class="entry_type_array">
5108 2
5109 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005110 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005111
5112
5113 </td> <!-- entry_type -->
5114
5115 <td class="entry_description">
5116 Resolution of embedded JPEG
5117 thumbnail
5118 </td>
5119
5120 <td class="entry_units">
5121 </td>
5122
5123 <td class="entry_range">
5124 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5125 </td>
5126
5127 <td class="entry_notes">
5128 </td>
5129
5130 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005131 <ul class="entry_tags">
5132 <li><a href="#tag_BC">BC</a></li>
5133 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134 </td>
5135
5136 </tr> <!-- end of entry -->
5137
5138
5139
5140 <!-- end of kind -->
5141 </tbody>
5142
5143 <!-- end of section -->
5144 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5145
5146
5147 <tr><td colspan="7" class="kind">controls</td></tr>
5148
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005149 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005150 <tr>
5151 <th class="th_name">Property Name</th>
5152 <th class="th_type">Type</th>
5153 <th class="th_description">Description</th>
5154 <th class="th_units">Units</th>
5155 <th class="th_range">Range</th>
5156 <th class="th_notes">Notes</th>
5157 <th class="th_tags">Tags</th>
5158 </tr>
5159 </thead>
5160
5161 <tbody>
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172 <tr class="entry" id="controls_android.lens.aperture">
5173 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005175 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005177 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005178
5179
5180 </td> <!-- entry_type -->
5181
5182 <td class="entry_description">
5183 Size of the lens aperture
5184 </td>
5185
5186 <td class="entry_units">
5187 f-number (f/<wbr>NNN)
5188 </td>
5189
5190 <td class="entry_range">
5191 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5192 </td>
5193
5194 <td class="entry_notes">
5195 Will not be supported on most devices.<wbr> Can only
5196 pick from supported list
5197 </td>
5198
5199 <td class="entry_tags">
5200 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005201 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005202 </ul>
5203 </td>
5204
5205 </tr> <!-- end of entry -->
5206
5207
5208 <tr class="entry" id="controls_android.lens.filterDensity">
5209 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005211 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005212
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005213 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005214
5215
5216 </td> <!-- entry_type -->
5217
5218 <td class="entry_description">
5219 State of lens neutral density
5220 filter(s)
5221 </td>
5222
5223 <td class="entry_units">
5224 number of stops of filtering
5225 </td>
5226
5227 <td class="entry_range">
5228 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5229 </td>
5230
5231 <td class="entry_notes">
5232 Will not be supported on most devices.<wbr> Can only
5233 pick from supported list
5234 </td>
5235
5236 <td class="entry_tags">
5237 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005238 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005239 </ul>
5240 </td>
5241
5242 </tr> <!-- end of entry -->
5243
5244
5245 <tr class="entry" id="controls_android.lens.focalLength">
5246 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005248 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005249
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005250 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005251
5252
5253 </td> <!-- entry_type -->
5254
5255 <td class="entry_description">
5256 Lens optical zoom setting
5257 </td>
5258
5259 <td class="entry_units">
5260 focal length in mm
5261 </td>
5262
5263 <td class="entry_range">
5264 > 0
5265 </td>
5266
5267 <td class="entry_notes">
5268 Will not be supported on most devices.<wbr>
5269 </td>
5270
5271 <td class="entry_tags">
5272 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005273 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005274 </ul>
5275 </td>
5276
5277 </tr> <!-- end of entry -->
5278
5279
5280 <tr class="entry" id="controls_android.lens.focusDistance">
5281 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5282 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005283 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005285 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286
5287
5288 </td> <!-- entry_type -->
5289
5290 <td class="entry_description">
5291 Distance to plane of sharpest focus,<wbr>
5292 measured from frontmost surface of the lens
5293 </td>
5294
5295 <td class="entry_units">
5296 diopters (1/<wbr>m)
5297 </td>
5298
5299 <td class="entry_range">
5300 >= 0
5301 </td>
5302
5303 <td class="entry_notes">
5304 0 = infinity focus.<wbr> Used value should be clamped
5305 to (0,<wbr>minimum focus distance)
5306 </td>
5307
5308 <td class="entry_tags">
5309 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005310 <li><a href="#tag_BC">BC</a></li>
5311 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005312 </ul>
5313 </td>
5314
5315 </tr> <!-- end of entry -->
5316
5317
5318 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5319 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324
5325 <ul class="entry_type_enum">
5326 <li>
5327 <span class="entry_type_enum_name">OFF</span>
5328 </li>
5329 <li>
5330 <span class="entry_type_enum_name">ON</span>
5331 <span class="entry_type_enum_optional">optional</span>
5332 </li>
5333 </ul>
5334
5335 </td> <!-- entry_type -->
5336
5337 <td class="entry_description">
5338 Whether optical image stabilization is
5339 enabled.<wbr>
5340 </td>
5341
5342 <td class="entry_units">
5343 </td>
5344
5345 <td class="entry_range">
5346 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5347 </td>
5348
5349 <td class="entry_notes">
5350 Will not be supported on most devices.<wbr>
5351 </td>
5352
5353 <td class="entry_tags">
5354 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005355 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005356 </ul>
5357 </td>
5358
5359 </tr> <!-- end of entry -->
5360
5361
5362
5363 <!-- end of kind -->
5364 </tbody>
5365 <tr><td colspan="7" class="kind">static</td></tr>
5366
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005367 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005368 <tr>
5369 <th class="th_name">Property Name</th>
5370 <th class="th_type">Type</th>
5371 <th class="th_description">Description</th>
5372 <th class="th_units">Units</th>
5373 <th class="th_range">Range</th>
5374 <th class="th_notes">Notes</th>
5375 <th class="th_tags">Tags</th>
5376 </tr>
5377 </thead>
5378
5379 <tbody>
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392 <tr class="entry" id="static_android.lens.info.availableApertures">
5393 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5394 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005395 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005396 <span class="entry_type_container">x</span>
5397
5398 <span class="entry_type_array">
5399 n
5400 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005401 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005402
5403
5404 </td> <!-- entry_type -->
5405
5406 <td class="entry_description">
5407 List of supported aperture
5408 values
5409 </td>
5410
5411 <td class="entry_units">
5412 </td>
5413
5414 <td class="entry_range">
5415 one entry required,<wbr> > 0
5416 </td>
5417
5418 <td class="entry_notes">
5419 If variable aperture not available,<wbr> only setting
5420 should be for the fixed aperture
5421 </td>
5422
5423 <td class="entry_tags">
5424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005425 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005426 </ul>
5427 </td>
5428
5429 </tr> <!-- end of entry -->
5430
5431
5432 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5433 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005435 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436 <span class="entry_type_container">x</span>
5437
5438 <span class="entry_type_array">
5439 n
5440 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005441 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442
5443
5444 </td> <!-- entry_type -->
5445
5446 <td class="entry_description">
5447 List of supported ND filter
5448 values
5449 </td>
5450
5451 <td class="entry_units">
5452 </td>
5453
5454 <td class="entry_range">
5455 one entry required,<wbr> >= 0
5456 </td>
5457
5458 <td class="entry_notes">
5459 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5460 lists the available exposure index values for dimming
5461 (2 would mean the filter is set to reduce incoming
5462 light by two stops)
5463 </td>
5464
5465 <td class="entry_tags">
5466 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005467 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 </ul>
5469 </td>
5470
5471 </tr> <!-- end of entry -->
5472
5473
5474 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5475 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5476 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005477 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005478 <span class="entry_type_container">x</span>
5479
5480 <span class="entry_type_array">
5481 n
5482 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005483 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005484 <div class="entry_type_notes">the list of available focal lengths</div>
5485
5486
5487 </td> <!-- entry_type -->
5488
5489 <td class="entry_description">
5490 If fitted with optical zoom,<wbr> what focal
5491 lengths are available.<wbr> If not,<wbr> the static focal
5492 length
5493 </td>
5494
5495 <td class="entry_units">
5496 </td>
5497
5498 <td class="entry_range">
5499 > 0
5500 </td>
5501
5502 <td class="entry_notes">
5503 If optical zoom not supported,<wbr> only one value
5504 should be reported
5505 </td>
5506
5507 <td class="entry_tags">
5508 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005509 <li><a href="#tag_BC">BC</a></li>
5510 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005511 </ul>
5512 </td>
5513
5514 </tr> <!-- end of entry -->
5515
5516
5517 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5518 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005520 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 <span class="entry_type_container">x</span>
5522
5523 <span class="entry_type_array">
5524 n
5525 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005527 <div class="entry_type_notes">list of enums</div>
5528
5529
5530 </td> <!-- entry_type -->
5531
5532 <td class="entry_description">
5533 List of supported optical image
5534 stabilization modes
5535 </td>
5536
5537 <td class="entry_units">
5538 </td>
5539
5540 <td class="entry_range">
5541 </td>
5542
5543 <td class="entry_notes">
5544 </td>
5545
5546 <td class="entry_tags">
5547 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005548 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005549 </ul>
5550 </td>
5551
5552 </tr> <!-- end of entry -->
5553
5554
5555 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5556 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005558 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 <span class="entry_type_container">x</span>
5560
5561 <span class="entry_type_array">
5562 2 x 3 x n x m
5563 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005564 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005565 <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>
5566
5567
5568 </td> <!-- entry_type -->
5569
5570 <td class="entry_description">
5571 A low-resolution map for correction of
5572 geometric distortions and chromatic aberrations,<wbr> per
5573 color channel
5574 </td>
5575
5576 <td class="entry_units">
5577 </td>
5578
5579 <td class="entry_range">
5580 N,<wbr> M >= 2
5581 </td>
5582
5583 <td class="entry_notes">
5584 [DNG wants a function instead].<wbr> What's easiest
5585 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5586 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5587 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5588 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5589 </td>
5590
5591 <td class="entry_tags">
5592 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005593 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005594 </ul>
5595 </td>
5596
5597 </tr> <!-- end of entry -->
5598
5599
5600 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5601 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5602 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005603 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005604 <span class="entry_type_container">x</span>
5605
5606 <span class="entry_type_array">
5607 2
5608 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005609 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005610 <div class="entry_type_notes">width and height of geometric correction map</div>
5611
5612
5613 </td> <!-- entry_type -->
5614
5615 <td class="entry_description">
5616 Dimensions of geometric correction
5617 map
5618 </td>
5619
5620 <td class="entry_units">
5621 </td>
5622
5623 <td class="entry_range">
5624 Both values >= 2
5625 </td>
5626
5627 <td class="entry_notes">
5628 </td>
5629
5630 <td class="entry_tags">
5631 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005632 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005633 </ul>
5634 </td>
5635
5636 </tr> <!-- end of entry -->
5637
5638
5639 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5640 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5641 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005642 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005643
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005644 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005645
5646
5647 </td> <!-- entry_type -->
5648
5649 <td class="entry_description">
5650 Hyperfocal distance for this lens; set to
5651 0 if fixed focus
5652 </td>
5653
5654 <td class="entry_units">
5655 diopters
5656 </td>
5657
5658 <td class="entry_range">
5659 >= 0
5660 </td>
5661
5662 <td class="entry_notes">
5663 The hyperfocal distance is used for the old
5664 API's 'fixed' setting
5665 </td>
5666
5667 <td class="entry_tags">
5668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005670 </ul>
5671 </td>
5672
5673 </tr> <!-- end of entry -->
5674
5675
5676 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5677 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005679 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005682
5683
5684 </td> <!-- entry_type -->
5685
5686 <td class="entry_description">
5687 Shortest distance from frontmost surface
5688 of the lens that can be focused correctly
5689 </td>
5690
5691 <td class="entry_units">
5692 diopters
5693 </td>
5694
5695 <td class="entry_range">
5696 >= 0
5697 </td>
5698
5699 <td class="entry_notes">
5700 If the lens is fixed-focus,<wbr> this should be
5701 0
5702 </td>
5703
5704 <td class="entry_tags">
5705 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005706 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005707 </ul>
5708 </td>
5709
5710 </tr> <!-- end of entry -->
5711
5712
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005713 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5714 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5715 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005716 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717 <span class="entry_type_container">x</span>
5718
5719 <span class="entry_type_array">
5720 2
5721 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005722 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005723 <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 -08005724
5725
5726 </td> <!-- entry_type -->
5727
5728 <td class="entry_description">
5729 Dimensions of lens shading
5730 map
5731 </td>
5732
5733 <td class="entry_units">
5734 </td>
5735
5736 <td class="entry_range">
5737 Both values >= 1
5738 </td>
5739
5740 <td class="entry_notes">
5741 </td>
5742
5743 <td class="entry_tags">
5744 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005745 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746 </ul>
5747 </td>
5748
5749 </tr> <!-- end of entry -->
5750
5751
5752
5753
5754
5755 <tr class="entry" id="static_android.lens.facing">
5756 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005758 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005759
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005760 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005761
5762 <ul class="entry_type_enum">
5763 <li>
5764 <span class="entry_type_enum_name">FRONT</span>
5765 </li>
5766 <li>
5767 <span class="entry_type_enum_name">BACK</span>
5768 </li>
5769 </ul>
5770
5771 </td> <!-- entry_type -->
5772
5773 <td class="entry_description">
5774 Direction the camera faces relative to
5775 device screen
5776 </td>
5777
5778 <td class="entry_units">
5779 </td>
5780
5781 <td class="entry_range">
5782 </td>
5783
5784 <td class="entry_notes">
5785 </td>
5786
5787 <td class="entry_tags">
5788 </td>
5789
5790 </tr> <!-- end of entry -->
5791
5792
5793 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5794 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5795 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005796 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 <span class="entry_type_container">x</span>
5798
5799 <span class="entry_type_array">
5800 2
5801 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005802 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005803 <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>
5804
5805
5806 </td> <!-- entry_type -->
5807
5808 <td class="entry_description">
5809 Relative angle of camera optical axis to the
5810 perpendicular axis from the display
5811 </td>
5812
5813 <td class="entry_units">
5814 </td>
5815
5816 <td class="entry_range">
5817 [0-90) for first angle,<wbr> [0-360) for second
5818 </td>
5819
5820 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005821 Examples:
5822<br>
5823<br> (0,<wbr>0) means that the camera optical axis
5824 is perpendicular to the display surface;
5825<br>
5826<br> (45,<wbr>0) means that the camera points 45 degrees up when
5827 device is held upright;
5828<br>
5829<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5830 the device is held upright.<wbr>
5831<br>
5832<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 direction
5834 </td>
5835
5836 <td class="entry_tags">
5837 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005838 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005839 </ul>
5840 </td>
5841
5842 </tr> <!-- end of entry -->
5843
5844
5845 <tr class="entry" id="static_android.lens.position">
5846 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005848 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005849 <span class="entry_type_container">x</span>
5850
5851 <span class="entry_type_array">
5852 3, location in mm, in the sensor coordinate
5853 system
5854 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005855 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856
5857
5858 </td> <!-- entry_type -->
5859
5860 <td class="entry_description">
5861 Coordinates of camera optical axis on
5862 device
5863 </td>
5864
5865 <td class="entry_units">
5866 </td>
5867
5868 <td class="entry_range">
5869 </td>
5870
5871 <td class="entry_notes">
5872 </td>
5873
5874 <td class="entry_tags">
5875 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005876 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005877 </ul>
5878 </td>
5879
5880 </tr> <!-- end of entry -->
5881
5882
5883
5884 <!-- end of kind -->
5885 </tbody>
5886 <tr><td colspan="7" class="kind">dynamic</td></tr>
5887
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005888 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005889 <tr>
5890 <th class="th_name">Property Name</th>
5891 <th class="th_type">Type</th>
5892 <th class="th_description">Description</th>
5893 <th class="th_units">Units</th>
5894 <th class="th_range">Range</th>
5895 <th class="th_notes">Notes</th>
5896 <th class="th_tags">Tags</th>
5897 </tr>
5898 </thead>
5899
5900 <tbody>
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911 <tr class="entry" id="dynamic_android.lens.aperture">
5912 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005914 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005915
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005916 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005917
5918
5919 </td> <!-- entry_type -->
5920
5921 <td class="entry_description">
5922 Size of the lens aperture
5923 </td>
5924
5925 <td class="entry_units">
5926 f-number (f/<wbr>NNN)
5927 </td>
5928
5929 <td class="entry_range">
5930 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5931 </td>
5932
5933 <td class="entry_notes">
5934 Will not be supported on most devices.<wbr> Can only
5935 pick from supported list
5936 </td>
5937
5938 <td class="entry_tags">
5939 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005940 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005941 </ul>
5942 </td>
5943
5944 </tr> <!-- end of entry -->
5945
5946
5947 <tr class="entry" id="dynamic_android.lens.filterDensity">
5948 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005950 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005951
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005952 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005953
5954
5955 </td> <!-- entry_type -->
5956
5957 <td class="entry_description">
5958 State of lens neutral density
5959 filter(s)
5960 </td>
5961
5962 <td class="entry_units">
5963 number of stops of filtering
5964 </td>
5965
5966 <td class="entry_range">
5967 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5968 </td>
5969
5970 <td class="entry_notes">
5971 Will not be supported on most devices.<wbr> Can only
5972 pick from supported list
5973 </td>
5974
5975 <td class="entry_tags">
5976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005977 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005978 </ul>
5979 </td>
5980
5981 </tr> <!-- end of entry -->
5982
5983
5984 <tr class="entry" id="dynamic_android.lens.focalLength">
5985 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005987 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005988
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990
5991
5992 </td> <!-- entry_type -->
5993
5994 <td class="entry_description">
5995 Lens optical zoom setting
5996 </td>
5997
5998 <td class="entry_units">
5999 focal length in mm
6000 </td>
6001
6002 <td class="entry_range">
6003 > 0
6004 </td>
6005
6006 <td class="entry_notes">
6007 Will not be supported on most devices.<wbr>
6008 </td>
6009
6010 <td class="entry_tags">
6011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006012 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006013 </ul>
6014 </td>
6015
6016 </tr> <!-- end of entry -->
6017
6018
6019 <tr class="entry" id="dynamic_android.lens.focusDistance">
6020 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006022 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006024 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006025
6026
6027 </td> <!-- entry_type -->
6028
6029 <td class="entry_description">
6030 Distance to plane of sharpest focus,<wbr>
6031 measured from frontmost surface of the lens
6032 </td>
6033
6034 <td class="entry_units">
6035 diopters (1/<wbr>m)
6036 </td>
6037
6038 <td class="entry_range">
6039 >= 0
6040 </td>
6041
6042 <td class="entry_notes">
6043 Should be zero for fixed-focus cameras
6044 </td>
6045
6046 <td class="entry_tags">
6047 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006048 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006049 </ul>
6050 </td>
6051
6052 </tr> <!-- end of entry -->
6053
6054
6055 <tr class="entry" id="dynamic_android.lens.focusRange">
6056 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6057 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006058 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006059
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006060 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061
6062
6063 </td> <!-- entry_type -->
6064
6065 <td class="entry_description">
6066 The range of scene distances that are in
6067 sharp focus (depth of field)
6068 </td>
6069
6070 <td class="entry_units">
6071 pair of focus distances in diopters: (near,<wbr>
6072 far)
6073 </td>
6074
6075 <td class="entry_range">
6076 >=0
6077 </td>
6078
6079 <td class="entry_notes">
6080 If variable focus not supported,<wbr> can still report
6081 fixed depth of field range
6082 </td>
6083
6084 <td class="entry_tags">
6085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006086 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006087 </ul>
6088 </td>
6089
6090 </tr> <!-- end of entry -->
6091
6092
6093 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6094 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6095 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006096 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006097
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006098 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006099
6100 <ul class="entry_type_enum">
6101 <li>
6102 <span class="entry_type_enum_name">OFF</span>
6103 </li>
6104 <li>
6105 <span class="entry_type_enum_name">ON</span>
6106 <span class="entry_type_enum_optional">optional</span>
6107 </li>
6108 </ul>
6109
6110 </td> <!-- entry_type -->
6111
6112 <td class="entry_description">
6113 Whether optical image stabilization is
6114 enabled.<wbr>
6115 </td>
6116
6117 <td class="entry_units">
6118 </td>
6119
6120 <td class="entry_range">
6121 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6122 </td>
6123
6124 <td class="entry_notes">
6125 Will not be supported on most devices.<wbr>
6126 </td>
6127
6128 <td class="entry_tags">
6129 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006130 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006131 </ul>
6132 </td>
6133
6134 </tr> <!-- end of entry -->
6135
6136
6137 <tr class="entry" id="dynamic_android.lens.state">
6138 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6139 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006140 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006141
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006142 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143
6144 <ul class="entry_type_enum">
6145 <li>
6146 <span class="entry_type_enum_name">STATIONARY</span>
6147 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07006148 <li>
6149 <span class="entry_type_enum_name">MOVING</span>
6150 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006151 </ul>
6152
6153 </td> <!-- entry_type -->
6154
6155 <td class="entry_description">
6156 Current lens status
6157 </td>
6158
6159 <td class="entry_units">
6160 </td>
6161
6162 <td class="entry_range">
6163 </td>
6164
6165 <td class="entry_notes">
6166 </td>
6167
6168 <td class="entry_tags">
6169 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006170 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006171 </ul>
6172 </td>
6173
6174 </tr> <!-- end of entry -->
6175
6176
6177
6178 <!-- end of kind -->
6179 </tbody>
6180
6181 <!-- end of section -->
6182 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6183
6184
6185 <tr><td colspan="7" class="kind">controls</td></tr>
6186
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006187 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006188 <tr>
6189 <th class="th_name">Property Name</th>
6190 <th class="th_type">Type</th>
6191 <th class="th_description">Description</th>
6192 <th class="th_units">Units</th>
6193 <th class="th_range">Range</th>
6194 <th class="th_notes">Notes</th>
6195 <th class="th_tags">Tags</th>
6196 </tr>
6197 </thead>
6198
6199 <tbody>
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210 <tr class="entry" id="controls_android.noiseReduction.mode">
6211 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6212 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006213 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006214
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006215 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006216
6217 <ul class="entry_type_enum">
6218 <li>
6219 <span class="entry_type_enum_name">OFF</span>
6220 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6221 </li>
6222 <li>
6223 <span class="entry_type_enum_name">FAST</span>
6224 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6225 bayer output</span>
6226 </li>
6227 <li>
6228 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6229 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6230 quality</span>
6231 </li>
6232 </ul>
6233
6234 </td> <!-- entry_type -->
6235
6236 <td class="entry_description">
6237 Mode of operation for the noise reduction
6238 algorithm
6239 </td>
6240
6241 <td class="entry_units">
6242 </td>
6243
6244 <td class="entry_range">
6245 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6246 </td>
6247
6248 <td class="entry_notes">
6249 </td>
6250
6251 <td class="entry_tags">
6252 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006253 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006254 </ul>
6255 </td>
6256
6257 </tr> <!-- end of entry -->
6258
6259
6260 <tr class="entry" id="controls_android.noiseReduction.strength">
6261 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6262 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006263 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006264
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006265 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006266
6267
6268 </td> <!-- entry_type -->
6269
6270 <td class="entry_description">
6271 Control the amount of noise reduction
6272 applied to the images
6273 </td>
6274
6275 <td class="entry_units">
6276 1-10; 10 is max noise reduction
6277 </td>
6278
6279 <td class="entry_range">
6280 1 - 10
6281 </td>
6282
6283 <td class="entry_notes">
6284 </td>
6285
6286 <td class="entry_tags">
6287 </td>
6288
6289 </tr> <!-- end of entry -->
6290
6291
6292
6293 <!-- end of kind -->
6294 </tbody>
6295 <tr><td colspan="7" class="kind">dynamic</td></tr>
6296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006297 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006298 <tr>
6299 <th class="th_name">Property Name</th>
6300 <th class="th_type">Type</th>
6301 <th class="th_description">Description</th>
6302 <th class="th_units">Units</th>
6303 <th class="th_range">Range</th>
6304 <th class="th_notes">Notes</th>
6305 <th class="th_tags">Tags</th>
6306 </tr>
6307 </thead>
6308
6309 <tbody>
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6321 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6322 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006323 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006324
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006325 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006326
6327 <ul class="entry_type_enum">
6328 <li>
6329 <span class="entry_type_enum_name">OFF</span>
6330 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6331 </li>
6332 <li>
6333 <span class="entry_type_enum_name">FAST</span>
6334 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6335 bayer output</span>
6336 </li>
6337 <li>
6338 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6339 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6340 quality</span>
6341 </li>
6342 </ul>
6343
6344 </td> <!-- entry_type -->
6345
6346 <td class="entry_description">
6347 Mode of operation for the noise reduction
6348 algorithm
6349 </td>
6350
6351 <td class="entry_units">
6352 </td>
6353
6354 <td class="entry_range">
6355 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6356 </td>
6357
6358 <td class="entry_notes">
6359 </td>
6360
6361 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006362 <ul class="entry_tags">
6363 <li><a href="#tag_V1">V1</a></li>
6364 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006365 </td>
6366
6367 </tr> <!-- end of entry -->
6368
6369
6370
6371 <!-- end of kind -->
6372 </tbody>
6373
6374 <!-- end of section -->
6375 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6376
6377
6378 <tr><td colspan="7" class="kind">static</td></tr>
6379
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006380 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006381 <tr>
6382 <th class="th_name">Property Name</th>
6383 <th class="th_type">Type</th>
6384 <th class="th_description">Description</th>
6385 <th class="th_units">Units</th>
6386 <th class="th_range">Range</th>
6387 <th class="th_notes">Notes</th>
6388 <th class="th_tags">Tags</th>
6389 </tr>
6390 </thead>
6391
6392 <tbody>
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6404 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6405 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006406 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006407
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006408 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006409
6410
6411 </td> <!-- entry_type -->
6412
6413 <td class="entry_description">
6414 If set to 1,<wbr> the camera service does not
6415 scale 'normalized' coordinates with respect to the crop
6416 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6417 and output (face rectangles).<wbr>
6418 </td>
6419
6420 <td class="entry_units">
6421 </td>
6422
6423 <td class="entry_range">
6424 </td>
6425
6426 <td class="entry_notes">
6427 Normalized coordinates refer to those in the
6428 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006429 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6430<br>
6431<br> HAL implementations should instead always use and emit
6432 sensor array-relative coordinates for all region data.<wbr> Does
6433 not need to be listed in static metadata.<wbr> Support will be
6434 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006435 </td>
6436
6437 <td class="entry_tags">
6438 </td>
6439
6440 </tr> <!-- end of entry -->
6441
6442
6443 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6444 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6445 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006446 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006447
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006448 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006449
6450
6451 </td> <!-- entry_type -->
6452
6453 <td class="entry_description">
6454 If set to 1,<wbr> then the camera service always
6455 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6456 trigger.<wbr>
6457 </td>
6458
6459 <td class="entry_units">
6460 </td>
6461
6462 <td class="entry_range">
6463 </td>
6464
6465 <td class="entry_notes">
6466 HAL implementations should implement AF trigger
6467 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6468 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6469 not need to be listed in static metadata.<wbr> Support will be
6470 removed in future versions of camera service
6471 </td>
6472
6473 <td class="entry_tags">
6474 </td>
6475
6476 </tr> <!-- end of entry -->
6477
6478
6479 <tr class="entry" id="static_android.quirks.useZslFormat">
6480 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6481 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006482 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006484 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485
6486
6487 </td> <!-- entry_type -->
6488
6489 <td class="entry_description">
6490 If set to 1,<wbr> the camera service uses
6491 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6492 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6493 shutter lag stream
6494 </td>
6495
6496 <td class="entry_units">
6497 </td>
6498
6499 <td class="entry_range">
6500 </td>
6501
6502 <td class="entry_notes">
6503 HAL implementations should use gralloc usage flags
6504 to determine that a stream will be used for
6505 zero-shutter-lag,<wbr> instead of relying on an explicit
6506 format setting.<wbr> Does not need to be listed in static
6507 metadata.<wbr> Support will be removed in future versions of
6508 camera service.<wbr>
6509 </td>
6510
6511 <td class="entry_tags">
6512 </td>
6513
6514 </tr> <!-- end of entry -->
6515
6516
6517
6518 <!-- end of kind -->
6519 </tbody>
6520
6521 <!-- end of section -->
6522 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6523
6524
6525 <tr><td colspan="7" class="kind">controls</td></tr>
6526
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006527 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006528 <tr>
6529 <th class="th_name">Property Name</th>
6530 <th class="th_type">Type</th>
6531 <th class="th_description">Description</th>
6532 <th class="th_units">Units</th>
6533 <th class="th_range">Range</th>
6534 <th class="th_notes">Notes</th>
6535 <th class="th_tags">Tags</th>
6536 </tr>
6537 </thead>
6538
6539 <tbody>
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550 <tr class="entry" id="controls_android.request.frameCount">
6551 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6552 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006553 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006554
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006555 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006556
6557
6558 </td> <!-- entry_type -->
6559
6560 <td class="entry_description">
6561 A frame counter set by the framework.<wbr> Must
Igor Murashkin28548d22013-09-10 15:26:20 -07006562 be maintained unchanged in output frame.<wbr> This value monotonically
6563 increases with every new result (that is,<wbr> each new result has a unique
6564 frameCount value).<wbr>
6565
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006566 </td>
6567
6568 <td class="entry_units">
6569 incrementing integer
6570 </td>
6571
6572 <td class="entry_range">
6573 Any int
6574 </td>
6575
6576 <td class="entry_notes">
6577 </td>
6578
6579 <td class="entry_tags">
6580 </td>
6581
6582 </tr> <!-- end of entry -->
6583
6584
6585 <tr class="entry" id="controls_android.request.id">
6586 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6587 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006588 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006589
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006590 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006591
6592
6593 </td> <!-- entry_type -->
6594
6595 <td class="entry_description">
6596 An application-specified ID for the current
6597 request.<wbr> Must be maintained unchanged in output
6598 frame
6599 </td>
6600
6601 <td class="entry_units">
6602 arbitrary integer assigned by application
6603 </td>
6604
6605 <td class="entry_range">
6606 Any int
6607 </td>
6608
6609 <td class="entry_notes">
6610 </td>
6611
6612 <td class="entry_tags">
6613 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006614 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006615 </ul>
6616 </td>
6617
6618 </tr> <!-- end of entry -->
6619
6620
6621 <tr class="entry" id="controls_android.request.inputStreams">
6622 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6623 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006624 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006625 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006626
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006627 <span class="entry_type_array">
6628 n
6629 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006630 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006631
6632
6633 </td> <!-- entry_type -->
6634
6635 <td class="entry_description">
6636 List which camera reprocess stream is used
6637 for the source of reprocessing data.<wbr>
6638 </td>
6639
6640 <td class="entry_units">
6641 List of camera reprocess stream IDs
6642 </td>
6643
6644 <td class="entry_range">
6645 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006646 reprocess stream ID.<wbr>
6647
6648 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6649 reprocess streams may be included in a single request; they
6650 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006651 </td>
6652
6653 <td class="entry_notes">
6654 Only meaningful when android.<wbr>request.<wbr>type ==
6655 REPROCESS.<wbr> Ignored otherwise
6656 </td>
6657
6658 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006659 <ul class="entry_tags">
6660 <li><a href="#tag_HAL2">HAL2</a></li>
6661 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006662 </td>
6663
6664 </tr> <!-- end of entry -->
6665
6666
6667 <tr class="entry" id="controls_android.request.metadataMode">
6668 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006670 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006671
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006672 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006673
6674 <ul class="entry_type_enum">
6675 <li>
6676 <span class="entry_type_enum_name">NONE</span>
6677 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6678 for application-bound buffer data.<wbr> If no
6679 application-bound streams exist,<wbr> no frame should be
6680 placed in the output frame queue.<wbr> If such streams
6681 exist,<wbr> a frame should be placed on the output queue
6682 with null metadata but with the necessary output buffer
6683 information.<wbr> Timestamp information should still be
6684 included with any output stream buffers</span>
6685 </li>
6686 <li>
6687 <span class="entry_type_enum_name">FULL</span>
6688 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6689 only be produced if they are separately
6690 enabled</span>
6691 </li>
6692 </ul>
6693
6694 </td> <!-- entry_type -->
6695
6696 <td class="entry_description">
6697 How much metadata to produce on
6698 output
6699 </td>
6700
6701 <td class="entry_units">
6702 </td>
6703
6704 <td class="entry_range">
6705 </td>
6706
6707 <td class="entry_notes">
6708 </td>
6709
6710 <td class="entry_tags">
6711 </td>
6712
6713 </tr> <!-- end of entry -->
6714
6715
6716 <tr class="entry" id="controls_android.request.outputStreams">
6717 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6718 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006719 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006720 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006721
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006722 <span class="entry_type_array">
6723 n
6724 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006725 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006726
6727
6728 </td> <!-- entry_type -->
6729
6730 <td class="entry_description">
6731 Lists which camera output streams image data
6732 from this capture must be sent to
6733 </td>
6734
6735 <td class="entry_units">
6736 List of camera stream IDs
6737 </td>
6738
6739 <td class="entry_range">
6740 List must only include streams that have been
6741 created
6742 </td>
6743
6744 <td class="entry_notes">
6745 If no output streams are listed,<wbr> then the image
6746 data should simply be discarded.<wbr> The image data must
6747 still be captured for metadata and statistics production,<wbr>
6748 and the lens and flash must operate as requested.<wbr>
6749 </td>
6750
6751 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006752 <ul class="entry_tags">
6753 <li><a href="#tag_HAL2">HAL2</a></li>
6754 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006755 </td>
6756
6757 </tr> <!-- end of entry -->
6758
6759
6760 <tr class="entry" id="controls_android.request.type">
6761 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6762 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006763 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006764
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006765 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006766
6767 <ul class="entry_type_enum">
6768 <li>
6769 <span class="entry_type_enum_name">CAPTURE</span>
6770 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6771 and process it according to the
6772 settings</span>
6773 </li>
6774 <li>
6775 <span class="entry_type_enum_name">REPROCESS</span>
6776 <span class="entry_type_enum_notes">Process previously captured data; the
6777 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6778 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6779 needed for reprocessing with [RP]</span>
6780 </li>
6781 </ul>
6782
6783 </td> <!-- entry_type -->
6784
6785 <td class="entry_description">
6786 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006787 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006788 </td>
6789
6790 <td class="entry_units">
6791 </td>
6792
6793 <td class="entry_range">
6794 </td>
6795
6796 <td class="entry_notes">
6797 </td>
6798
6799 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006800 <ul class="entry_tags">
6801 <li><a href="#tag_HAL2">HAL2</a></li>
6802 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006803 </td>
6804
6805 </tr> <!-- end of entry -->
6806
6807
6808
6809 <!-- end of kind -->
6810 </tbody>
6811 <tr><td colspan="7" class="kind">static</td></tr>
6812
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006813 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006814 <tr>
6815 <th class="th_name">Property Name</th>
6816 <th class="th_type">Type</th>
6817 <th class="th_description">Description</th>
6818 <th class="th_units">Units</th>
6819 <th class="th_range">Range</th>
6820 <th class="th_notes">Notes</th>
6821 <th class="th_tags">Tags</th>
6822 </tr>
6823 </thead>
6824
6825 <tbody>
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6837 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6838 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006839 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006840 <span class="entry_type_container">x</span>
6841
6842 <span class="entry_type_array">
6843 3
6844 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006845 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006846
6847
6848 </td> <!-- entry_type -->
6849
6850 <td class="entry_description">
6851 How many output streams can be allocated at
6852 the same time for each type of stream
6853 </td>
6854
6855 <td class="entry_units">
6856 The number of raw sensor streams; the number of
6857 processed,<wbr> uncompressed streams; and the number of
6858 JPEG-compressed streams
6859 </td>
6860
6861 <td class="entry_range">
6862 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6863 for processed,<wbr> uncompressed streams
6864 </td>
6865
6866 <td class="entry_notes">
6867 Video snapshot with preview callbacks requires 3
6868 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6869 one JPEG stream (snapshot)
6870 </td>
6871
6872 <td class="entry_tags">
6873 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006874 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006875 </ul>
6876 </td>
6877
6878 </tr> <!-- end of entry -->
6879
6880
6881 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6882 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6883 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006884 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006885 <span class="entry_type_container">x</span>
6886
6887 <span class="entry_type_array">
6888 1
6889 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006890 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006891
6892
6893 </td> <!-- entry_type -->
6894
6895 <td class="entry_description">
6896 How many reprocessing streams of any type
6897 can be allocated at the same time
6898 </td>
6899
6900 <td class="entry_units">
6901 </td>
6902
6903 <td class="entry_range">
6904 >= 1
6905 </td>
6906
6907 <td class="entry_notes">
6908 </td>
6909
6910 <td class="entry_tags">
6911 </td>
6912
6913 </tr> <!-- end of entry -->
6914
6915
6916
6917 <!-- end of kind -->
6918 </tbody>
6919 <tr><td colspan="7" class="kind">dynamic</td></tr>
6920
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006921 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006922 <tr>
6923 <th class="th_name">Property Name</th>
6924 <th class="th_type">Type</th>
6925 <th class="th_description">Description</th>
6926 <th class="th_units">Units</th>
6927 <th class="th_range">Range</th>
6928 <th class="th_notes">Notes</th>
6929 <th class="th_tags">Tags</th>
6930 </tr>
6931 </thead>
6932
6933 <tbody>
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944 <tr class="entry" id="dynamic_android.request.frameCount">
6945 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6946 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006947 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006948
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006949 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006950
6951
6952 </td> <!-- entry_type -->
6953
6954 <td class="entry_description">
Igor Murashkin28548d22013-09-10 15:26:20 -07006955 A frame counter set by the framework.<wbr> This value monotonically
6956 increases with every new result (that is,<wbr> each new result has a unique
6957 frameCount value).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006958 </td>
6959
6960 <td class="entry_units">
6961 count of frames
6962 </td>
6963
6964 <td class="entry_range">
6965 > 0
6966 </td>
6967
6968 <td class="entry_notes">
6969 Reset on release()
6970 </td>
6971
6972 <td class="entry_tags">
6973 </td>
6974
6975 </tr> <!-- end of entry -->
6976
6977
6978 <tr class="entry" id="dynamic_android.request.id">
6979 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006981 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006983 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006984
6985
6986 </td> <!-- entry_type -->
6987
6988 <td class="entry_description">
6989 An application-specified ID for the current
6990 request.<wbr> Must be maintained unchanged in output
6991 frame
6992 </td>
6993
6994 <td class="entry_units">
6995 arbitrary integer assigned by application
6996 </td>
6997
6998 <td class="entry_range">
6999 Any int
7000 </td>
7001
7002 <td class="entry_notes">
7003 </td>
7004
7005 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007006 <ul class="entry_tags">
7007 <li><a href="#tag_V1">V1</a></li>
7008 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007009 </td>
7010
7011 </tr> <!-- end of entry -->
7012
7013
7014 <tr class="entry" id="dynamic_android.request.metadataMode">
7015 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7016 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007017 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007018
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007019 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007020
7021 <ul class="entry_type_enum">
7022 <li>
7023 <span class="entry_type_enum_name">NONE</span>
7024 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7025 for application-bound buffer data.<wbr> If no
7026 application-bound streams exist,<wbr> no frame should be
7027 placed in the output frame queue.<wbr> If such streams
7028 exist,<wbr> a frame should be placed on the output queue
7029 with null metadata but with the necessary output buffer
7030 information.<wbr> Timestamp information should still be
7031 included with any output stream buffers</span>
7032 </li>
7033 <li>
7034 <span class="entry_type_enum_name">FULL</span>
7035 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7036 only be produced if they are separately
7037 enabled</span>
7038 </li>
7039 </ul>
7040
7041 </td> <!-- entry_type -->
7042
7043 <td class="entry_description">
7044 How much metadata to produce on
7045 output
7046 </td>
7047
7048 <td class="entry_units">
7049 </td>
7050
7051 <td class="entry_range">
7052 </td>
7053
7054 <td class="entry_notes">
7055 </td>
7056
7057 <td class="entry_tags">
7058 </td>
7059
7060 </tr> <!-- end of entry -->
7061
7062
7063 <tr class="entry" id="dynamic_android.request.outputStreams">
7064 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7065 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07007066 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007067 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007068
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007069 <span class="entry_type_array">
7070 n
7071 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007072 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007073
7074
7075 </td> <!-- entry_type -->
7076
7077 <td class="entry_description">
7078 Lists which camera output streams image data
7079 from this capture must be sent to
7080 </td>
7081
7082 <td class="entry_units">
7083 List of camera stream IDs
7084 </td>
7085
7086 <td class="entry_range">
7087 List must only include streams that have been
7088 created
7089 </td>
7090
7091 <td class="entry_notes">
7092 If no output streams are listed,<wbr> then the image
7093 data should simply be discarded.<wbr> The image data must
7094 still be captured for metadata and statistics production,<wbr>
7095 and the lens and flash must operate as requested.<wbr>
7096 </td>
7097
7098 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007099 <ul class="entry_tags">
7100 <li><a href="#tag_HAL2">HAL2</a></li>
7101 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007102 </td>
7103
7104 </tr> <!-- end of entry -->
7105
7106
7107
7108 <!-- end of kind -->
7109 </tbody>
7110
7111 <!-- end of section -->
7112 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7113
7114
7115 <tr><td colspan="7" class="kind">controls</td></tr>
7116
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007117 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007118 <tr>
7119 <th class="th_name">Property Name</th>
7120 <th class="th_type">Type</th>
7121 <th class="th_description">Description</th>
7122 <th class="th_units">Units</th>
7123 <th class="th_range">Range</th>
7124 <th class="th_notes">Notes</th>
7125 <th class="th_tags">Tags</th>
7126 </tr>
7127 </thead>
7128
7129 <tbody>
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140 <tr class="entry" id="controls_android.scaler.cropRegion">
7141 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7142 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007143 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007144 <span class="entry_type_container">x</span>
7145
7146 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007147 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007148 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007149 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007150
7151
7152 </td> <!-- entry_type -->
7153
7154 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007155 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7156<br>
7157<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7158 (width,<wbr> height).<wbr> The region of the sensor that is used for
7159 output.<wbr> Each stream must use this rectangle to produce its
7160 output,<wbr> cropping to a smaller region if necessary to
7161 maintain the stream's aspect ratio.<wbr>
7162<br>
7163<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007164 </td>
7165
7166 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007167 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7168 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007169 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007170 </td>
7171
7172 <td class="entry_range">
7173 </td>
7174
7175 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007176
7177 Any additional per-stream cropping must be done to
7178 maximize the final pixel area of the stream.<wbr>
7179<br>
7180<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7181 ratio,<wbr> then 4:3 streams should use the exact crop
7182 region.<wbr> 16:9 streams should further crop vertically
7183 (letterbox).<wbr>
7184<br>
7185<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7186 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7187 streams should match exactly.<wbr> These additional crops must
7188 be centered within the crop region.<wbr>
7189<br>
7190<br> The output streams must maintain square pixels at all
7191 times,<wbr> no matter what the relative aspect ratios of the
7192 crop region and the stream are.<wbr> Negative values for
7193 corner are allowed for raw output if full pixel array is
7194 larger than active pixel array.<wbr> Width and height may be
7195 rounded to nearest larger supportable width,<wbr> especially
7196 for raw output,<wbr> where only a few fixed scales may be
7197 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007198 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007199 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007200 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007201 respectively.<wbr>
7202
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007203 </td>
7204
7205 <td class="entry_tags">
7206 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007207 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007208 </ul>
7209 </td>
7210
7211 </tr> <!-- end of entry -->
7212
7213
7214
7215 <!-- end of kind -->
7216 </tbody>
7217 <tr><td colspan="7" class="kind">static</td></tr>
7218
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007219 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007220 <tr>
7221 <th class="th_name">Property Name</th>
7222 <th class="th_type">Type</th>
7223 <th class="th_description">Description</th>
7224 <th class="th_units">Units</th>
7225 <th class="th_range">Range</th>
7226 <th class="th_notes">Notes</th>
7227 <th class="th_tags">Tags</th>
7228 </tr>
7229 </thead>
7230
7231 <tbody>
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242 <tr class="entry" id="static_android.scaler.availableFormats">
7243 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7244 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007245 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007246 <span class="entry_type_container">x</span>
7247
7248 <span class="entry_type_array">
7249 n
7250 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007251 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007252 <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>
7253
7254 <ul class="entry_type_enum">
7255 <li>
7256 <span class="entry_type_enum_name">RAW_SENSOR</span>
7257 <span class="entry_type_enum_value">0x20</span>
7258 </li>
7259 <li>
7260 <span class="entry_type_enum_name">YV12</span>
7261 <span class="entry_type_enum_value">0x32315659</span>
7262 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7263 </li>
7264 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007265 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007266 <span class="entry_type_enum_value">0x11</span>
7267 <span class="entry_type_enum_notes">NV21</span>
7268 </li>
7269 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007270 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7271 <span class="entry_type_enum_value">0x22</span>
7272 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7273 </li>
7274 <li>
7275 <span class="entry_type_enum_name">YCbCr_420_888</span>
7276 <span class="entry_type_enum_value">0x23</span>
7277 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7278 </li>
7279 <li>
7280 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007281 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007282 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007283 </li>
7284 </ul>
7285
7286 </td> <!-- entry_type -->
7287
7288 <td class="entry_description">
7289 List of app-visible formats
7290 </td>
7291
7292 <td class="entry_units">
7293 </td>
7294
7295 <td class="entry_range">
7296 </td>
7297
7298 <td class="entry_notes">
7299 </td>
7300
7301 <td class="entry_tags">
7302 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007303 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007304 </ul>
7305 </td>
7306
7307 </tr> <!-- end of entry -->
7308
7309
7310 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7311 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7312 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007313 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007314 <span class="entry_type_container">x</span>
7315
7316 <span class="entry_type_array">
7317 n
7318 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007319 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007320
7321
7322 </td> <!-- entry_type -->
7323
7324 <td class="entry_description">
7325 The minimum frame duration that is supported
7326 for each resolution in availableJpegSizes.<wbr> Should
7327 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007328 stream is active and captured in a burst,<wbr> with all
7329 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007330 </td>
7331
7332 <td class="entry_units">
7333 </td>
7334
7335 <td class="entry_range">
7336 </td>
7337
7338 <td class="entry_notes">
7339 When multiple streams are configured,<wbr> the minimum
7340 frame duration will be >= max(individual stream min
7341 durations)
7342 </td>
7343
7344 <td class="entry_tags">
7345 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007346 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007347 </ul>
7348 </td>
7349
7350 </tr> <!-- end of entry -->
7351
7352
7353 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7354 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7355 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007356 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007357 <span class="entry_type_container">x</span>
7358
7359 <span class="entry_type_array">
7360 n x 2
7361 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007362 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007363
7364
7365 </td> <!-- entry_type -->
7366
7367 <td class="entry_description">
7368 The resolutions available for output from
7369 the JPEG block.<wbr> Listed as width x height
7370 </td>
7371
7372 <td class="entry_units">
7373 </td>
7374
7375 <td class="entry_range">
7376 Must include: - sensor maximum resolution Should
7377 include: - half/<wbr>quarter max resolution
7378 </td>
7379
7380 <td class="entry_notes">
7381 </td>
7382
7383 <td class="entry_tags">
7384 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007385 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007386 </ul>
7387 </td>
7388
7389 </tr> <!-- end of entry -->
7390
7391
7392 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7393 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7394 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007395 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007396
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007397 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007398
7399
7400 </td> <!-- entry_type -->
7401
7402 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007403 The maximum ratio between active area width
7404 and crop region width,<wbr> or between active area height and
7405 crop region height,<wbr> if the crop region height is larger
7406 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007407 </td>
7408
7409 <td class="entry_units">
7410 </td>
7411
7412 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007413 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007414 </td>
7415
7416 <td class="entry_notes">
7417 </td>
7418
7419 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007420 <ul class="entry_tags">
7421 <li><a href="#tag_BC">BC</a></li>
7422 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007423 </td>
7424
7425 </tr> <!-- end of entry -->
7426
7427
7428 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7429 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7430 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007431 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007432 <span class="entry_type_container">x</span>
7433
7434 <span class="entry_type_array">
7435 n
7436 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007437 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007438
7439
7440 </td> <!-- entry_type -->
7441
7442 <td class="entry_description">
7443 The minimum frame duration that is supported
7444 for each resolution in availableProcessedSizes.<wbr> Should
7445 correspond to the frame duration when only that processed
7446 stream is active,<wbr> with all processing set to
7447 FAST
7448 </td>
7449
7450 <td class="entry_units">
7451 </td>
7452
7453 <td class="entry_range">
7454 </td>
7455
7456 <td class="entry_notes">
7457 When multiple streams are configured,<wbr> the minimum
7458 frame duration will be >= max(individual stream min
7459 durations)
7460 </td>
7461
7462 <td class="entry_tags">
7463 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007464 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007465 </ul>
7466 </td>
7467
7468 </tr> <!-- end of entry -->
7469
7470
7471 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7472 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7473 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007474 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007475 <span class="entry_type_container">x</span>
7476
7477 <span class="entry_type_array">
7478 n x 2
7479 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007480 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007481
7482
7483 </td> <!-- entry_type -->
7484
7485 <td class="entry_description">
7486 The resolutions available for use with
7487 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7488 platform opaque YUV/<wbr>RGB streams to the GPU or video
7489 encoders.<wbr> Listed as width,<wbr> height
7490 </td>
7491
7492 <td class="entry_units">
7493 </td>
7494
7495 <td class="entry_range">
7496 Must include: - sensor maximum resolution -
7497 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7498 resolutions
7499 </td>
7500
7501 <td class="entry_notes">
Zhijun He15cc3112013-09-17 12:38:34 -07007502 The actual supported resolution list may be limited by
7503 consumer end points for different use cases.<wbr> For example,<wbr> for
7504 recording use case,<wbr> the largest supported resolution may be
7505 limited by max supported size from encoder,<wbr> for preview use
7506 case,<wbr> the largest supported resolution may be limited by max
7507 resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr>
7508
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007509 </td>
7510
7511 <td class="entry_tags">
7512 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007513 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007514 </ul>
7515 </td>
7516
7517 </tr> <!-- end of entry -->
7518
7519
7520 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7521 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7522 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007523 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007524 <span class="entry_type_container">x</span>
7525
7526 <span class="entry_type_array">
7527 n
7528 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007529 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007530
7531
7532 </td> <!-- entry_type -->
7533
7534 <td class="entry_description">
7535 The minimum frame duration that is supported
7536 for each raw resolution in availableRawSizes.<wbr> Should
7537 correspond to the frame duration when only the raw stream
7538 is active.<wbr>
7539 </td>
7540
7541 <td class="entry_units">
7542 </td>
7543
7544 <td class="entry_range">
7545 </td>
7546
7547 <td class="entry_notes">
7548 When multiple streams are configured,<wbr> the minimum
7549 frame duration will be >= max(individual stream min
7550 durations)
7551 </td>
7552
7553 <td class="entry_tags">
7554 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007555 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007556 </ul>
7557 </td>
7558
7559 </tr> <!-- end of entry -->
7560
7561
7562 <tr class="entry" id="static_android.scaler.availableRawSizes">
7563 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007565 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 <span class="entry_type_container">x</span>
7567
7568 <span class="entry_type_array">
7569 n x 2
7570 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007571 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007572
7573
7574 </td> <!-- entry_type -->
7575
7576 <td class="entry_description">
7577 The resolutions available for use with raw
7578 sensor output streams,<wbr> listed as width,<wbr>
7579 height
7580 </td>
7581
7582 <td class="entry_units">
7583 </td>
7584
7585 <td class="entry_range">
7586 Must include: - sensor maximum resolution
7587 </td>
7588
7589 <td class="entry_notes">
7590 </td>
7591
7592 <td class="entry_tags">
7593 </td>
7594
7595 </tr> <!-- end of entry -->
7596
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007597
7598
7599 <!-- end of kind -->
7600 </tbody>
7601 <tr><td colspan="7" class="kind">dynamic</td></tr>
7602
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007603 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007604 <tr>
7605 <th class="th_name">Property Name</th>
7606 <th class="th_type">Type</th>
7607 <th class="th_description">Description</th>
7608 <th class="th_units">Units</th>
7609 <th class="th_range">Range</th>
7610 <th class="th_notes">Notes</th>
7611 <th class="th_tags">Tags</th>
7612 </tr>
7613 </thead>
7614
7615 <tbody>
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7627 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7628 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007629 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630 <span class="entry_type_container">x</span>
7631
7632 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007633 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007634 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007635 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007636
7637
7638 </td> <!-- entry_type -->
7639
7640 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007641 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7642<br>
7643<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7644 (width,<wbr> height).<wbr> The region of the sensor that is used for
7645 output.<wbr> Each stream must use this rectangle to produce its
7646 output,<wbr> cropping to a smaller region if necessary to
7647 maintain the stream's aspect ratio.<wbr>
7648<br>
7649<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007650 </td>
7651
7652 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007653 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7654 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007655 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007656 </td>
7657
7658 <td class="entry_range">
7659 </td>
7660
7661 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007662
7663 Any additional per-stream cropping must be done to
7664 maximize the final pixel area of the stream.<wbr>
7665<br>
7666<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7667 ratio,<wbr> then 4:3 streams should use the exact crop
7668 region.<wbr> 16:9 streams should further crop vertically
7669 (letterbox).<wbr>
7670<br>
7671<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7672 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7673 streams should match exactly.<wbr> These additional crops must
7674 be centered within the crop region.<wbr>
7675<br>
7676<br> The output streams must maintain square pixels at all
7677 times,<wbr> no matter what the relative aspect ratios of the
7678 crop region and the stream are.<wbr> Negative values for
7679 corner are allowed for raw output if full pixel array is
7680 larger than active pixel array.<wbr> Width and height may be
7681 rounded to nearest larger supportable width,<wbr> especially
7682 for raw output,<wbr> where only a few fixed scales may be
7683 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007684 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007685 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007686 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007687 respectively.<wbr>
7688
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007689 </td>
7690
7691 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007692 <ul class="entry_tags">
7693 <li><a href="#tag_BC">BC</a></li>
7694 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007695 </td>
7696
7697 </tr> <!-- end of entry -->
7698
7699
7700
7701 <!-- end of kind -->
7702 </tbody>
7703
7704 <!-- end of section -->
7705 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7706
7707
7708 <tr><td colspan="7" class="kind">controls</td></tr>
7709
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007710 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007711 <tr>
7712 <th class="th_name">Property Name</th>
7713 <th class="th_type">Type</th>
7714 <th class="th_description">Description</th>
7715 <th class="th_units">Units</th>
7716 <th class="th_range">Range</th>
7717 <th class="th_notes">Notes</th>
7718 <th class="th_tags">Tags</th>
7719 </tr>
7720 </thead>
7721
7722 <tbody>
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733 <tr class="entry" id="controls_android.sensor.exposureTime">
7734 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7735 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007736 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007737
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007738 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007739
7740
7741 </td> <!-- entry_type -->
7742
7743 <td class="entry_description">
7744 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007745 light.<wbr>
7746<br>
7747<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7748 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7749
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007750 </td>
7751
7752 <td class="entry_units">
7753 nanoseconds
7754 </td>
7755
7756 <td class="entry_range">
7757 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7758 </td>
7759
7760 <td class="entry_notes">
7761 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7762 </td>
7763
7764 <td class="entry_tags">
7765 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007766 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007767 </ul>
7768 </td>
7769
7770 </tr> <!-- end of entry -->
7771
7772
7773 <tr class="entry" id="controls_android.sensor.frameDuration">
7774 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7775 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007776 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007777
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007778 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007779
7780
7781 </td> <!-- entry_type -->
7782
7783 <td class="entry_description">
7784 Duration from start of frame exposure to
7785 start of next frame exposure
7786 </td>
7787
7788 <td class="entry_units">
7789 nanoseconds
7790 </td>
7791
7792 <td class="entry_range">
7793 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7794 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7795 </td>
7796
7797 <td class="entry_notes">
7798 Exposure time has priority,<wbr> so duration is set to
7799 max(duration,<wbr> exposure time + overhead)
7800 </td>
7801
7802 <td class="entry_tags">
7803 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007804 <li><a href="#tag_V1">V1</a></li>
7805 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007806 </ul>
7807 </td>
7808
7809 </tr> <!-- end of entry -->
7810
7811
7812 <tr class="entry" id="controls_android.sensor.sensitivity">
7813 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7814 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007815 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007816
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007817 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007818
7819
7820 </td> <!-- entry_type -->
7821
7822 <td class="entry_description">
7823 Gain applied to image data.<wbr> Must be
7824 implemented through analog gain only if set to values
7825 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007826<br>
7827<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7828 gain to the nearest possible value (rather than gain more).<wbr>
7829
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007830 </td>
7831
7832 <td class="entry_units">
7833 ISO arithmetic units
7834 </td>
7835
7836 <td class="entry_range">
7837 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7838 </td>
7839
7840 <td class="entry_notes">
7841 ISO 12232:2006 REI method
7842 </td>
7843
7844 <td class="entry_tags">
7845 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007846 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007847 </ul>
7848 </td>
7849
7850 </tr> <!-- end of entry -->
7851
7852
7853
7854 <!-- end of kind -->
7855 </tbody>
7856 <tr><td colspan="7" class="kind">static</td></tr>
7857
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007858 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007859 <tr>
7860 <th class="th_name">Property Name</th>
7861 <th class="th_type">Type</th>
7862 <th class="th_description">Description</th>
7863 <th class="th_units">Units</th>
7864 <th class="th_range">Range</th>
7865 <th class="th_notes">Notes</th>
7866 <th class="th_tags">Tags</th>
7867 </tr>
7868 </thead>
7869
7870 <tbody>
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7884 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7885 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007886 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007887 <span class="entry_type_container">x</span>
7888
7889 <span class="entry_type_array">
7890 4
7891 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007892 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007893 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7894
7895
7896 </td> <!-- entry_type -->
7897
7898 <td class="entry_description">
7899 Area of raw data which corresponds to only
7900 active pixels; smaller or equal to
7901 pixelArraySize.<wbr>
7902 </td>
7903
7904 <td class="entry_units">
7905 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7906 pixel array is (0,<wbr>0)
7907 </td>
7908
7909 <td class="entry_range">
7910 </td>
7911
7912 <td class="entry_notes">
7913 </td>
7914
7915 <td class="entry_tags">
7916 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007917 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007918 </ul>
7919 </td>
7920
7921 </tr> <!-- end of entry -->
7922
7923
Zhijun He69fc0ea2013-07-17 09:42:58 -07007924 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
7925 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007926 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007927 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007928 <span class="entry_type_container">x</span>
7929
7930 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007931 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007932 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007933 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07007934 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007935
7936
7937 </td> <!-- entry_type -->
7938
7939 <td class="entry_description">
7940 Range of valid sensitivities
7941 </td>
7942
7943 <td class="entry_units">
7944 </td>
7945
7946 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007947 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007948 </td>
7949
7950 <td class="entry_notes">
7951 </td>
7952
7953 <td class="entry_tags">
7954 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007955 <li><a href="#tag_BC">BC</a></li>
7956 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007957 </ul>
7958 </td>
7959
7960 </tr> <!-- end of entry -->
7961
7962
7963 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7964 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7965 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007966 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007967
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007968 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007969
7970 <ul class="entry_type_enum">
7971 <li>
7972 <span class="entry_type_enum_name">RGGB</span>
7973 </li>
7974 <li>
7975 <span class="entry_type_enum_name">GRBG</span>
7976 </li>
7977 <li>
7978 <span class="entry_type_enum_name">GBRG</span>
7979 </li>
7980 <li>
7981 <span class="entry_type_enum_name">BGGR</span>
7982 </li>
7983 <li>
7984 <span class="entry_type_enum_name">RGB</span>
7985 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7986 values for each pixel,<wbr> instead of just 1 16-bit value
7987 per pixel.<wbr></span>
7988 </li>
7989 </ul>
7990
7991 </td> <!-- entry_type -->
7992
7993 <td class="entry_description">
7994 Arrangement of color filters on sensor;
7995 represents the colors in the top-left 2x2 section of
7996 the sensor,<wbr> in reading order
7997 </td>
7998
7999 <td class="entry_units">
8000 </td>
8001
8002 <td class="entry_range">
8003 </td>
8004
8005 <td class="entry_notes">
8006 </td>
8007
8008 <td class="entry_tags">
8009 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008010 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008011 </ul>
8012 </td>
8013
8014 </tr> <!-- end of entry -->
8015
8016
8017 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
8018 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
8019 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008020 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021 <span class="entry_type_container">x</span>
8022
8023 <span class="entry_type_array">
8024 2
8025 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008026 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008027 <div class="entry_type_notes">nanoseconds</div>
8028
8029
8030 </td> <!-- entry_type -->
8031
8032 <td class="entry_description">
8033 Range of valid exposure
8034 times
8035 </td>
8036
8037 <td class="entry_units">
8038 </td>
8039
8040 <td class="entry_range">
8041 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8042 sec)
8043 </td>
8044
8045 <td class="entry_notes">
8046 </td>
8047
8048 <td class="entry_tags">
8049 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008050 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008051 </ul>
8052 </td>
8053
8054 </tr> <!-- end of entry -->
8055
8056
8057 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8058 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8059 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008060 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008061
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008062 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008063
8064
8065 </td> <!-- entry_type -->
8066
8067 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008068 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008069 rate)
8070 </td>
8071
8072 <td class="entry_units">
8073 nanoseconds
8074 </td>
8075
8076 <td class="entry_range">
8077 >= 30e9
8078 </td>
8079
8080 <td class="entry_notes">
8081 Minimum duration is a function of resolution,<wbr>
8082 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008083 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8084 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8085 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008086 </td>
8087
8088 <td class="entry_tags">
8089 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008090 <li><a href="#tag_BC">BC</a></li>
8091 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008092 </ul>
8093 </td>
8094
8095 </tr> <!-- end of entry -->
8096
8097
8098 <tr class="entry" id="static_android.sensor.info.physicalSize">
8099 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8100 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008101 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102 <span class="entry_type_container">x</span>
8103
8104 <span class="entry_type_array">
8105 2
8106 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008107 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008108 <div class="entry_type_notes">width x height in millimeters</div>
8109
8110
8111 </td> <!-- entry_type -->
8112
8113 <td class="entry_description">
8114 The physical dimensions of the full pixel
8115 array
8116 </td>
8117
8118 <td class="entry_units">
8119 </td>
8120
8121 <td class="entry_range">
8122 </td>
8123
8124 <td class="entry_notes">
8125 Needed for FOV calculation for old API
8126 </td>
8127
8128 <td class="entry_tags">
8129 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008130 <li><a href="#tag_V1">V1</a></li>
8131 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008132 </ul>
8133 </td>
8134
8135 </tr> <!-- end of entry -->
8136
8137
8138 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8139 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8140 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008141 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008142 <span class="entry_type_container">x</span>
8143
8144 <span class="entry_type_array">
8145 2
8146 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008147 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008148
8149
8150 </td> <!-- entry_type -->
8151
8152 <td class="entry_description">
8153 Dimensions of full pixel array,<wbr> possibly
8154 including black calibration pixels
8155 </td>
8156
8157 <td class="entry_units">
8158 </td>
8159
8160 <td class="entry_range">
8161 </td>
8162
8163 <td class="entry_notes">
8164 Maximum output resolution for raw format must
8165 match this in
8166 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8167 </td>
8168
8169 <td class="entry_tags">
8170 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008171 <li><a href="#tag_DNG">DNG</a></li>
8172 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008173 </ul>
8174 </td>
8175
8176 </tr> <!-- end of entry -->
8177
8178
8179 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8180 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8181 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008182 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008183
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008184 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008185
8186
8187 </td> <!-- entry_type -->
8188
8189 <td class="entry_description">
8190 Maximum raw value output by
8191 sensor
8192 </td>
8193
8194 <td class="entry_units">
8195 </td>
8196
8197 <td class="entry_range">
8198 > 1024 (10-bit output)
8199 </td>
8200
8201 <td class="entry_notes">
8202 Defines sensor bit depth (10-14 bits is
8203 expected)
8204 </td>
8205
8206 <td class="entry_tags">
8207 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008208 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008209 </ul>
8210 </td>
8211
8212 </tr> <!-- end of entry -->
8213
8214
8215
8216
8217
8218 <tr class="entry" id="static_android.sensor.baseGainFactor">
8219 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8220 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008221 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008222
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008223 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008224
8225
8226 </td> <!-- entry_type -->
8227
8228 <td class="entry_description">
8229 Gain factor from electrons to raw units when
8230 ISO=100
8231 </td>
8232
8233 <td class="entry_units">
8234 </td>
8235
8236 <td class="entry_range">
8237 </td>
8238
8239 <td class="entry_notes">
8240 </td>
8241
8242 <td class="entry_tags">
8243 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008244 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008245 </ul>
8246 </td>
8247
8248 </tr> <!-- end of entry -->
8249
8250
8251 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8252 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8253 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008254 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008255 <span class="entry_type_container">x</span>
8256
8257 <span class="entry_type_array">
8258 4
8259 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008260 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008261 <div class="entry_type_notes">2x2 raw count block</div>
8262
8263
8264 </td> <!-- entry_type -->
8265
8266 <td class="entry_description">
8267 A fixed black level offset for each of the
8268 Bayer mosaic channels
8269 </td>
8270
8271 <td class="entry_units">
8272 </td>
8273
8274 <td class="entry_range">
8275 >= 0 each
8276 </td>
8277
8278 <td class="entry_notes">
8279 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8280 tags
8281 </td>
8282
8283 <td class="entry_tags">
8284 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008285 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008286 </ul>
8287 </td>
8288
8289 </tr> <!-- end of entry -->
8290
8291
8292 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8293 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8294 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008295 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008296 <span class="entry_type_container">x</span>
8297
8298 <span class="entry_type_array">
8299 9
8300 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008301 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008302 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8303
8304
8305 </td> <!-- entry_type -->
8306
8307 <td class="entry_description">
8308 Per-device calibration on top of color space
8309 transform 1
8310 </td>
8311
8312 <td class="entry_units">
8313 </td>
8314
8315 <td class="entry_range">
8316 </td>
8317
8318 <td class="entry_notes">
8319 </td>
8320
8321 <td class="entry_tags">
8322 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008323 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008324 </ul>
8325 </td>
8326
8327 </tr> <!-- end of entry -->
8328
8329
8330 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8331 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8332 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008333 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008334 <span class="entry_type_container">x</span>
8335
8336 <span class="entry_type_array">
8337 9
8338 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008339 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008340 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8341
8342
8343 </td> <!-- entry_type -->
8344
8345 <td class="entry_description">
8346 Per-device calibration on top of color space
8347 transform 2
8348 </td>
8349
8350 <td class="entry_units">
8351 </td>
8352
8353 <td class="entry_range">
8354 </td>
8355
8356 <td class="entry_notes">
8357 </td>
8358
8359 <td class="entry_tags">
8360 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008361 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008362 </ul>
8363 </td>
8364
8365 </tr> <!-- end of entry -->
8366
8367
8368 <tr class="entry" id="static_android.sensor.colorTransform1">
8369 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8370 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008371 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008372 <span class="entry_type_container">x</span>
8373
8374 <span class="entry_type_array">
8375 9
8376 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008377 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008378 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8379
8380
8381 </td> <!-- entry_type -->
8382
8383 <td class="entry_description">
8384 Linear mapping from XYZ (D50) color space to
8385 reference linear sensor color,<wbr> for first reference
8386 illuminant
8387 </td>
8388
8389 <td class="entry_units">
8390 </td>
8391
8392 <td class="entry_range">
8393 </td>
8394
8395 <td class="entry_notes">
8396 Use as follows XYZ = inv(transform) * clip( (raw -
8397 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8398 At least in the simple case
8399 </td>
8400
8401 <td class="entry_tags">
8402 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008403 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008404 </ul>
8405 </td>
8406
8407 </tr> <!-- end of entry -->
8408
8409
8410 <tr class="entry" id="static_android.sensor.colorTransform2">
8411 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8412 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008413 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008414 <span class="entry_type_container">x</span>
8415
8416 <span class="entry_type_array">
8417 9
8418 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008419 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008420 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8421
8422
8423 </td> <!-- entry_type -->
8424
8425 <td class="entry_description">
8426 Linear mapping from XYZ (D50) color space to
8427 reference linear sensor color,<wbr> for second reference
8428 illuminant
8429 </td>
8430
8431 <td class="entry_units">
8432 </td>
8433
8434 <td class="entry_range">
8435 </td>
8436
8437 <td class="entry_notes">
8438 </td>
8439
8440 <td class="entry_tags">
8441 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008442 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008443 </ul>
8444 </td>
8445
8446 </tr> <!-- end of entry -->
8447
8448
8449 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8450 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8451 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008452 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008453 <span class="entry_type_container">x</span>
8454
8455 <span class="entry_type_array">
8456 9
8457 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008458 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008459 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8460
8461
8462 </td> <!-- entry_type -->
8463
8464 <td class="entry_description">
8465 Used by DNG for better WB
8466 adaptation
8467 </td>
8468
8469 <td class="entry_units">
8470 </td>
8471
8472 <td class="entry_range">
8473 </td>
8474
8475 <td class="entry_notes">
8476 </td>
8477
8478 <td class="entry_tags">
8479 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008480 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008481 </ul>
8482 </td>
8483
8484 </tr> <!-- end of entry -->
8485
8486
8487 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8488 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8489 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008490 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008491 <span class="entry_type_container">x</span>
8492
8493 <span class="entry_type_array">
8494 9
8495 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008496 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008497 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8498
8499
8500 </td> <!-- entry_type -->
8501
8502 <td class="entry_description">
8503 Used by DNG for better WB
8504 adaptation
8505 </td>
8506
8507 <td class="entry_units">
8508 </td>
8509
8510 <td class="entry_range">
8511 </td>
8512
8513 <td class="entry_notes">
8514 </td>
8515
8516 <td class="entry_tags">
8517 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008518 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008519 </ul>
8520 </td>
8521
8522 </tr> <!-- end of entry -->
8523
8524
8525 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8526 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8527 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008528 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008529
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008530 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008531
8532
8533 </td> <!-- entry_type -->
8534
8535 <td class="entry_description">
8536 Maximum sensitivity that is implemented
8537 purely through analog gain
8538 </td>
8539
8540 <td class="entry_units">
8541 </td>
8542
8543 <td class="entry_range">
8544 </td>
8545
8546 <td class="entry_notes">
8547 For android.<wbr>sensor.<wbr>sensitivity values less than or
8548 equal to this,<wbr> all applied gain must be analog.<wbr> For
8549 values above this,<wbr> it can be a mix of analog and
8550 digital
8551 </td>
8552
8553 <td class="entry_tags">
8554 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008555 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008556 </ul>
8557 </td>
8558
8559 </tr> <!-- end of entry -->
8560
8561
8562 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8563 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008565 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008566 <span class="entry_type_container">x</span>
8567
8568 <span class="entry_type_array">
8569 2
8570 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008571 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008572 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8573
8574
8575 </td> <!-- entry_type -->
8576
8577 <td class="entry_description">
8578 Estimation of sensor noise
8579 characteristics
8580 </td>
8581
8582 <td class="entry_units">
8583 var(raw pixel value) = electrons * (baseGainFactor
8584 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8585 B
8586 </td>
8587
8588 <td class="entry_range">
8589 </td>
8590
8591 <td class="entry_notes">
8592 A represents sensor read noise before analog
8593 amplification; B represents noise from A/<wbr>D conversion and
8594 other circuits after amplification.<wbr> Both noise sources
8595 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8596 across the sensor
8597 </td>
8598
8599 <td class="entry_tags">
8600 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008601 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008602 </ul>
8603 </td>
8604
8605 </tr> <!-- end of entry -->
8606
8607
8608 <tr class="entry" id="static_android.sensor.orientation">
8609 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8610 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008611 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008612
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008613 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008614
8615
8616 </td> <!-- entry_type -->
8617
8618 <td class="entry_description">
8619 Clockwise angle through which the output
8620 image needs to be rotated to be upright on the device
8621 screen in its native orientation.<wbr> Also defines the
8622 direction of rolling shutter readout,<wbr> which is from top
8623 to bottom in the sensor's coordinate system
8624 </td>
8625
8626 <td class="entry_units">
8627 degrees clockwise rotation,<wbr> only multiples of
8628 90
8629 </td>
8630
8631 <td class="entry_range">
8632 0,<wbr>90,<wbr>180,<wbr>270
8633 </td>
8634
8635 <td class="entry_notes">
8636 </td>
8637
8638 <td class="entry_tags">
8639 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008640 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008641 </ul>
8642 </td>
8643
8644 </tr> <!-- end of entry -->
8645
8646
8647 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8648 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8649 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008650 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008651
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008652 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008653
8654 <ul class="entry_type_enum">
8655 <li>
8656 <span class="entry_type_enum_name">DAYLIGHT</span>
8657 <span class="entry_type_enum_value">1</span>
8658 </li>
8659 <li>
8660 <span class="entry_type_enum_name">FLUORESCENT</span>
8661 <span class="entry_type_enum_value">2</span>
8662 </li>
8663 <li>
8664 <span class="entry_type_enum_name">TUNGSTEN</span>
8665 <span class="entry_type_enum_value">3</span>
8666 <span class="entry_type_enum_notes">Incandescent light</span>
8667 </li>
8668 <li>
8669 <span class="entry_type_enum_name">FLASH</span>
8670 <span class="entry_type_enum_value">4</span>
8671 </li>
8672 <li>
8673 <span class="entry_type_enum_name">FINE_WEATHER</span>
8674 <span class="entry_type_enum_value">9</span>
8675 </li>
8676 <li>
8677 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8678 <span class="entry_type_enum_value">10</span>
8679 </li>
8680 <li>
8681 <span class="entry_type_enum_name">SHADE</span>
8682 <span class="entry_type_enum_value">11</span>
8683 </li>
8684 <li>
8685 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8686 <span class="entry_type_enum_value">12</span>
8687 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8688 </li>
8689 <li>
8690 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8691 <span class="entry_type_enum_value">13</span>
8692 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8693 </li>
8694 <li>
8695 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8696 <span class="entry_type_enum_value">14</span>
8697 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8698 </li>
8699 <li>
8700 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8701 <span class="entry_type_enum_value">15</span>
8702 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8703 </li>
8704 <li>
8705 <span class="entry_type_enum_name">STANDARD_A</span>
8706 <span class="entry_type_enum_value">17</span>
8707 </li>
8708 <li>
8709 <span class="entry_type_enum_name">STANDARD_B</span>
8710 <span class="entry_type_enum_value">18</span>
8711 </li>
8712 <li>
8713 <span class="entry_type_enum_name">STANDARD_C</span>
8714 <span class="entry_type_enum_value">19</span>
8715 </li>
8716 <li>
8717 <span class="entry_type_enum_name">D55</span>
8718 <span class="entry_type_enum_value">20</span>
8719 </li>
8720 <li>
8721 <span class="entry_type_enum_name">D65</span>
8722 <span class="entry_type_enum_value">21</span>
8723 </li>
8724 <li>
8725 <span class="entry_type_enum_name">D75</span>
8726 <span class="entry_type_enum_value">22</span>
8727 </li>
8728 <li>
8729 <span class="entry_type_enum_name">D50</span>
8730 <span class="entry_type_enum_value">23</span>
8731 </li>
8732 <li>
8733 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8734 <span class="entry_type_enum_value">24</span>
8735 </li>
8736 </ul>
8737
8738 </td> <!-- entry_type -->
8739
8740 <td class="entry_description">
8741 Light source used to define transform
8742 1
8743 </td>
8744
8745 <td class="entry_units">
8746 </td>
8747
8748 <td class="entry_range">
8749 </td>
8750
8751 <td class="entry_notes">
8752 [EXIF LightSource tag] Must all these be
8753 supported? Need CCT for each!
8754 </td>
8755
8756 <td class="entry_tags">
8757 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008758 <li><a href="#tag_DNG">DNG</a></li>
8759 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008760 </ul>
8761 </td>
8762
8763 </tr> <!-- end of entry -->
8764
8765
8766 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8767 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8768 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008769 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008770
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008771 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008772
8773
8774 </td> <!-- entry_type -->
8775
8776 <td class="entry_description">
8777 Light source used to define transform
8778 2
8779 </td>
8780
8781 <td class="entry_units">
8782 Same as illuminant 1
8783 </td>
8784
8785 <td class="entry_range">
8786 </td>
8787
8788 <td class="entry_notes">
8789 </td>
8790
8791 <td class="entry_tags">
8792 </td>
8793
8794 </tr> <!-- end of entry -->
8795
8796
8797
8798 <!-- end of kind -->
8799 </tbody>
8800 <tr><td colspan="7" class="kind">dynamic</td></tr>
8801
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008802 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008803 <tr>
8804 <th class="th_name">Property Name</th>
8805 <th class="th_type">Type</th>
8806 <th class="th_description">Description</th>
8807 <th class="th_units">Units</th>
8808 <th class="th_range">Range</th>
8809 <th class="th_notes">Notes</th>
8810 <th class="th_tags">Tags</th>
8811 </tr>
8812 </thead>
8813
8814 <tbody>
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8826 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8827 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008828 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008829
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008830 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008831
8832
8833 </td> <!-- entry_type -->
8834
8835 <td class="entry_description">
8836 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008837 light.<wbr>
8838<br>
8839<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8840 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8841
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008842 </td>
8843
8844 <td class="entry_units">
8845 nanoseconds
8846 </td>
8847
8848 <td class="entry_range">
8849 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8850 </td>
8851
8852 <td class="entry_notes">
8853 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8854 </td>
8855
8856 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008857 <ul class="entry_tags">
8858 <li><a href="#tag_V1">V1</a></li>
8859 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008860 </td>
8861
8862 </tr> <!-- end of entry -->
8863
8864
8865 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8866 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008868 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008869
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008870 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008871
8872
8873 </td> <!-- entry_type -->
8874
8875 <td class="entry_description">
8876 Duration from start of frame exposure to
8877 start of next frame exposure
8878 </td>
8879
8880 <td class="entry_units">
8881 nanoseconds
8882 </td>
8883
8884 <td class="entry_range">
8885 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8886 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8887 </td>
8888
8889 <td class="entry_notes">
8890 Exposure time has priority,<wbr> so duration is set to
8891 max(duration,<wbr> exposure time + overhead)
8892 </td>
8893
8894 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008895 <ul class="entry_tags">
8896 <li><a href="#tag_V1">V1</a></li>
8897 <li><a href="#tag_BC">BC</a></li>
8898 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008899 </td>
8900
8901 </tr> <!-- end of entry -->
8902
8903
8904 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8905 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8906 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008907 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008908
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008909 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008910
8911
8912 </td> <!-- entry_type -->
8913
8914 <td class="entry_description">
8915 Gain applied to image data.<wbr> Must be
8916 implemented through analog gain only if set to values
8917 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008918<br>
8919<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8920 gain to the nearest possible value (rather than gain more).<wbr>
8921
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008922 </td>
8923
8924 <td class="entry_units">
8925 ISO arithmetic units
8926 </td>
8927
8928 <td class="entry_range">
8929 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8930 </td>
8931
8932 <td class="entry_notes">
8933 ISO 12232:2006 REI method
8934 </td>
8935
8936 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008937 <ul class="entry_tags">
8938 <li><a href="#tag_V1">V1</a></li>
8939 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008940 </td>
8941
8942 </tr> <!-- end of entry -->
8943
8944
8945 <tr class="entry" id="dynamic_android.sensor.timestamp">
8946 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8947 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008948 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008949
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008950 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008951
8952
8953 </td> <!-- entry_type -->
8954
8955 <td class="entry_description">
8956 Time at start of exposure of first
8957 row
8958 </td>
8959
8960 <td class="entry_units">
8961 nanoseconds
8962 </td>
8963
8964 <td class="entry_range">
8965 > 0
8966 </td>
8967
8968 <td class="entry_notes">
8969 Monotonic,<wbr> should be synced to other timestamps in
8970 system
8971 </td>
8972
8973 <td class="entry_tags">
8974 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008975 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008976 </ul>
8977 </td>
8978
8979 </tr> <!-- end of entry -->
8980
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008981
8982 <tr class="entry" id="dynamic_android.sensor.temperature">
8983 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8984 <td class="entry_type">
8985 <span class="entry_type_name">float</span>
8986
8987 <span class="entry_type_visibility"> [public]</span>
8988
8989
8990 </td> <!-- entry_type -->
8991
8992 <td class="entry_description">
8993 The temperature of the sensor,<wbr> sampled at the time
8994 exposure began for this frame.<wbr>
8995<br>
8996<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
8997 somewhere close to it.<wbr>
8998
8999 </td>
9000
9001 <td class="entry_units">
9002 celsius
9003 </td>
9004
9005 <td class="entry_range">
9006 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9007 </td>
9008
9009 <td class="entry_notes">
9010 </td>
9011
9012 <td class="entry_tags">
9013 </td>
9014
9015 </tr> <!-- end of entry -->
9016
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009017
9018
9019 <!-- end of kind -->
9020 </tbody>
9021
9022 <!-- end of section -->
9023 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9024
9025
9026 <tr><td colspan="7" class="kind">controls</td></tr>
9027
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009028 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009029 <tr>
9030 <th class="th_name">Property Name</th>
9031 <th class="th_type">Type</th>
9032 <th class="th_description">Description</th>
9033 <th class="th_units">Units</th>
9034 <th class="th_range">Range</th>
9035 <th class="th_notes">Notes</th>
9036 <th class="th_tags">Tags</th>
9037 </tr>
9038 </thead>
9039
9040 <tbody>
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051 <tr class="entry" id="controls_android.shading.mode">
9052 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9053 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009054 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009055
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009056 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009057
9058 <ul class="entry_type_enum">
9059 <li>
9060 <span class="entry_type_enum_name">OFF</span>
9061 <span class="entry_type_enum_notes">No shading correction is applied</span>
9062 </li>
9063 <li>
9064 <span class="entry_type_enum_name">FAST</span>
9065 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9066 bayer output</span>
9067 </li>
9068 <li>
9069 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9070 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9071 quality</span>
9072 </li>
9073 </ul>
9074
9075 </td> <!-- entry_type -->
9076
9077 <td class="entry_description">
9078 Quality of lens shading correction applied
9079 to the image data
9080 </td>
9081
9082 <td class="entry_units">
9083 </td>
9084
9085 <td class="entry_range">
9086 </td>
9087
9088 <td class="entry_notes">
9089 </td>
9090
9091 <td class="entry_tags">
9092 </td>
9093
9094 </tr> <!-- end of entry -->
9095
9096
9097 <tr class="entry" id="controls_android.shading.strength">
9098 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9099 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009100 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009101
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009102 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009103
9104
9105 </td> <!-- entry_type -->
9106
9107 <td class="entry_description">
9108 Control the amount of shading correction
9109 applied to the images
9110 </td>
9111
9112 <td class="entry_units">
9113 unitless: 1-10; 10 is full shading
9114 compensation
9115 </td>
9116
9117 <td class="entry_range">
9118 </td>
9119
9120 <td class="entry_notes">
9121 </td>
9122
9123 <td class="entry_tags">
9124 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009125 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009126 </ul>
9127 </td>
9128
9129 </tr> <!-- end of entry -->
9130
9131
9132
9133 <!-- end of kind -->
9134 </tbody>
9135 <tr><td colspan="7" class="kind">dynamic</td></tr>
9136
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009137 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009138 <tr>
9139 <th class="th_name">Property Name</th>
9140 <th class="th_type">Type</th>
9141 <th class="th_description">Description</th>
9142 <th class="th_units">Units</th>
9143 <th class="th_range">Range</th>
9144 <th class="th_notes">Notes</th>
9145 <th class="th_tags">Tags</th>
9146 </tr>
9147 </thead>
9148
9149 <tbody>
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160 <tr class="entry" id="dynamic_android.shading.mode">
9161 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9162 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009163 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009164
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009165 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009166
9167 <ul class="entry_type_enum">
9168 <li>
9169 <span class="entry_type_enum_name">OFF</span>
9170 <span class="entry_type_enum_notes">No shading correction is applied</span>
9171 </li>
9172 <li>
9173 <span class="entry_type_enum_name">FAST</span>
9174 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9175 bayer output</span>
9176 </li>
9177 <li>
9178 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9179 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9180 quality</span>
9181 </li>
9182 </ul>
9183
9184 </td> <!-- entry_type -->
9185
9186 <td class="entry_description">
9187 Quality of lens shading correction applied
9188 to the image data
9189 </td>
9190
9191 <td class="entry_units">
9192 </td>
9193
9194 <td class="entry_range">
9195 </td>
9196
9197 <td class="entry_notes">
9198 </td>
9199
9200 <td class="entry_tags">
9201 </td>
9202
9203 </tr> <!-- end of entry -->
9204
9205
9206
9207 <!-- end of kind -->
9208 </tbody>
9209
9210 <!-- end of section -->
9211 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9212
9213
9214 <tr><td colspan="7" class="kind">controls</td></tr>
9215
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009216 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009217 <tr>
9218 <th class="th_name">Property Name</th>
9219 <th class="th_type">Type</th>
9220 <th class="th_description">Description</th>
9221 <th class="th_units">Units</th>
9222 <th class="th_range">Range</th>
9223 <th class="th_notes">Notes</th>
9224 <th class="th_tags">Tags</th>
9225 </tr>
9226 </thead>
9227
9228 <tbody>
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9240 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009242 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009244 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009245
9246 <ul class="entry_type_enum">
9247 <li>
9248 <span class="entry_type_enum_name">OFF</span>
9249 </li>
9250 <li>
9251 <span class="entry_type_enum_name">SIMPLE</span>
9252 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9253 only</span>
9254 </li>
9255 <li>
9256 <span class="entry_type_enum_name">FULL</span>
9257 <span class="entry_type_enum_notes">Optional Return all face
9258 metadata</span>
9259 </li>
9260 </ul>
9261
9262 </td> <!-- entry_type -->
9263
9264 <td class="entry_description">
9265 State of the face detector
9266 unit
9267 </td>
9268
9269 <td class="entry_units">
9270 </td>
9271
9272 <td class="entry_range">
9273
Zhijun He69fc0ea2013-07-17 09:42:58 -07009274 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009275 </td>
9276
9277 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009278 Whether face detection is enabled,<wbr> and whether it
9279 should output just the basic fields or the full set of
9280 fields.<wbr> Value must be one of the
9281 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009282 </td>
9283
9284 <td class="entry_tags">
9285 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009286 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009287 </ul>
9288 </td>
9289
9290 </tr> <!-- end of entry -->
9291
9292
9293 <tr class="entry" id="controls_android.statistics.histogramMode">
9294 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9295 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009296 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009297
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009298 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009299
9300 <ul class="entry_type_enum">
9301 <li>
9302 <span class="entry_type_enum_name">OFF</span>
9303 </li>
9304 <li>
9305 <span class="entry_type_enum_name">ON</span>
9306 </li>
9307 </ul>
9308
9309 </td> <!-- entry_type -->
9310
9311 <td class="entry_description">
9312 Operating mode for histogram
9313 generation
9314 </td>
9315
9316 <td class="entry_units">
9317 </td>
9318
9319 <td class="entry_range">
9320 </td>
9321
9322 <td class="entry_notes">
9323 </td>
9324
9325 <td class="entry_tags">
9326 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009327 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009328 </ul>
9329 </td>
9330
9331 </tr> <!-- end of entry -->
9332
9333
9334 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9335 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9336 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009337 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009338
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009339 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009340
9341 <ul class="entry_type_enum">
9342 <li>
9343 <span class="entry_type_enum_name">OFF</span>
9344 </li>
9345 <li>
9346 <span class="entry_type_enum_name">ON</span>
9347 </li>
9348 </ul>
9349
9350 </td> <!-- entry_type -->
9351
9352 <td class="entry_description">
9353 Operating mode for sharpness map
9354 generation
9355 </td>
9356
9357 <td class="entry_units">
9358 </td>
9359
9360 <td class="entry_range">
9361 </td>
9362
9363 <td class="entry_notes">
9364 </td>
9365
9366 <td class="entry_tags">
9367 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009368 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009369 </ul>
9370 </td>
9371
9372 </tr> <!-- end of entry -->
9373
Zhijun He69fc0ea2013-07-17 09:42:58 -07009374
9375 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9376 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9377 <td class="entry_type">
9378 <span class="entry_type_name entry_type_name_enum">byte</span>
9379
9380 <span class="entry_type_visibility"> [public]</span>
9381
9382 <ul class="entry_type_enum">
9383 <li>
9384 <span class="entry_type_enum_name">OFF</span>
9385 </li>
9386 <li>
9387 <span class="entry_type_enum_name">ON</span>
9388 </li>
9389 </ul>
9390
9391 </td> <!-- entry_type -->
9392
9393 <td class="entry_description">
9394 Whether the HAL needs to output the lens
9395 shading map in output result metadata
9396 </td>
9397
9398 <td class="entry_units">
9399 </td>
9400
9401 <td class="entry_range">
9402 </td>
9403
9404 <td class="entry_notes">
9405 When set to ON,<wbr>
9406 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9407 the output result metdata.<wbr>
9408 </td>
9409
9410 <td class="entry_tags">
9411 </td>
9412
9413 </tr> <!-- end of entry -->
9414
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009415
9416
9417 <!-- end of kind -->
9418 </tbody>
9419 <tr><td colspan="7" class="kind">static</td></tr>
9420
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009421 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009422 <tr>
9423 <th class="th_name">Property Name</th>
9424 <th class="th_type">Type</th>
9425 <th class="th_description">Description</th>
9426 <th class="th_units">Units</th>
9427 <th class="th_range">Range</th>
9428 <th class="th_notes">Notes</th>
9429 <th class="th_tags">Tags</th>
9430 </tr>
9431 </thead>
9432
9433 <tbody>
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9447 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9448 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009449 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009450 <span class="entry_type_container">x</span>
9451
9452 <span class="entry_type_array">
9453 n
9454 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009455 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009456 <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 -08009457
9458
9459 </td> <!-- entry_type -->
9460
9461 <td class="entry_description">
9462 Which face detection modes are available,<wbr>
9463 if any
9464 </td>
9465
9466 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009467 List of enum:
9468 OFF
9469 SIMPLE
9470 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009471 </td>
9472
9473 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009474 </td>
9475
9476 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009477 OFF means face detection is disabled,<wbr> it must
9478 be included in the list.<wbr>
9479<br>
9480<br> SIMPLE means the device supports the
9481 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9482 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9483<br>
9484<br> FULL means the device additionally supports the
9485 android.<wbr>statistics.<wbr>face<wbr>Ids and
9486 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9487
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009488 </td>
9489
9490 <td class="entry_tags">
9491 </td>
9492
9493 </tr> <!-- end of entry -->
9494
9495
9496 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9497 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9498 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009499 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009500
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009501 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009502
9503
9504 </td> <!-- entry_type -->
9505
9506 <td class="entry_description">
9507 Number of histogram buckets
9508 supported
9509 </td>
9510
9511 <td class="entry_units">
9512 </td>
9513
9514 <td class="entry_range">
9515 >= 64
9516 </td>
9517
9518 <td class="entry_notes">
9519 </td>
9520
9521 <td class="entry_tags">
9522 </td>
9523
9524 </tr> <!-- end of entry -->
9525
9526
9527 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9528 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9529 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009530 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009531
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009532 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009533
9534
9535 </td> <!-- entry_type -->
9536
9537 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009538 Maximum number of simultaneously detectable
9539 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009540 </td>
9541
9542 <td class="entry_units">
9543 </td>
9544
9545 <td class="entry_range">
9546 >= 4 if availableFaceDetectionModes lists
9547 modes besides OFF,<wbr> otherwise 0
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.maxHistogramCount">
9560 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</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 histogram
9571 bucket
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.maxSharpnessMapValue">
9590 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</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
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009594 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009595
9596
9597 </td> <!-- entry_type -->
9598
9599 <td class="entry_description">
9600 Maximum value possible for a sharpness map
9601 region.<wbr>
9602 </td>
9603
9604 <td class="entry_units">
9605 </td>
9606
9607 <td class="entry_range">
9608 </td>
9609
9610 <td class="entry_notes">
9611 </td>
9612
9613 <td class="entry_tags">
9614 </td>
9615
9616 </tr> <!-- end of entry -->
9617
9618
9619 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9620 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9621 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009622 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009623 <span class="entry_type_container">x</span>
9624
9625 <span class="entry_type_array">
9626 2
9627 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009628 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009629 <div class="entry_type_notes">width x height</div>
9630
9631
9632 </td> <!-- entry_type -->
9633
9634 <td class="entry_description">
9635 Dimensions of the sharpness
9636 map
9637 </td>
9638
9639 <td class="entry_units">
9640 </td>
9641
9642 <td class="entry_range">
9643 Must be at least 32 x 32
9644 </td>
9645
9646 <td class="entry_notes">
9647 </td>
9648
9649 <td class="entry_tags">
9650 </td>
9651
9652 </tr> <!-- end of entry -->
9653
9654
9655
9656
9657
9658
9659 <!-- end of kind -->
9660 </tbody>
9661 <tr><td colspan="7" class="kind">dynamic</td></tr>
9662
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009663 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009664 <tr>
9665 <th class="th_name">Property Name</th>
9666 <th class="th_type">Type</th>
9667 <th class="th_description">Description</th>
9668 <th class="th_units">Units</th>
9669 <th class="th_range">Range</th>
9670 <th class="th_notes">Notes</th>
9671 <th class="th_tags">Tags</th>
9672 </tr>
9673 </thead>
9674
9675 <tbody>
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9687 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9688 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009689 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009690
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009692
9693 <ul class="entry_type_enum">
9694 <li>
9695 <span class="entry_type_enum_name">OFF</span>
9696 </li>
9697 <li>
9698 <span class="entry_type_enum_name">SIMPLE</span>
9699 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9700 only</span>
9701 </li>
9702 <li>
9703 <span class="entry_type_enum_name">FULL</span>
9704 <span class="entry_type_enum_notes">Optional Return all face
9705 metadata</span>
9706 </li>
9707 </ul>
9708
9709 </td> <!-- entry_type -->
9710
9711 <td class="entry_description">
9712 State of the face detector
9713 unit
9714 </td>
9715
9716 <td class="entry_units">
9717 </td>
9718
9719 <td class="entry_range">
9720
Zhijun He69fc0ea2013-07-17 09:42:58 -07009721 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009722 </td>
9723
9724 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009725 Whether face detection is enabled,<wbr> and whether it
9726 should output just the basic fields or the full set of
9727 fields.<wbr> Value must be one of the
9728 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009729 </td>
9730
9731 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009732 <ul class="entry_tags">
9733 <li><a href="#tag_BC">BC</a></li>
9734 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009735 </td>
9736
9737 </tr> <!-- end of entry -->
9738
9739
9740 <tr class="entry" id="dynamic_android.statistics.faceIds">
9741 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9742 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009743 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009744 <span class="entry_type_container">x</span>
9745
9746 <span class="entry_type_array">
9747 n
9748 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009749 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009750
9751
9752 </td> <!-- entry_type -->
9753
9754 <td class="entry_description">
9755 List of unique IDs for detected
9756 faces
9757 </td>
9758
9759 <td class="entry_units">
9760 </td>
9761
9762 <td class="entry_range">
9763 </td>
9764
9765 <td class="entry_notes">
9766 Only available if faceDetectMode == FULL
9767 </td>
9768
9769 <td class="entry_tags">
9770 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009771 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009772 </ul>
9773 </td>
9774
9775 </tr> <!-- end of entry -->
9776
9777
9778 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9779 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9780 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009781 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009782 <span class="entry_type_container">x</span>
9783
9784 <span class="entry_type_array">
9785 n x 6
9786 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009787 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009788 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9789
9790
9791 </td> <!-- entry_type -->
9792
9793 <td class="entry_description">
9794 List of landmarks for detected
9795 faces
9796 </td>
9797
9798 <td class="entry_units">
9799 </td>
9800
9801 <td class="entry_range">
9802 </td>
9803
9804 <td class="entry_notes">
9805 Only available if faceDetectMode == FULL
9806 </td>
9807
9808 <td class="entry_tags">
9809 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009810 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009811 </ul>
9812 </td>
9813
9814 </tr> <!-- end of entry -->
9815
9816
9817 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9818 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009820 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009821 <span class="entry_type_container">x</span>
9822
9823 <span class="entry_type_array">
9824 n x 4
9825 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009826 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009827 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9828
9829
9830 </td> <!-- entry_type -->
9831
9832 <td class="entry_description">
9833 List of the bounding rectangles for detected
9834 faces
9835 </td>
9836
9837 <td class="entry_units">
9838 </td>
9839
9840 <td class="entry_range">
9841 </td>
9842
9843 <td class="entry_notes">
9844 Only available if faceDetectMode != OFF
9845 </td>
9846
9847 <td class="entry_tags">
9848 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009849 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009850 </ul>
9851 </td>
9852
9853 </tr> <!-- end of entry -->
9854
9855
9856 <tr class="entry" id="dynamic_android.statistics.faceScores">
9857 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9858 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009859 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860 <span class="entry_type_container">x</span>
9861
9862 <span class="entry_type_array">
9863 n
9864 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009865 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009866
9867
9868 </td> <!-- entry_type -->
9869
9870 <td class="entry_description">
9871 List of the face confidence scores for
9872 detected faces
9873 </td>
9874
9875 <td class="entry_units">
9876 </td>
9877
9878 <td class="entry_range">
9879 0-100
9880 </td>
9881
9882 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009883 Only available if faceDetectMode != OFF.<wbr> The value should be
9884 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009885 </td>
9886
9887 <td class="entry_tags">
9888 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009889 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890 </ul>
9891 </td>
9892
9893 </tr> <!-- end of entry -->
9894
9895
9896 <tr class="entry" id="dynamic_android.statistics.histogram">
9897 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009900 <span class="entry_type_container">x</span>
9901
9902 <span class="entry_type_array">
9903 n x 3
9904 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009905 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009906 <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>
9907
9908
9909 </td> <!-- entry_type -->
9910
9911 <td class="entry_description">
9912 A 3-channel histogram based on the raw
9913 sensor data
9914 </td>
9915
9916 <td class="entry_units">
9917 </td>
9918
9919 <td class="entry_range">
9920 </td>
9921
9922 <td class="entry_notes">
9923 The k'th bucket (0-based) covers the input range
9924 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9925 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9926 supported,<wbr> all channels should have the same data
9927 </td>
9928
9929 <td class="entry_tags">
9930 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009931 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009932 </ul>
9933 </td>
9934
9935 </tr> <!-- end of entry -->
9936
9937
9938 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9939 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9940 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009941 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009942
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009943 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009944
9945 <ul class="entry_type_enum">
9946 <li>
9947 <span class="entry_type_enum_name">OFF</span>
9948 </li>
9949 <li>
9950 <span class="entry_type_enum_name">ON</span>
9951 </li>
9952 </ul>
9953
9954 </td> <!-- entry_type -->
9955
9956 <td class="entry_description">
9957 Operating mode for histogram
9958 generation
9959 </td>
9960
9961 <td class="entry_units">
9962 </td>
9963
9964 <td class="entry_range">
9965 </td>
9966
9967 <td class="entry_notes">
9968 </td>
9969
9970 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009971 <ul class="entry_tags">
9972 <li><a href="#tag_V1">V1</a></li>
9973 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009974 </td>
9975
9976 </tr> <!-- end of entry -->
9977
9978
9979 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9980 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9981 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009982 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009983 <span class="entry_type_container">x</span>
9984
9985 <span class="entry_type_array">
9986 n x m x 3
9987 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009988 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009989 <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>
9990
9991
9992 </td> <!-- entry_type -->
9993
9994 <td class="entry_description">
9995 A 3-channel sharpness map,<wbr> based on the raw
9996 sensor data
9997 </td>
9998
9999 <td class="entry_units">
10000 </td>
10001
10002 <td class="entry_range">
10003 </td>
10004
10005 <td class="entry_notes">
10006 If only a monochrome sharpness map is supported,<wbr>
10007 all channels should have the same data
10008 </td>
10009
10010 <td class="entry_tags">
10011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010012 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010013 </ul>
10014 </td>
10015
10016 </tr> <!-- end of entry -->
10017
10018
10019 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10020 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010022 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010023
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010024 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010025
10026 <ul class="entry_type_enum">
10027 <li>
10028 <span class="entry_type_enum_name">OFF</span>
10029 </li>
10030 <li>
10031 <span class="entry_type_enum_name">ON</span>
10032 </li>
10033 </ul>
10034
10035 </td> <!-- entry_type -->
10036
10037 <td class="entry_description">
10038 Operating mode for sharpness map
10039 generation
10040 </td>
10041
10042 <td class="entry_units">
10043 </td>
10044
10045 <td class="entry_range">
10046 </td>
10047
10048 <td class="entry_notes">
10049 </td>
10050
10051 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010052 <ul class="entry_tags">
10053 <li><a href="#tag_V1">V1</a></li>
10054 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010055 </td>
10056
10057 </tr> <!-- end of entry -->
10058
Zhijun He69fc0ea2013-07-17 09:42:58 -070010059
10060 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10061 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10062 <td class="entry_type">
10063 <span class="entry_type_name">float</span>
10064 <span class="entry_type_container">x</span>
10065
10066 <span class="entry_type_array">
10067 4 x n x m
10068 </span>
10069 <span class="entry_type_visibility"> [public]</span>
10070 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10071
10072
10073 </td> <!-- entry_type -->
10074
10075 <td class="entry_description">
10076 A low-resolution map of lens shading,<wbr> per
10077 color channel
10078 </td>
10079
10080 <td class="entry_units">
10081 </td>
10082
10083 <td class="entry_range">
10084 Each gain factor is >= 1
10085 </td>
10086
10087 <td class="entry_notes">
10088 Assume bilinear interpolation of map.<wbr> The least
10089 shaded section of the image should have a gain factor
10090 of 1; all other sections should have gains above 1.<wbr>
10091 the map should be on the order of 30-40 rows,<wbr> and
10092 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010093<br>
10094<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10095 must take into account the colorCorrection settings.<wbr>
10096
Zhijun He69fc0ea2013-07-17 09:42:58 -070010097 </td>
10098
10099 <td class="entry_tags">
10100 </td>
10101
10102 </tr> <!-- end of entry -->
10103
10104
10105 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10106 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10107 <td class="entry_type">
10108 <span class="entry_type_name">float</span>
10109 <span class="entry_type_container">x</span>
10110
10111 <span class="entry_type_array">
10112 4
10113 </span>
10114 <span class="entry_type_visibility"> [public]</span>
10115 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10116
10117
10118 </td> <!-- entry_type -->
10119
10120 <td class="entry_description">
10121 The best-fit color channel gains calculated
10122 by the HAL's statistics units for the current output frame
10123
10124 </td>
10125
10126 <td class="entry_units">
10127 </td>
10128
10129 <td class="entry_range">
10130 </td>
10131
10132 <td class="entry_notes">
10133
10134 This may be different than the gains used for this frame,<wbr>
10135 since statistics processing on data from a new frame
10136 typically completes after the transform has already been
10137 applied to that frame.<wbr>
10138<br>
10139<br> The 4 channel gains are defined in Bayer domain,<wbr>
10140 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010141<br>
10142<br> This value should always be calculated by the AWB block,<wbr>
10143 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10144
Zhijun He69fc0ea2013-07-17 09:42:58 -070010145 </td>
10146
10147 <td class="entry_tags">
10148 </td>
10149
10150 </tr> <!-- end of entry -->
10151
10152
10153 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10154 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10155 <td class="entry_type">
10156 <span class="entry_type_name">rational</span>
10157 <span class="entry_type_container">x</span>
10158
10159 <span class="entry_type_array">
10160 3 x 3
10161 </span>
10162 <span class="entry_type_visibility"> [public]</span>
10163 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10164
10165
10166 </td> <!-- entry_type -->
10167
10168 <td class="entry_description">
10169 The best-fit color transform matrix estimate
10170 calculated by the HAL's statistics units for the current
10171 output frame
10172 </td>
10173
10174 <td class="entry_units">
10175 </td>
10176
10177 <td class="entry_range">
10178 </td>
10179
10180 <td class="entry_notes">
10181 The HAL must provide the estimate from its
10182 statistics unit on the white balance transforms to use
10183 for the next frame.<wbr> These are the values the HAL believes
10184 are the best fit for the current output frame.<wbr> This may
10185 be different than the transform used for this frame,<wbr> since
10186 statistics processing on data from a new frame typically
10187 completes after the transform has already been applied to
10188 that frame.<wbr>
10189<br>
10190<br> These estimates must be provided for all frames,<wbr> even if
10191 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010192<br>
10193<br> This value should always be calculated by the AWB block,<wbr>
10194 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010195
10196 </td>
10197
10198 <td class="entry_tags">
10199 </td>
10200
10201 </tr> <!-- end of entry -->
10202
10203
10204 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10205 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10206 <td class="entry_type">
10207 <span class="entry_type_name entry_type_name_enum">byte</span>
10208
10209 <span class="entry_type_visibility"> [public]</span>
10210
10211 <ul class="entry_type_enum">
10212 <li>
10213 <span class="entry_type_enum_name">NONE</span>
10214 </li>
10215 <li>
10216 <span class="entry_type_enum_name">50HZ</span>
10217 </li>
10218 <li>
10219 <span class="entry_type_enum_name">60HZ</span>
10220 </li>
10221 </ul>
10222
10223 </td> <!-- entry_type -->
10224
10225 <td class="entry_description">
10226 The HAL estimated scene illumination lighting
10227 frequency
10228 </td>
10229
10230 <td class="entry_units">
10231 </td>
10232
10233 <td class="entry_range">
10234 </td>
10235
10236 <td class="entry_notes">
10237 Report NONE if there doesn't appear to be flickering
10238 illumination
10239 </td>
10240
10241 <td class="entry_tags">
10242 </td>
10243
10244 </tr> <!-- end of entry -->
10245
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010246
10247
10248 <!-- end of kind -->
10249 </tbody>
10250
10251 <!-- end of section -->
10252 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10253
10254
10255 <tr><td colspan="7" class="kind">controls</td></tr>
10256
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010257 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010258 <tr>
10259 <th class="th_name">Property Name</th>
10260 <th class="th_type">Type</th>
10261 <th class="th_description">Description</th>
10262 <th class="th_units">Units</th>
10263 <th class="th_range">Range</th>
10264 <th class="th_notes">Notes</th>
10265 <th class="th_tags">Tags</th>
10266 </tr>
10267 </thead>
10268
10269 <tbody>
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280 <tr class="entry" id="controls_android.tonemap.curveBlue">
10281 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10282 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010283 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010284 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010285
Zhijun He704d1282013-08-19 15:26:33 -070010286 <span class="entry_type_array">
10287 n x 2
10288 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010289 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010290 <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 -080010291
10292
10293 </td> <!-- entry_type -->
10294
10295 <td class="entry_description">
10296 Table mapping blue input values to output
10297 values
10298 </td>
10299
10300 <td class="entry_units">
10301 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10302 </td>
10303
10304 <td class="entry_range">
10305 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10306 </td>
10307
10308 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010309 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10310 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10311<br>
10312<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010313 </td>
10314
10315 <td class="entry_tags">
10316 </td>
10317
10318 </tr> <!-- end of entry -->
10319
10320
10321 <tr class="entry" id="controls_android.tonemap.curveGreen">
10322 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10323 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010324 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010325 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010326
Zhijun He704d1282013-08-19 15:26:33 -070010327 <span class="entry_type_array">
10328 n x 2
10329 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010330 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010331 <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 -080010332
10333
10334 </td> <!-- entry_type -->
10335
10336 <td class="entry_description">
10337 Table mapping green input values to output
10338 values
10339 </td>
10340
10341 <td class="entry_units">
10342 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10343 </td>
10344
10345 <td class="entry_range">
10346 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10347 </td>
10348
10349 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010350 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10351 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10352<br>
10353<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010354 </td>
10355
10356 <td class="entry_tags">
10357 </td>
10358
10359 </tr> <!-- end of entry -->
10360
10361
10362 <tr class="entry" id="controls_android.tonemap.curveRed">
10363 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10364 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010365 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010366 <span class="entry_type_container">x</span>
10367
10368 <span class="entry_type_array">
10369 n x 2
10370 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010371 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010372 <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 -080010373
10374
10375 </td> <!-- entry_type -->
10376
10377 <td class="entry_description">
10378 Table mapping red input values to output
10379 values
10380 </td>
10381
10382 <td class="entry_units">
10383 </td>
10384
10385 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010386 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010387 </td>
10388
10389 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010390 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10391 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10392<br>
10393<br> Since the input and output ranges may vary depending on
10394 the camera pipeline,<wbr> the input and output pixel values
10395 are represented by normalized floating-point values
10396 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10397<br>
10398<br> The curve should be linearly interpolated between the
10399 defined points.<wbr> The points will be listed in increasing
10400 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 -080010401 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10402 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10403 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10404 </td>
10405
10406 <td class="entry_tags">
10407 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010408 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010409 </ul>
10410 </td>
10411
10412 </tr> <!-- end of entry -->
10413
10414
10415 <tr class="entry" id="controls_android.tonemap.mode">
10416 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010418 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010419
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010420 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010421
10422 <ul class="entry_type_enum">
10423 <li>
10424 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10425 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10426 android.<wbr>tonemap.<wbr>curve</span>
10427 </li>
10428 <li>
10429 <span class="entry_type_enum_name">FAST</span>
10430 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10431 bayer output</span>
10432 </li>
10433 <li>
10434 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10435 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10436 quality</span>
10437 </li>
10438 </ul>
10439
10440 </td> <!-- entry_type -->
10441
10442 <td class="entry_description">
10443 </td>
10444
10445 <td class="entry_units">
10446 </td>
10447
10448 <td class="entry_range">
10449 </td>
10450
10451 <td class="entry_notes">
10452 </td>
10453
10454 <td class="entry_tags">
10455 </td>
10456
10457 </tr> <!-- end of entry -->
10458
10459
10460
10461 <!-- end of kind -->
10462 </tbody>
10463 <tr><td colspan="7" class="kind">static</td></tr>
10464
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010465 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010466 <tr>
10467 <th class="th_name">Property Name</th>
10468 <th class="th_type">Type</th>
10469 <th class="th_description">Description</th>
10470 <th class="th_units">Units</th>
10471 <th class="th_range">Range</th>
10472 <th class="th_notes">Notes</th>
10473 <th class="th_tags">Tags</th>
10474 </tr>
10475 </thead>
10476
10477 <tbody>
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10489 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10490 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010491 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010492
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010493 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010494
10495
10496 </td> <!-- entry_type -->
10497
10498 <td class="entry_description">
10499 Maximum number of supported points in the
10500 tonemap curve
10501 </td>
10502
10503 <td class="entry_units">
10504 </td>
10505
10506 <td class="entry_range">
10507 >= 128
10508 </td>
10509
10510 <td class="entry_notes">
10511 </td>
10512
10513 <td class="entry_tags">
10514 </td>
10515
10516 </tr> <!-- end of entry -->
10517
10518
10519
10520 <!-- end of kind -->
10521 </tbody>
10522 <tr><td colspan="7" class="kind">dynamic</td></tr>
10523
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010524 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010525 <tr>
10526 <th class="th_name">Property Name</th>
10527 <th class="th_type">Type</th>
10528 <th class="th_description">Description</th>
10529 <th class="th_units">Units</th>
10530 <th class="th_range">Range</th>
10531 <th class="th_notes">Notes</th>
10532 <th class="th_tags">Tags</th>
10533 </tr>
10534 </thead>
10535
10536 <tbody>
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10548 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10549 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010550 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010551 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010552
Zhijun He704d1282013-08-19 15:26:33 -070010553 <span class="entry_type_array">
10554 n x 2
10555 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010556 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010557 <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 -080010558
10559
10560 </td> <!-- entry_type -->
10561
10562 <td class="entry_description">
10563 Table mapping blue input values to output
10564 values
10565 </td>
10566
10567 <td class="entry_units">
10568 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10569 </td>
10570
10571 <td class="entry_range">
10572 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10573 </td>
10574
10575 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010576 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10577 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10578<br>
10579<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010580 </td>
10581
10582 <td class="entry_tags">
10583 </td>
10584
10585 </tr> <!-- end of entry -->
10586
10587
10588 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10589 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10590 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010591 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010592 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010593
Zhijun He704d1282013-08-19 15:26:33 -070010594 <span class="entry_type_array">
10595 n x 2
10596 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010597 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010598 <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 -080010599
10600
10601 </td> <!-- entry_type -->
10602
10603 <td class="entry_description">
10604 Table mapping green input values to output
10605 values
10606 </td>
10607
10608 <td class="entry_units">
10609 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10610 </td>
10611
10612 <td class="entry_range">
10613 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10614 </td>
10615
10616 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010617 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10618 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10619<br>
10620<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010621 </td>
10622
10623 <td class="entry_tags">
10624 </td>
10625
10626 </tr> <!-- end of entry -->
10627
10628
10629 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10630 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10631 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010632 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010633 <span class="entry_type_container">x</span>
10634
10635 <span class="entry_type_array">
10636 n x 2
10637 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010638 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010639 <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 -080010640
10641
10642 </td> <!-- entry_type -->
10643
10644 <td class="entry_description">
10645 Table mapping red input values to output
10646 values
10647 </td>
10648
10649 <td class="entry_units">
10650 </td>
10651
10652 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010653 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010654 </td>
10655
10656 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010657 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10658 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10659<br>
10660<br> Since the input and output ranges may vary depending on
10661 the camera pipeline,<wbr> the input and output pixel values
10662 are represented by normalized floating-point values
10663 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10664<br>
10665<br> The curve should be linearly interpolated between the
10666 defined points.<wbr> The points will be listed in increasing
10667 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 -080010668 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10669 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10670 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10671 </td>
10672
10673 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010674 <ul class="entry_tags">
10675 <li><a href="#tag_DNG">DNG</a></li>
10676 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010677 </td>
10678
10679 </tr> <!-- end of entry -->
10680
10681
10682 <tr class="entry" id="dynamic_android.tonemap.mode">
10683 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010685 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010686
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010687 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010688
10689 <ul class="entry_type_enum">
10690 <li>
10691 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10692 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10693 android.<wbr>tonemap.<wbr>curve</span>
10694 </li>
10695 <li>
10696 <span class="entry_type_enum_name">FAST</span>
10697 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10698 bayer output</span>
10699 </li>
10700 <li>
10701 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10702 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10703 quality</span>
10704 </li>
10705 </ul>
10706
10707 </td> <!-- entry_type -->
10708
10709 <td class="entry_description">
10710 </td>
10711
10712 <td class="entry_units">
10713 </td>
10714
10715 <td class="entry_range">
10716 </td>
10717
10718 <td class="entry_notes">
10719 </td>
10720
10721 <td class="entry_tags">
10722 </td>
10723
10724 </tr> <!-- end of entry -->
10725
10726
10727
10728 <!-- end of kind -->
10729 </tbody>
10730
10731 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010732 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10733
10734
10735 <tr><td colspan="7" class="kind">controls</td></tr>
10736
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010737 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010738 <tr>
10739 <th class="th_name">Property Name</th>
10740 <th class="th_type">Type</th>
10741 <th class="th_description">Description</th>
10742 <th class="th_units">Units</th>
10743 <th class="th_range">Range</th>
10744 <th class="th_notes">Notes</th>
10745 <th class="th_tags">Tags</th>
10746 </tr>
10747 </thead>
10748
10749 <tbody>
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760 <tr class="entry" id="controls_android.led.transmit">
10761 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10762 <td class="entry_type">
10763 <span class="entry_type_name entry_type_name_enum">byte</span>
10764
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010765 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010766
10767 <ul class="entry_type_enum">
10768 <li>
10769 <span class="entry_type_enum_name">OFF</span>
10770 </li>
10771 <li>
10772 <span class="entry_type_enum_name">ON</span>
10773 </li>
10774 </ul>
10775
10776 </td> <!-- entry_type -->
10777
10778 <td class="entry_description">
10779 This LED is nominally used to indicate to the user
10780 that the camera is powered on and may be streaming images back to the
10781 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10782 disable this when video is processed locally and not transmitted to
10783 any untrusted applications.<wbr>
10784<br>
10785<br> In particular,<wbr> the LED *must* always be on when the data could be
10786 transmitted off the device.<wbr> The LED *should* always be on whenever
10787 data is stored locally on the device.<wbr>
10788<br>
10789<br> The LED *may* be off if a trusted application is using the data that
10790 doesn't violate the above rules.<wbr>
10791
10792 </td>
10793
10794 <td class="entry_units">
10795 </td>
10796
10797 <td class="entry_range">
10798 </td>
10799
10800 <td class="entry_notes">
10801 </td>
10802
10803 <td class="entry_tags">
10804 </td>
10805
10806 </tr> <!-- end of entry -->
10807
10808
10809
10810 <!-- end of kind -->
10811 </tbody>
10812 <tr><td colspan="7" class="kind">dynamic</td></tr>
10813
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010814 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010815 <tr>
10816 <th class="th_name">Property Name</th>
10817 <th class="th_type">Type</th>
10818 <th class="th_description">Description</th>
10819 <th class="th_units">Units</th>
10820 <th class="th_range">Range</th>
10821 <th class="th_notes">Notes</th>
10822 <th class="th_tags">Tags</th>
10823 </tr>
10824 </thead>
10825
10826 <tbody>
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837 <tr class="entry" id="dynamic_android.led.transmit">
10838 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10839 <td class="entry_type">
10840 <span class="entry_type_name entry_type_name_enum">byte</span>
10841
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010842 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010843
10844 <ul class="entry_type_enum">
10845 <li>
10846 <span class="entry_type_enum_name">OFF</span>
10847 </li>
10848 <li>
10849 <span class="entry_type_enum_name">ON</span>
10850 </li>
10851 </ul>
10852
10853 </td> <!-- entry_type -->
10854
10855 <td class="entry_description">
10856 This LED is nominally used to indicate to the user
10857 that the camera is powered on and may be streaming images back to the
10858 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10859 disable this when video is processed locally and not transmitted to
10860 any untrusted applications.<wbr>
10861<br>
10862<br> In particular,<wbr> the LED *must* always be on when the data could be
10863 transmitted off the device.<wbr> The LED *should* always be on whenever
10864 data is stored locally on the device.<wbr>
10865<br>
10866<br> The LED *may* be off if a trusted application is using the data that
10867 doesn't violate the above rules.<wbr>
10868
10869 </td>
10870
10871 <td class="entry_units">
10872 </td>
10873
10874 <td class="entry_range">
10875 </td>
10876
10877 <td class="entry_notes">
10878 </td>
10879
10880 <td class="entry_tags">
10881 </td>
10882
10883 </tr> <!-- end of entry -->
10884
10885
10886
10887 <!-- end of kind -->
10888 </tbody>
10889 <tr><td colspan="7" class="kind">static</td></tr>
10890
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010891 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010892 <tr>
10893 <th class="th_name">Property Name</th>
10894 <th class="th_type">Type</th>
10895 <th class="th_description">Description</th>
10896 <th class="th_units">Units</th>
10897 <th class="th_range">Range</th>
10898 <th class="th_notes">Notes</th>
10899 <th class="th_tags">Tags</th>
10900 </tr>
10901 </thead>
10902
10903 <tbody>
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914 <tr class="entry" id="static_android.led.availableLeds">
10915 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10916 <td class="entry_type">
10917 <span class="entry_type_name entry_type_name_enum">byte</span>
10918 <span class="entry_type_container">x</span>
10919
10920 <span class="entry_type_array">
10921 n
10922 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010923 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010924
10925 <ul class="entry_type_enum">
10926 <li>
10927 <span class="entry_type_enum_name">TRANSMIT</span>
10928 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10929 </li>
10930 </ul>
10931
10932 </td> <!-- entry_type -->
10933
10934 <td class="entry_description">
10935 A list of camera LEDs that are available on this system.<wbr>
10936
10937 </td>
10938
10939 <td class="entry_units">
10940 </td>
10941
10942 <td class="entry_range">
10943 </td>
10944
10945 <td class="entry_notes">
10946 </td>
10947
10948 <td class="entry_tags">
10949 </td>
10950
10951 </tr> <!-- end of entry -->
10952
10953
10954
10955 <!-- end of kind -->
10956 </tbody>
10957
10958 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010959 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10960
10961
10962 <tr><td colspan="7" class="kind">static</td></tr>
10963
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010964 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010965 <tr>
10966 <th class="th_name">Property Name</th>
10967 <th class="th_type">Type</th>
10968 <th class="th_description">Description</th>
10969 <th class="th_units">Units</th>
10970 <th class="th_range">Range</th>
10971 <th class="th_notes">Notes</th>
10972 <th class="th_tags">Tags</th>
10973 </tr>
10974 </thead>
10975
10976 <tbody>
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10988 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10989 <td class="entry_type">
10990 <span class="entry_type_name entry_type_name_enum">byte</span>
10991
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010992 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010993
10994 <ul class="entry_type_enum">
10995 <li>
10996 <span class="entry_type_enum_name">LIMITED</span>
10997 </li>
10998 <li>
10999 <span class="entry_type_enum_name">FULL</span>
11000 </li>
11001 </ul>
11002
11003 </td> <!-- entry_type -->
11004
11005 <td class="entry_description">
11006
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011007 The camera 3 HAL device can implement one of two possible
11008 operational modes; limited and full.<wbr> Full support is
11009 expected from new higher-end devices.<wbr> Limited mode has
11010 hardware requirements roughly in line with those for a
11011 camera HAL device v1 implementation,<wbr> and is expected from
11012 older or inexpensive devices.<wbr> Full is a strict superset of
11013 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011014<br>
11015<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
11016
11017 </td>
11018
11019 <td class="entry_units">
11020 </td>
11021
11022 <td class="entry_range">
11023 Optional.<wbr> Default value is LIMITED.<wbr>
11024 </td>
11025
11026 <td class="entry_notes">
11027 </td>
11028
11029 <td class="entry_tags">
11030 </td>
11031
11032 </tr> <!-- end of entry -->
11033
11034
11035
11036 <!-- end of kind -->
11037 </tbody>
11038
11039 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011040 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11041
11042
11043 <tr><td colspan="7" class="kind">controls</td></tr>
11044
11045 <thead class="entries_header">
11046 <tr>
11047 <th class="th_name">Property Name</th>
11048 <th class="th_type">Type</th>
11049 <th class="th_description">Description</th>
11050 <th class="th_units">Units</th>
11051 <th class="th_range">Range</th>
11052 <th class="th_notes">Notes</th>
11053 <th class="th_tags">Tags</th>
11054 </tr>
11055 </thead>
11056
11057 <tbody>
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068 <tr class="entry" id="controls_android.blackLevel.lock">
11069 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11070 <td class="entry_type">
11071 <span class="entry_type_name entry_type_name_enum">byte</span>
11072
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011073 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011074
11075 <ul class="entry_type_enum">
11076 <li>
11077 <span class="entry_type_enum_name">OFF</span>
11078 </li>
11079 <li>
11080 <span class="entry_type_enum_name">ON</span>
11081 </li>
11082 </ul>
11083
11084 </td> <!-- entry_type -->
11085
11086 <td class="entry_description">
11087 Whether black-level compensation is locked
11088 to its current values,<wbr> or is free to vary
11089 </td>
11090
11091 <td class="entry_units">
11092 </td>
11093
11094 <td class="entry_range">
11095 </td>
11096
11097 <td class="entry_notes">
11098 When set to ON,<wbr> the values used for black-level
11099 compensation must not change until the lock is set to
11100 OFF
11101<br>
11102<br> Since changes to certain capture parameters (such as
11103 exposure time) may require resetting of black level
11104 compensation,<wbr> the HAL must report whether setting the
11105 black level lock was successful in the output result
11106 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011107<br>
11108<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11109 If for some reason black level locking is no longer legal (for example,<wbr>
11110 the analog gain has changed,<wbr> which forces black levels to be
11111 recalculated),<wbr> then the HAL is free to override this request (and it
11112 must report 'OFF' when this does happen) until the next time locking
11113 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011114 </td>
11115
11116 <td class="entry_tags">
11117 <ul class="entry_tags">
11118 <li><a href="#tag_HAL2">HAL2</a></li>
11119 </ul>
11120 </td>
11121
11122 </tr> <!-- end of entry -->
11123
11124
11125
11126 <!-- end of kind -->
11127 </tbody>
11128 <tr><td colspan="7" class="kind">dynamic</td></tr>
11129
11130 <thead class="entries_header">
11131 <tr>
11132 <th class="th_name">Property Name</th>
11133 <th class="th_type">Type</th>
11134 <th class="th_description">Description</th>
11135 <th class="th_units">Units</th>
11136 <th class="th_range">Range</th>
11137 <th class="th_notes">Notes</th>
11138 <th class="th_tags">Tags</th>
11139 </tr>
11140 </thead>
11141
11142 <tbody>
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153 <tr class="entry" id="dynamic_android.blackLevel.lock">
11154 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11155 <td class="entry_type">
11156 <span class="entry_type_name entry_type_name_enum">byte</span>
11157
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011158 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011159
11160 <ul class="entry_type_enum">
11161 <li>
11162 <span class="entry_type_enum_name">OFF</span>
11163 </li>
11164 <li>
11165 <span class="entry_type_enum_name">ON</span>
11166 </li>
11167 </ul>
11168
11169 </td> <!-- entry_type -->
11170
11171 <td class="entry_description">
11172 Whether black-level compensation is locked
11173 to its current values,<wbr> or is free to vary
11174 </td>
11175
11176 <td class="entry_units">
11177 </td>
11178
11179 <td class="entry_range">
11180 </td>
11181
11182 <td class="entry_notes">
11183 When set to ON,<wbr> the values used for black-level
11184 compensation must not change until the lock is set to
11185 OFF
11186<br>
11187<br> Since changes to certain capture parameters (such as
11188 exposure time) may require resetting of black level
11189 compensation,<wbr> the HAL must report whether setting the
11190 black level lock was successful in the output result
11191 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011192<br>
11193<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11194 If for some reason black level locking is no longer legal (for example,<wbr>
11195 the analog gain has changed,<wbr> which forces black levels to be
11196 recalculated),<wbr> then the HAL is free to override this request (and it
11197 must report 'OFF' when this does happen) until the next time locking
11198 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011199 </td>
11200
11201 <td class="entry_tags">
11202 <ul class="entry_tags">
11203 <li><a href="#tag_HAL2">HAL2</a></li>
11204 </ul>
11205 </td>
11206
11207 </tr> <!-- end of entry -->
11208
11209
11210
11211 <!-- end of kind -->
11212 </tbody>
11213
11214 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011215<!-- </namespace> -->
11216 </table>
11217
11218 <div class="tags" id="tag_index">
11219 <h2>Tags</h2>
11220 <ul>
11221 <li id="tag_AWB">AWB -
11222 Needed for auto white balance
11223
11224 <ul class="tags_entries">
11225 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11226 </ul>
11227 </li> <!-- tag_AWB -->
11228 <li id="tag_BC">BC -
11229 Needed for backwards compatibility with old Java API
11230
11231 <ul class="tags_entries">
11232 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11233 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11234 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11235 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11236 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011237 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011238 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11239 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011240 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011241 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11242 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11243 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11244 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11245 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11246 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11247 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11248 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11249 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11250 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11251 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11252 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11253 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11254 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11255 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11256 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11257 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11258 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11259 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11260 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11261 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11262 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11263 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11264 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11265 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11266 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11267 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11268 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11269 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11270 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11271 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11272 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11273 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11274 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11275 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11276 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011277 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011278 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11279 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11280 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011281 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011282 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011283 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11284 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11285 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11286 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11287 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11288 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11289 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11290 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11291 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11292 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11293 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11294 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11295 </ul>
11296 </li> <!-- tag_BC -->
11297 <li id="tag_V1">V1 -
11298 New features for first camera 2 release (API1)
11299
11300 <ul class="tags_entries">
11301 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11302 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11303 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11304 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11305 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11306 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11307 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11308 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11309 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11310 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11311 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11312 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11313 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11314 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11315 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11316 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11317 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11318 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11319 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11320 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11321 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11322 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11323 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11324 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011325 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011326 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11327 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11328 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11329 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11330 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11331 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11332 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11333 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11334 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11335 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11336 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11337 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11338 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11339 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11340 </ul>
11341 </li> <!-- tag_V1 -->
11342 <li id="tag_ADV">ADV - None
11343 <ul class="tags_entries">
11344 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11345 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11346 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11347 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11348 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11349 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11350 </ul>
11351 </li> <!-- tag_ADV -->
11352 <li id="tag_DNG">DNG -
11353 Needed for DNG file support
11354
11355 <ul class="tags_entries">
11356 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011357 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11358 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11359 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11360 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11361 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11362 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11363 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11364 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11365 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11366 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11367 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11368 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11369 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11370 </ul>
11371 </li> <!-- tag_DNG -->
11372 <li id="tag_EXIF">EXIF - None
11373 <ul class="tags_entries">
11374 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11375 </ul>
11376 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011377 <li id="tag_HAL2">HAL2 -
11378 Tag only used by camera device HAL 2.x
11379
11380 <ul class="tags_entries">
11381 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11382 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11383 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011384 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011385 </ul>
11386 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011387 </ul>
11388 </div>
11389
11390 [ <a href="#">top</a> ]
11391
11392</body>
11393</html>